Ubuntu安裝MySQL及使用Xshell連接MySQL出現的問題(2003-Can't connect to MySql server及1045錯誤)


不管在什么地方,什么時候,學習是快速提升自己的能力的一種體現!!!!!!!!!!!

 

以下所有的命令都是在root用戶下操作(如果還沒有設置root密碼)如下:

安裝好Ubuntu系統之后,打開終端先設置root密碼(如果已設置自行跳過此步驟)執行

sudo passwd

這是會提示你輸入計算機登錄密碼,輸入之后會再提示你輸入兩次將要設置的root密碼,輸完切換到root用戶,執行

su root

提示輸入root密碼,正確輸完即可進入root用戶下,執行

apt-get update

此命令是將軟件源更新至最新(如果更新失敗請查看是否聯網失敗或在網上尋找源問題)

安裝MySQL命令

apt install mysql-server    (默認安裝最新MySQL) 要安裝指定版本的可以參考 apt install mysql-server-5.6(此命令我沒有驗證過,大家可以嘗試下)

輸完命令之后會提示你紅框內內容 輸入 Y 即可

輸完之后會彈出一個簡單的UI界面讓你輸入MySQL的root密碼(注:MySQL密碼在Linux系統不可以使用特殊字符)root密碼輸完之后就安裝好MySQL了

登錄MySQL命令:

mysql -uroot -p

輸完命令需要輸入剛才你在UI頁面的root密碼(輸密碼是沒有顯示出來的不用擔心,正確輸完之后回車就行)

如下圖:

 

現在已經完全安裝好MySQL了,接下來是允許其他電腦連接服務器的MySQL(如果你不需要使用其他工具連接MySQL請自行忽略以下內容)

授權其他設備連接MySQL命令:

mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'這里寫允許其他設備所在的IP地址或者直接用 % 代替,“%”代表所有ip地址' IDENTIFIED BY '你的root用戶密碼 ' WITH GRANT OPTION;

輸完此命令還需要在執行重新授權表命令::

mysql>FLUSH PRIVILEGES;

如下圖:

這時候就可以嘗試使用其他機器上的設備連接Ubuntu上的mysql(我用的是Navicat)(有時候也會成功連接但更多時候下會出現如下情況)

2003-Can't connect to MySql server on 'xxx.xxx.xxx.xxx'(10061 "Unknown error")

 

解決方法如下:

編輯mysql的配置文件:

vi /etc/mysql/mysql.conf.d/mysqld.cnf  ,找到address=127.0.0.1這一段文本,將它注釋掉或則將它改成address =0.0.0.0。這些方法目的是允許其他的主機可以訪問服務,而不僅僅是127.0.0.1(localhost)

 

重新啟動mysql命令:/etc/init.d/mysql restart

停止mysql命令:/etc/init.d/mysql stop

查看mysql啟動狀態命令:/etc/init.d/mysql status

現在我們重新啟動mysql再嘗試連接mysql

現在我們就成功的連接了Ubuntu的mysql了,不過有些伙伴還有可能會遇到另一個問題就是,用Navicat連接是提示需要修改密碼才能連接:

如下圖(我現在沒有報出錯誤,因而在網上找了個相同錯誤的圖片放出來):

 

解決方案如下:

同樣是編輯mysql的配置文件:

vi /etc/mysql/mysql.conf.d/mysqld.cnf  ,

在skip-external-locking的下一行添加 skip-grant-tables ,用戶登錄時跳過密碼校驗

保存並重啟mysql:

/etc/init.d/mysql restart

然后輸入 mysql 就可以直接進去mysql的命令操作界面:

此時修改root用戶密碼:

 

mysql>use mysql;

mysql>update user set authentication_string=password('新密碼') where user='root';
注:簡單的密碼可能不能成功更新密碼,需較復雜的密碼

mysql> flush privileges;

mysql> quit;

注:現在回去配置文件刪除剛才跳過密碼驗證代碼 “skip-grant-tables”

注:現在回去配置文件刪除剛才跳過密碼驗證代碼 “skip-grant-tables”:

注:現在回去配置文件刪除剛才跳過密碼驗證代碼 “skip-grant-tables”:

重要事情說三遍!!!

 

現在重啟mysql:

/etc/init.d/mysql restart

再次測試連接,成功

完!

如果此文章有什么不對的地方請路過的大神指出,以免誤人子弟


尊重原創,如要轉載請注明出處

 

 

 


免責聲明!

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



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