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增加權限