Ubuntu安裝Mysql後默認沒有設置密碼後的問題和幾個細節

  1. 安裝: apt-get install mysql-server

默認安裝的時候沒有輸入用戶名和密碼,默認用戶名爲root,密碼爲root用戶的密碼(和系統一致)

如果嘗試在/etc/mysql/mysql.conf.d/mysqld.cnf 中的mysqld區域增加skip-grant-tables字段內容,則在登陸mysql時,隨意輸入任何密碼都能登陸(用於特殊操作),如下圖示意

  1. 嘗試登陸驗證

從本機登陸mysql:sudo mysql -uroot –p

目前還沒理解爲什麼一定要sudo才能登陸,否則會出現如下錯誤: [此問題已經確認,請參照小細節3中內容]

  1. 設置遠程登陸權限

使用Mysql表:  use mysql;

設置允許所有主機連接到Mysql,執行命令:

grant all privileges on *.* to root@"%" identified by "root的密碼" with grant option;

flush privileges;

 

小細節:

  1. 查看使用端口號:

進入Mysql控制檯後,輸入show variables like 'port';

  1. 查看Linux防火牆運行情況

Sodu ufw status , inactive是關閉狀態

  1. Mysql登陸的時候一定要帶上sudo ,是因爲root用戶的密碼太弱了,如下圖中

先user mysql , 進入DB後執行select User,Host ,plugin from users; 看到plugin類型是

執行命令

Update user set plugin=’mysql_native_password’ where User=’root’;

然後flush privileges;

操作好後,mysql實際上的密碼是空的。

  1. 如何查看mysql是否允許遠程訪問

如下圖中,root具有%和localhost的訪問權限

 

  1. 有時候出現這種錯誤的原因,是my.cnf文件中只綁定了127.0.0.1,導致即便設置遠程登陸,也無法。同時也不能通過-h 指定目標位置來登錄,也就是如上圖中,即便使用-h 命令指定本機,都無法運行。

My.cnf 可以通過locate my.cnf命令來尋找到可能存在的位置。(但是有時候沒軟用,實際上可能存在位置有2個,

/etc/mysql/my.cnf

/etc/mysql/mysql.conf.d/mysqld.cnf   【我這裏在這裏發現】

打開該文件後,註釋掉其中的行 bind-address =127.0.0.1 (#爲註釋)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章