對於出現拒絕訪問root用戶的解決方案


提示:ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'   由於使用mysql -u root 方式登錄,實際上是登錄到一個空用戶(''@'localhost'),不是root用戶

提示:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)   一般這個錯誤是由密碼錯誤引起

 

方法一:

1.關閉mysql

service mysqld stop

2.屏蔽權限,重置密碼的第一步就是跳過MySQL的密碼認證過程,方法如下

>cd /etc/mysql
>sudo vim my.cnf
mysqld_safe --skip-grant-table

或者

skip-grant-tables

3.新開起一個終端輸入

mysql -u root mysql
UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
FLUSH PRIVILEGES

 FLUSH PRIVILEGES/記得要這句話,否則如果關閉先前的終端,又會出現原來的錯誤

方法二:
1.關閉mysql

service mysqld stop

2.屏蔽權限

skip-grant-tables

3.新開起一個終端輸入

mysql -u root mysql
delete from user where USER='';
FLUSH PRIVILEGES

 4.編輯my.cnf,去掉剛才添加的內容,然后重啟MySQL。大功告成!

 

MySQL允許遠程訪問的設置

1.注釋bind-address = 127.0.0.1

>cd /etc/mysql
>sudo vim my.cnf

將bind-address = 127.0.0.1注釋掉(即在行首加#),如下:

# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
# bind-address          = 127.0.0.1

除了注視掉這句話之外,還可以把后面的IP地址修改成允許連接的IP地址。但是,如果只是開發用的數據庫,為了方便起見,還是推薦直接注釋掉。

2.刪除匿名用戶

登錄進數據庫

切換到數據庫mysql。SQL如下:

use mysql;

查詢用戶表命令

select  User,authentication_string,Host from user

 如有,刪除匿名用戶。SQL如下:

delete from user where user='';
flush privileges

 3.增加允許遠程訪問的用戶或者允許現有用戶的遠程訪問

接着上面,刪除匿名用戶后,給root授予在任意主機(%)訪問任意數據庫的所有權限。SQL語句如下

這里的123456為你給新增權限用戶設置的密碼,%代表所有主機,也可以具體到你的主機ip地址 

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' 
flush privileges

 4.重啟數據庫

sudo service mysql restart

  

MySQL啟動,停止,重啟方法

一、啟動方式

1、使用 service 啟動:service mysqld start

service mysqld start

2、使用 mysqld 腳本啟動:

/etc/inint.d/mysqld start

3、使用 safe_mysqld 啟動:

safe_mysqld&

 二、停止

1、使用 service 啟動:

service mysqld stop

2、使用 mysqld 腳本啟動:

/etc/inint.d/mysqld stop

3、

mysqladmin shutdown

三、重啟

1、使用 service 啟動:

service mysqld restart

2、使用 mysqld 腳本啟動:

/etc/inint.d/mysqld restart
 
       


免責聲明!

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



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