今天安装mysql5.7遇到的问题,果然比window7麻烦一些 ε=(´ο`*)))
参考博文 Can’t open and lock privilege tables: Table ‘mysql.user’ doesn’t exist
添加 MySQL YUM 源
首先就是centos默认删除了mysql的源,采用了MariaDB
$wget 'https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm'
$sudo yum install mysql-community-server //安装mysql数据库
然后登陆时报错,无法通过mysql -u root登录,查看
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
/etc/my.cnf下的日志路径为/var/log/mysqld.log, 打开日志并查看发现提示:
Fatalerror: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist
/etc/my.cnf下的数据目录为/var/lib/mysql,去到该目录下发现并没有相关的表文件, 子目录mysql还是空的。
查完资料后看到有说到默认安装的数据目录与my.cnf中默认的datadir不一致, 会导致这个问题。
安装mysql时默认指定数据目录为/opt/data, 因此将my.cnf的相关配置也修改为datadir=/opt/data。
下一个问题,默认root的默认密码?是什么
参考这篇博文 MySQL5.7初始密码问题
安装了mysql5.7之后初始密码不再默认为空
1.查看初始密码:
[root@VM_225_102_centos ~]# grep 'temporary password' /var/log/mysqld.log
2016-07-08T02:25:46.311098Z 1 [Note] A temporary password is generated for root@localhost: MtPqF0/oN5zo
即初始密码为 MtPqF0/oN5zo (密码是随机产生的,每台机器产生的都不一样哦)
或者
另外一种方法查看默认密码:
[root@localhost src]# cat /root/.mysql_secret
# The random password set for the root userat Fri Jan 10 20:00:34 2014 (local time): aJqZsA2m
这里的aJqZsA2m就是生成的root随机密码啦
输入正确密码之后,第一步强制你修改默认密码,我想修改密码为123456(当然实际环境密码还是复杂点)
alter user root@localhost identified by '123456';
会报
Your password does not satisfy the current policy requirements
ok,这告诉你,你的密码不符合安全策略,通过执行这个命令
mysql> SET GLOBAL validate_password_policy=LOW;
在执行一下
alter user root@localhost identified by '123456';
修改密码成功!
再退出,就可以用新密码登录