基于CentOS7的MySQL5.6版本的源码编译安装
准备:mysql-5.6.22.tar.gz
1 准备环境
# yum remove -y mariadb-libs# yum install -y cmake# yum install gcc gcc-c++ -y
2 创建mysql用户
# useradd -s /sbin/nologin -M -r mysql
3 创建数据目录并授权
# mkdir -p /data/mysql# chown mysql.mysql /data/mysql/ -R
4 解压,预编译
# tar xvf mysql-5.6.22.tar.gz# cd mysql-5.6.22# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql5.6 \\-DMYSQL_DATADIR=/data/mysql \\-DDEFAULT_CHARSET=utf8 \\-DDEFAULT_COLLATION=utf8_general_ci \\-DENABLED_LOCAL_INFILE=1
这一步有可能报错:
Curses library not found. Please install appropriate package,
remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel.
解决:(其实可以在准备环境时就预先安装)
yum -y install ncurses-develrm -rf CMakeCache.txt
5 编译,安装
# make && make install
6 初始化
# /usr/local/mysql/scripts/mysql_install_db --user=mysql --datadir=/data/mysql --basedir=/usr/local/mysql
有可能报错:
FATAL ERROR: please install the following Perl modules before executing ./scripts/mysql_install_db:
Data::Dumper
解决:
yum -y install autoconf
(这其实也可以在环境准备阶段安装)
7 创建配置文件并启动服务
# cd /usr/local/mysql/# cp support-files/my-default.cnf /etc/my.cnf# ./bin/mysqld_safe &
mysql5.6 不需要用mysqladmin进行数据库的初始密码设置,默认是没有密码的
直接 /usr/local/mysql5.7/bin/mysql -uroot 就可以进入数据库。
8 关闭服务:
# /usr/local/mysql/bin/mysqladmin shutdown
9 创建快捷方式启停服务器
/usr/local/mysql5.7/support-files/ 有一个MySQL自带的脚本 mysql.server
将这个脚本复制到/etc/init.d/下: cp mysql.server /etc/init.d/mysqld之后就可以用:/etc/init.d/mysqld stop
/etc/init.d/mysqld start 来控制数据库服务的启停
以上就是MySQL源码编译安装的过程,可能会报很多错误,需要帮助可以留言哦。