4 回答

TA貢獻1865條經驗 獲得超7個贊
一、允許root用戶在任何地方進行遠程登錄,并具有所有庫任何操作權限,
具體操作如下:
在本機先使用root用戶登錄mysql: mysql -u root -p"youpassword" 進行授權操作:
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;
重載授權表:
FLUSH PRIVILEGES;
退出mysql數據庫:
exit
二、允許root用戶在一個特定的IP進行遠程登錄,并具有所有庫任何操作權限,具體操作如下: 在本機先使用root用戶登錄mysql:
mysql -u root -p"youpassword" 進行授權操作: GRANT ALL PRIVILEGES ON *.* TO root@"172.16.16.152" IDENTIFIED BY "youpassword" WITH GRANT OPTION; 重載授權表: FLUSH PRIVILEGES; 退出mysql數據庫: exit
三、允許root用戶在一個特定的IP進行遠程登錄,并具有所有庫特定操作權限,具體操作如下: 在本機先使用root用戶登錄mysql:
mysql -u root -p"youpassword" 進行授權操作: GRANT select,insert,update,delete
ON *.* TO root@"172.16.16.152" IDENTIFIED BY "youpassword"; 重載授權表: FLUSH PRIVILEGES; 退出mysql數據庫: exit
四、刪除用戶授權,需要使用REVOKE命令,具體命令格式為: REVOKE privileges ON 數據庫[.表名] FROM
user-name; 具體實例,先在本機登錄mysql: mysql -u root -p"youpassword" 進行授權操作: GRANT
select,insert,update,delete ON TEST-DB TO test-user@"172.16.16.152"
IDENTIFIED BY "youpassword"; 再進行刪除授權操作: REVOKE all on TEST-DB from
test-user; ****注:該操作只是清除了用戶對于TEST-DB的相關授權權限,但是這個“test-user”這個用戶還是存在。
最后從用戶表內清除用戶: DELETE FROM user WHERE user="test-user"; 重載授權表: FLUSH
PRIVILEGES; 退出mysql數據庫: exit
五、MYSQL權限詳細分類: 全局管理權限: FILE: 在MySQL服務器上讀寫文件。 PROCESS:
顯示或殺死屬于其它用戶的服務線程。 RELOAD: 重載訪問控制表,刷新日志等。 SHUTDOWN: 關閉MySQL服務。
數據庫/數據表/數據列權限: ALTER: 修改已存在的數據表(例如增加/刪除列)和索引。 CREATE: 建立新的數據庫或數據表。
DELETE: 刪除表的記錄。 DROP: 刪除數據表或數據庫。 INDEX: 建立或刪除索引。 INSERT: 增加表的記錄。 SELECT:
顯示/搜索表的記錄。 UPDATE: 修改表中已存在的記錄。 特別的權限: ALL: 允許做任何事(和root一樣)。 USAGE:
只允許登錄--其它什么也不允許做。

TA貢獻2051條經驗 獲得超10個贊
我也是剛學
賬戶能授權幾個ip 看你設幾個ip
use mysql;
GRANT ALL ON *.*To sdfb21@'%'IDENTIFIED BY '555' WiTH GRANT OPTION;
sdfb21:這里是用戶名
%:這里是你授權的ip(如果是%的話 是所有ip都可,你可以改為只定的IP)
555:這里 是密碼
ALL:這里限權,你可以限制如:只可以查詢,添加 把ALL換為select, insert
如果你要設指定的幾個ip,你就一條一條的加吧

TA貢獻1982條經驗 獲得超2個贊
使用以下授權語句,將授權指定的192.168.1.1 和192.168.1.2 的機器,使用用戶名為root,密碼為test123的用戶訪問
grant all privileges on *.* to 'root'@'192.168.1.1' identified by 'test123';
grant all privileges on *.* to 'root'@'192.168.1.2' identified by 'test123';
添加回答
舉報