遠程連接linux上的mysql被拒絕


  最近搞了一台阿里雲服務器,裝上mysql之后,發現外部遠程連接mysql居然被拒絕了。新裝的mysql,並沒有要求設置密碼,所以無法正常登陸mysql。

  首先我強調一下,阿里雲上的安全組設置中3306端口我已經釋放,並且linux上的3306端口也已經放開了。端口的原因,已經排除。

  主要是不知道mysql的初始密碼,好像是一個隨機的字符串,我們也不可能去記這個對吧,當然你也記也記不住。好了,說了這么多廢話,我來說我的解決辦法吧。

第一步: 因為我們不知道mysql的初始密碼,所以首先改密碼      

(1)首先找到mysql的配置文件my.cnf 一般在  /etc/my.cnf

(2)cd進 /etc 直接 vim my.cnf 編輯他

(3)在【mysqld】標簽下或者文件最下面添加一句skip-grant-tables 即可 (注意,筆者親測,放在最后面沒有生效,放在mysqld標簽后面成功

(4) esc退出編輯,然后輸入 :wq保存退出 ,然后重啟服務器 service mysqld restart 讓修改生效

(5)mysql -u root 就可以直接進入數據庫了

(6)然后是修改密碼,最好設置密碼復雜點,建議:大寫字母+小寫字母+符號。否則后面mysql會報錯讓你改到符合mysql的安全策略,或者也可以修改mysql安全策略

        mysql> USE mysql;

                mysql> update mysql.user set authentication_string=password('新密碼') where user='root';

                mysql> flush privileges ;

                mysql> quit

(7)改完密碼,再將配置文件改回來,就把添加的那句刪掉就好了,然后再次重啟服務器service mysqld restart

(8)然后就可以使用 mysql -uroot -p輸入你的新密碼進入啦

第二步,授權

 (1)授權主機訪問:MySQL>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的密碼' WITH GRANT OPTION; 
 (2)刷新權限:MySQL>FLUSH PRIVILEGES;
 (3)退出:MySQL>EXIT;

最后你再重新連接,就可以了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM