1.查看root用户临时随机密码
yum 安装mysql后,无法通过空密码登录数据库,如下:
[root@ mysql]# mysql -u root -p
Enter password:
ERROR (): Access denied for user 'root'@'localhost' (using password: NO)
查找后,原来为了增加数据库的安全性,在安装时会为root用户生成一个临时的随机密码,存放在/var/log/mysqld.log 中。root用户的临时密码查看方法如下(红色标注部分就是其临时密码):
[root@ mysql]# grep 'password' /var/log/mysqld.log |head -n
--17T02::.026946Z [Note] A temporary password is generated for root@localhost: XqWlxlV3p.a8
[root@junqi mysql]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is
Server version: 5.7.
2.修改root用户密码
使用临时密码登录数据库后,mysql会提示你修改临时密码,否则无法使用,如下:
mysql> show databases;
ERROR (HY000): You must reset your password using ALTER USER statement before executing this statement.
使用ALTER USER命令修改用户:(本人未使用,在此附上链接,以便以后方便查看)
http://blog.csdn.net/ziwen00/article/details/8460754
ALTER USER格式如下:
alter user [用户名] indentified by [新密码];
修改root的密码,使用了如下方法,三步完成密码密码的更改:
mysql> set password(''); #红色部分是新密码
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
#提示信息:密码不适应当前的密码策略的要求,具体的原理不在这里阐述,可以参见安装MySQL5.6新建用户并创建密码时总是提示密码不符合要求:ERROR 1819 (HY000): Your password does NOT..解决
#解决方法:这里我们可以参考为root用户生成的密码的格式【大小写字母+数字——特殊符号】
mysql> ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
Query OK, 0 rows affected (0.00 sec) mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
使用新密码可以登录到数据库。
3.配置数据库的远程连接
mysql>CREATE USER 'root'@'%' IDENTIFIED BY '您的密码';
# 增加root用户指定可以任意IP登录,如果想限制只能让指定IP登录请把%替换成IP地址 mysql>GRANT ALL PRIVILEGES ON * . * TO 'root'@'%' IDENTIFIED BY '你的密码' WITH GRANT OPTION MAX_QUERIES_PER_HOUR MAX_CONNECTIONS_PER_HOUR MAX_UPDATES_PER_HOUR MAX_USER_CONNECTIONS ;
#给新添加的root增加权限