1. 程式人生 > >linux修改mysql(root)預設密碼

linux修改mysql(root)預設密碼

前幾篇文件中提到了在centOS7中如何安裝mysql5.6或是5.7, 安裝之後mysql預設使用者名稱是root, 密碼是空,
在centOS中用命令mysql -u -p可以直接測試使用,但是預設的資訊有很大弊端的,
下面介紹如何修改mysql(root)預設密碼:
 
方法一:
在mysql系統外,使用mysqladmin
# mysqladmin -u root -p password "test123"
Enter password: 【輸入原來的密碼】

  原因是因為mysql5.7預設的安全策略限制,解決方法如下(使用預設密碼登入mysql):   set global validate_password_policy=0;

   set global validate_password_length=1;   


方法二:
通過登入mysql系統,
# mysql -uroot -p
Enter password: 【輸入原來的密碼】
mysql>use mysql;
mysql> update user set password=passworD("test") where user='root';
mysql> flush privileges;
mysql> exit;      


centOS中測試 : 
mysql -uroot -p
Enter password:(輸入密碼)
連結成功!!


然後需要外部(宿主機)訪問mysql:
用telnet命令測試3306埠,發現不通,這是因為防火牆的問題,在centOS7中執行一下命令:
systemctl disable firewalld (手動執行一次即可)
systemctl stop firewalld (需要設定開機啟動)


然後,在宿主機上面在測試3306埠,發現埠已通!


用sqllog工具連結mysql:
報錯 ERROR 1130: Host 192.168.3.100 is not allowed to connect to this MySQL server
解決方法:
mysql -u root -p


mysql>use mysql;


mysql>select 'host' from user where user='root';


mysql>update user set host = '%' where user ='root'; 


mysql>flush privileges;


再次sqllog連結,連結成功~


以上的問題在安裝mysql和連結mysql時發現的,問題的解決是百度搜的,本人親測可用,做已總結,希望對大家有所幫助~