mysql5.7版本出来后还是有大量的修改以及一些调优,修复一些bug,删掉了一些旧的参数,在这里就简单的整理一下
因为平时都是使用二进制包安装mysql,所以这里就以mysql的二进制包部署开始。首先,mysql的安装初始化抛弃了旧版的mysql_install_db而使用mysqld --initialize初始化,在完成初始化后mysql的root密码并不是空密码,而是在初始化后会给出一个随机密码,要正常使用时需要在改掉密码后才可以使用,在mysql其他的安装部分都和以前的版本都是一样的
[root@localhost mysql]# ./bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysqldata --user=mysql --initialize
当然如果忘记初始的root随机密码,也可以在部署安装的用户家目录下的.mysql_secret文件中找到。
在mysql5.7.7的版本以后mysql取消了默认的test库,添加了用户锁定的的功能和语法,而改成sys库,其中添加了相关的系统设置。而因为目前MongoDB等相关的文件nosql不断的兴起,在5.7版本中的mysql中还添加json支持,除此之外在5.7版本中大量使用innoDB引擎,不能再禁用InnoDB引擎,连系统的用户表也是是使用innoDB引擎,提升了性能改了些系统参数,此外还改了些其他指令的系统参数,除此之外在mysql5.7中还修改了一些mysql库中的表字段,像user表之中删除了password的字段,从而改成更为安全的authentication_string之中,这样如果是忘记mysql5.7的密码后要修改就要去更新authentication_string字段,操作同旧版本一样,如下:
[root@localhost data]# mysqld_safe --skip-grant-tables --skip-networking &
#启动忽略授权表,禁用外网
[root@localhost data]# mysql -p
mysql> update mysql.user set authentication_string=password('youpassword') where user='root';
在修改完后,直接重启mysql即可