1. 安装mysql 5.7.20
由于 一些源码中 用到的 索引长度超过1000,所以需要升级mysql到5.5 及以上,在5.7.7 之后的版本是默认支持3072 长度的索引,本次升级到5.7.20。
1.1 安装
(1) 卸载默认安装的
# yum remove mysql mysql*
(2) 获取yum源
# rpm -Uvh https://dev.mysql.com/get/mysql57-community-release-el6-11.noarch.rpm
(3) 安装
# yum install mysql-community-server
(4) 重启 MySQL
# server mysqld start
(5) 安装mysql-devel
# rpm -Uvh http://repo.mysql.com/yum/mysql-5.7-community/el/6/x86_64/mysql-community-devel-5.7.20-1.el6.x86_64.rpm
没有执行第五步则 会导致今后编译mysql代码时没有mysql.h 和mysql的相关库
1.2 登录报错 (参考其他人的经验)
(1) 在/etc/my.conf 增加 skip-grant-tables.
(2) # service mysqld restart
(3) # mysql
(4) >use mysql;
(5) >update user set authentication_string=password('#@2weT85E4.com') where user='root';
要设置复杂密码,否则后面还是需要再重新设置; 这里 authentication_string 是保存密码的列,若以
若以前机器上安装过老版本的 mysql 则列名为 password
(6) >flush privileges;
(7) 退出mysql 删除/etc/my.conf 中的skip-qrant-tables
(8) # service mysqld restart
(9) # mysql -uroot -p#@2weT85E4.com 尝试登录看是否成功
(10) 若登录后,进行 show databases;等相关操作提示密码设置问题则用命令设置
>alter user 'root'@'localhost' identified by '复杂的密码';
1.3 问题
(1) Centos6.9 安装高版本mysql57-community-release-el7-11会出错,若安装了mysql57-community-release-el7-11出错再尝试按mysql57-community-release-el6-11一定要记得 yum clean all,不然yum还是一直尝试安装 el7mysql57-community-release-el7-11;
(2) 启动数据库时 报错 MySQL Daemon failed to start.日志打印 /var/log/mysqld.log为 InnoDB: The Auto-extending innodb_system data file './ibdata1' is of a different size 640;
解决办法 rm -rf /var/lib/mysql/ib*
(3) 源码编译出错mysql/mysql.h:没有那个文件或目录;原因是没有执行安装过程的第5步;
(4) 在MySQL 5.7.20后没有了 lmysqlclient_r库,而是lmysqlclient,所以引用到的相关库都需要更改过来;