使用cmake源码编译安装MySQL

下面是CentOS使用CMake安装MySQL的标准步骤,MySQL的安装配置也适合生产环境(不包括my.cnf的配置与优化),推荐大家使用。

MySQL版本:5.5

1、需要安装的工具

1)gcc、make、cmake

2)mysql依赖包支持语法分析的bison库和终端类GUI支持ncurses

yum install bison* -y

yum install ncurses* -y

2、cmake编译与安装

仔细查看下面编译过程中缺少必要的依赖包,按需安装。

重新配置的时候,需要删除CMakeCache.txt 文件,rm -f CMakeCache.txt

1)CMake编译配置选项:

CFLAGS="-O3" CXX=gcc
CXXFLAGS="-O3 -felide-constructors -fno-exceptions -fno-rtti"
cmake . -LH|more //CMake下查看MySQL的编译配置
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql   -DDEFAULT_CHARSET=utf8   -DDEFAULT_COLLATION=utf8_general_ci

设置MySQL的安装路径默认字符集以及默认字符校对,默认字符集的选择很重要,确保不出现乱码。如果有中文,最好使用utf8。

make -j 8   #加快编译速度,使用多核并行编译,即8为计算的核的个数
make install

3、配置

安装完成以后,需要进行如下配置。
新建mysql用户

useradd mysql
vim /etc/passwd

把mysql:x:500:500::/home/mysql:/bin/bash修改为:mysql:x:500:500::/home/mysql:/sbin/nologin

#复制配置文件my.cnf,以及做出相应的修改和优化

cp support-files/my-medium.cnf /etc/my.cnf

4、初始化数据库

cd /usr/local/mysql
scripts/mysql_install_db --user=mysql (最好在完成修改my.cnf修改后进行此步骤,特别是修改了默认文件中的一些文件路径)

修改mysql目录访问权限,这一步非常重要。比如你修改了InnoDB日志的存放路径,一定要设置该路径允许mysql访问。

chown -R root .
chgrp -R mysql .
chown -R mysql:mysql data/

启动mysqld,仔细查看是否有错误提示,也可以直接查看数据目录里面的错误日志(默认目录是上面的data/)

#bin/mysqld_safe --user=mysql &;

5、添加mysqld启动脚本

复制System V控制脚本到/etc/init.d/目录下,增加执行权限。

cp -rf support-files/mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld

要点
1、执行mysql_install_db时,指定mysql根目录–basdir和数据目录–datadir

./scripts/mysql_install_db  --basedir=/usr/local/mysql5.5  --datadir=/usr/local/mysql5.5/var --user=mysql

2、指定mysqld启动时读取指定配置文件my.cnf和使用指定端口port

./bin/mysqld_safe  --defaults-file=/etc/my_9306.cnf  --port=9306  --user=mysql &;

如果不想每次都这么麻烦的设定这些选项,可以修改mysqld脚本,查找到mysqld_safe启动的代码,添加–defaults-file和–port选项。

$bindir/mysqld_safe  --defaults-file=/etc/my_9306.cnf  --port=9306 --datadir="$datadir" --pid-file="$mysqld_pid_file_path" $other_args >/dev/null 2>&1 & wait_for_pid created "$!" "$mysqld_pid_file_path"; return_value=$?
此条目发表在mysql分类目录。将固定链接加入收藏夹。

使用cmake源码编译安装MySQL》有 3 条评论

  1. 韦婷玉说:

    写的很仔细啊 有时间拜读一下

  2. 张无忌说:

    查了那么多,只有你的这篇文章写的最好,而且我一次安装就成功了!谢谢!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>