下面是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=$?