导航
导航

MySQL 5.7.12 Compile and Install

MySQL 5.7 主要特性:

  • 更好的性能:对于多核CPU、固态硬盘,有着更好的优化
  • 更好的InnoDB存储引擎
  • 更为健壮的复制功能
  • 更好的优化器
  • 原生JSON类型的支持
  • 更好的地理信息服务支持:支持GeoJSON,GeoHash特性
  • 新增sys库
    新版 mysql 5.7.12 编译、安装以及配置注意事项:

1. 编译

1
cmake -DCMAKE_INSTALL_PREFIX=/opt/mysql -DMYSQL_DATADIR=/opt/mysql-data -DSYSCONFDIR=/opt/mysql/etc -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_BOOST=boost_1_59_0 .

选项参数。datadir 的路径不要放在安装目录下,应该单独分开。否则,启动 mysqld 时,会报无法更新 pid 的错误。需要事先下载 boost 放在编译目录下。

2. 安装

备份数据库,卸载所有旧版本的 mysqld 及其依赖包。在 /opt/mysql/etc 下创建 my.cnf, 配置如下:
// my.cnf

1
2
3
4
5
6
7
8
9
10
11
[mysqld]
basedir = /opt/mysql
datadir = /opt/mysql-data
user = mysql
bind-address = 127.0.0.1
port = 3306
symbolic-links = 0
socket = /var/run/mysqld/mysqld.sock // 参考php配置,php-fpm 连接 mysqld
pid-file = /opt/mysql-data/mysql.pid
[client]
socket = /var/run/mysqld/mysqld.sock

添加环境变量

1
export $PATH:/opt/mysql/bin

初始化 db

1
mysqld --initialize --user=mysql

3. 配置

copy 自启动脚本到 /etc/init.d

1
2
cp /opt/mysql/support-files/mysql.server /etc/init.d
service mysql.server restart

4. 安全优化

运行安全优化脚本

1
mysql_secure_installation

删除匿名用户、test数据库、禁用远程登录等。

1
mysql -uroot -p

登录mysqld,修改root密码。 初始密码,在初始化 db 时,有显示,直接copy and past 即可。

1
alter user root@localhost identified by 'new passwd'

5. 还原数据库

还原数据库时,要注意,5.7以上版的mysql的user表里已经没有 password 字段,改用 authentication_string

 

支持一下
坚持原创技术分享,您的支持将鼓励我继续创作!