1. 問題描述
安裝MySQL后,一般來說默認(rèn)root用戶的密碼是空的,但是由于某種原因(本人暫時還不知道為什么)導(dǎo)致密碼并不為空,所以登陸不了(登陸不了還有可能沒有啟動mysql服務(wù))
image
2. 解決辦法:
先登陸服務(wù)器,找到自己的my.cnf文件,通常會在 /etc目錄下。
# find / -name my.cnf //查找mysql配置文件my.cnf文件
# cp /etc/my.cnf /etc/my.cnf.bak //修改之前先備份一下
# vim my.cnf //編輯mysql配置文件
/mysqld //搜索關(guān)鍵字
在[mysqld]下面加上 skip-grant-tables ,如下圖所示:
image
作用是登陸時跳過登陸認(rèn)證,換句話說就是root什么密碼都可以登陸進去,然后:wq保存退出后.
service mysqld restart//重啟mysql。
現(xiàn)在不論什么密碼都可以登陸root用戶了。
接下來,在Linux中輸入如下命令:
mysql -uroot -p
mysql> use mysql;
mysql> update user set password=password('123') where user='root';
mysql> flush privileges;
退出mysql:exit
刪除skip-grant-tables
重啟mysql,完成。
service mysqld restart
下面重新登錄到MySQL:
mysql -uroot -p 123
此時,就可以通過重設(shè)的密碼以root用戶的身份登陸了,后續(xù)才能以root用戶的身份設(shè)置遠(yuǎn)程訪問的權(quán)限。
3. 遠(yuǎn)程訪問
3.1 下面開始設(shè)置mysql的遠(yuǎn)程訪問的權(quán)限
#use mysql;
#GRANT ALL ON *.* TO root@'%' IDENTIFIED BY '123' WITH GRANT OPTION;
#flush privileges;
#exit
完成設(shè)置過程如下:
image
3.2 通過Navicat遠(yuǎn)程訪問MySQL數(shù)據(jù)庫
-
設(shè)置完成之后,就可以通過navicat工具進程遠(yuǎn)程連接操作了,新建一個mysql連接:
image 點擊測試連接,如果沒有問題后就可以點擊確定按鈕了。
image