mysql安装:编译安装mysql-5.7.20
Mysql5.7.20
配置选项 参考官方文档
https://dev.mysql.com/doc/refman/5.7/en/source-configuration-options.html
系统环境
Centos6.9
MySQL-5.7.20
一、源码安装系统要求
1、CMake
2、make 注:系统自带rpm -qa make
3、ANSI C ++编译器
4、Boost C ++ 注意:cmake . -DWITH_BOOST=/usr/local/boost_1_59_0
5、The ncurses library
6、足够的内存
二、开始安装
1、安装依赖包
yum install -y cmake gcc gcc-c++ ncurses ncurses-devel perl
2、安装boost库
将boost_1_59_0.tar.gz下载至/root目录下
mkdir -p /usr/local/boost
tar xvf boost_1_59_0.tar.gz -C /usr/local/boost/
3、创建mysql组和用户
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
4、创建数据库使用目录
mkdir /usr/local/mysql
mkdir -p /data/mysql_data
chown -R mysql:mysql /data/mysql_data
5、编译安装
将mysql-5.7.20.tar.gz下载至/root目录下
1 tar -zxvf mysql-5.7.20.tar.gz
2 cd mysql-5.7.20
3 cmake \
4 -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
5 -DDEFAULT_CHARSET=utf8 \
6 -DENABLED_LOCAL_INFILE=1 \
7 -DEXTRA_CHARSETS=all \
8 -DDEFAULT_COLLATION=utf8_general_ci \
9 -DWITH_BOOST=/usr/local/boost/boost_1_59_0
10 make && make install
大约需要30分钟左右,根据电脑速度快慢决定
三、修改my.cnf
1 [root@test161 mysql_data]# cat /etc/my.cnf
2 [mysqld]
3 datadir=/data/mysql_data/
4 socket=/data/mysql_data/mysql.sock
5 user=mysql
6 # Disabling symbolic-links is recommended to prevent assorted security risks
7 symbolic-links=0
8
9 [mysqld_safe]
10 #log-error=/var/log/mysqld.log
11 #pid-file=/var/run/mysqld.pid
12 [mysql]
13 socket=/data/mysql_data/mysql.sock
四、使用mysqld手动初始化数据目录
从MySQL 5.7.6开始, 不建议使用mysql_install_db
方法:
1、
shell> bin/mysqld --initialize --user=mysql
# 使用--initialize默认安全安装(即包括生成随机初始的root密码)
2、
shell> bin/mysqld --initialize-insecure --user=mysql
# 使用--initialize-insecure选项。不会生成root生成密码
注:--user=mysql 确保数据库目录和文件由mysql登录帐户拥有,以便服务器运行时具有读取和写入权限。
[root@test161 mysql]# bin/mysqld --initialize-insecure --user=mysql
五、启动服务器
[root@test161 mysql]# bin/mysqld_safe --user=mysql &
六、设置开机启动
[root@test161 mysql]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
[root@test161 mysql]# service mysqld start
[root@test161 mysql]# chkconfig mysqld on
七、登陆MySQL,设置密码
[root@test161 mysql]# bin/mysql
mysql> set password for 'root'@'localhost'=password('newpasswd');
八、设置环境变量
[root@test161 mysql]# echo "export PATH=/usr/local/mysql/bin:$PATH">>/etc/profile
[root@test161 mysql]# source /etc/profile
安装过程出现的错误
1、cmake错误
CMake Error: The source directory "/root/mysql-5.7.20/ " does not exist.Specify --help for usage, or press the help button on the CMake GUI.
问题分析:
坑了我好惨,可能是复制代码时\后面多出空格引起的错误,先在文本里面写成一行,在加\回车,复制过去执行。
2、启动MySQL报错
[root@test161 mysql_data]# service mysqld start
Starting MySQL. ERROR! The server quit without updating PID file (/data/mysql_data/test161.pid).
问题:服务器时间不对造成,同步时间后启动正常
[root@test161 mysql_data]# ntpdate cn.ntp.org.cn
1 Mar 18:13:20 ntpdate[7909]: step time server 182.92.12.11 offset -786407008.194336 sec

浙公网安备 33010602011771号