1.查看root用户临时随机密码
yum 安装mysql后,无法通过空密码登录数据库,如下:
1 [root@123 mysql]# mysql -u root -p 2 Enter password: 3 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
查找后,原来为了增加数据库的安全性,在安装时会为root用户生成一个临时的随机密码,存放在/var/log/mysqld.log 中。root用户的临时密码查看方法如下(红色标注部分就是其临时密码):
1 [root@123 mysql]# grep 'password' /var/log/mysqld.log |head -n 1 2 2017-06-17T02:01:01.026946Z 1 [Note] A temporary password is generated for root@localhost: XqWlxlV3p.a8 3 [root@junqi mysql]# mysql -u root -p 4 Enter password: 5 Welcome to the MySQL monitor. Commands end with ; or \g. 6 Your MySQL connection id is 31169 7 Server version: 5.7.18
2.修改root用户密码
使用临时密码登录数据库后,mysql会提示你修改临时密码,否则无法使用,如下:
1 mysql> show databases; 2 ERROR 1820 (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('123455'); #红色部分是新密码
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.配置数据库的远程连接
1 mysql>CREATE USER 'root'@'%' IDENTIFIED BY '您的密码'; 2 # 增加root用户指定可以任意IP登录,如果想限制只能让指定IP登录请把%替换成IP地址 3 4 mysql>GRANT ALL PRIVILEGES ON * . * TO 'root'@'%' IDENTIFIED BY '你的密码' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ; 5 #给新添加的root增加权限