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

 

 


 

 

posted @ 2017-11-27 17:31  Gringer  阅读(216)  评论(0)    收藏  举报