MYSQL 開啟root遠端登入許可權

fourierr發表於2017-07-18

MySQL為了安全性,在預設情況下使用者只允許在本地登入,可是在有此情況下,還是需要使用使用者進行遠端連線,比如使用Navicat連線資料庫等。

一、允許root使用者在任何地方進行遠端登入,並具有所有庫任何操作許可權

登入mysql並授權:




1
2
mysql -uroot -p"youpassword" 
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;

過載授權表:

1
FLUSH PRIVILEGES;

退出mysql資料庫:

1
exit

 

二、允許root使用者在一個特定的IP進行遠端登入,並具有所有庫任何操作許可權

登入mysql並授權:

1
2
mysql -u root -p"youpassword" 
GRANT ALL PRIVILEGES ON *.* TO root@"8.8.8.8" IDENTIFIED BY "youpassword" WITH GRANT OPTION;

過載授權表: 

1
FLUSH PRIVILEGES;

退出mysql資料庫:

1
exit;

 

三、允許root使用者在一個特定的IP進行遠端登入,並具有所有庫特定操作許可權

登入mysql並授權:

1
2
3
4
mysql: 
mysql -u root -p"youpassword" 
GRANT select,insert,update,delete 
ON *.* TO root@"8.8.8.8" IDENTIFIED BY "youpassword";

過載授權表: 

1
FLUSH PRIVILEGES;

退出mysql資料庫: 

1
exit;

 

四、刪除使用者授權,需要使用REVOKE命令,具體命令格式為: 

1
REVOKE privileges ON 資料庫[.表名] FROM user-name;

具體例項,先登入授權:

1
2
mysql: mysql -u root -p"youpassword" 
GRANT select,insert,update,delete ON TEST-DB TO test-user@"8.8.8.8"IDENTIFIED BY "youpassword";

再進行刪除授權操作: 

1
REVOKE all on TEST-DB from test-user;

注:該操作只是清除了使用者對於TEST-DB的相關授權許可權,但是這個“test-user”這個使用者還是存在。 最後從使用者表內清除使用者: 

1
DELETE FROM user WHERE user="test-user";

過載授權表: 

1
FLUSH PRIVILEGES;

退出mysql資料庫: 

1
exit;

相關文章