mysql 创建用户 %_mysql-创建用户和授权
mysql權限管理
我們知道我們的最高權限管理者是root用戶,它擁有著最高的權限操作。包括select、update、delete、update、grant等操作.
如何創建用戶和密碼
給當前的用戶授權
移除當前用戶的權限
如果你想創建一個新的用戶,則需要以下操作
1 進入到mysql數據庫下
mysql> use mysql; ?# 選擇數據庫
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
2 對新用戶增刪改
(1) 創建用戶
指定ip:192.168.11.88 的 用戶:zhangsan 密碼:123 登錄
mysql> create user 'zhangsan'@'192.168.11.88' identified by '123';
Query OK, 0 rows affected (0.01 sec)
指定ip:192.168.11.% (%網段)的用戶:zhangsan 密碼:123 登錄
mysql> create user 'zhangsan'@'192.168.11.%' identified by '123';
Query OK, 0 rows affected (0.00 sec)
指定任意ip的用戶:zhangsan 密碼:123 登錄
mysql> create user 'zhangsan'@'%' identified by '123';
Query OK, 0 rows affected (0.00 sec)
(2) 刪除用戶
查看當前數據庫的所有主機,用戶
mysql> select host,user from user;
+---------------+-----------+
| host ? ? ? ? ?| user ? ? ?|
+---------------+-----------+
| % ? ? ? ? ? ? | root ? ? ?|
| % ? ? ? ? ? ? | tao123 ? ?|
| % ? ? ? ? ? ? | zhangsan ?|
| 192.168.11.% ?| zhangsan ?|
| 192.168.11.88 | zhangsan ?|
| localhost ? ? | mysql.sys |
| localhost ? ? | root ? ? ?|
+---------------+-----------+
7 rows in set (0.00 sec)
刪除用戶
mysql> drop user 'zhangsan'@'%'; ?# 刪除zhangsan用戶從任意地址登錄
Query OK, 0 rows affected (0.00 sec)
mysql> drop user 'zhangsan'@'192.168.11.%'; ?# 刪除zhangsan用戶從192.168.11.% 網段登錄
Query OK, 0 rows affected (0.00 sec)
mysql> select host,user from user; ?# 再次查詢,已經刪除
+---------------+-----------+
| host ? ? ? ? ?| user ? ? ?|
+---------------+-----------+
| % ? ? ? ? ? ? | root ? ? ?|
| % ? ? ? ? ? ? | tao123 ? ?|
| 192.168.11.88 | zhangsan ?|
| localhost ? ? | mysql.sys |
| localhost ? ? | root ? ? ?|
+---------------+-----------+
5 rows in set (0.00 sec)
(3)修改用戶
mysql> rename user 'zhangsan'@'192.168.11.88' to 'lisi'@'192.168.11.88'; ?# to前面老的,后面為新的
Query OK, 0 rows affected (0.00 sec)
mysql> select host,user from user; ?# 已經更新
+---------------+-----------+
| host ? ? ? ? ?| user ? ? ?|
+---------------+-----------+
| % ? ? ? ? ? ? | root ? ? ?|
| % ? ? ? ? ? ? | tao123 ? ?|
| 192.168.11.88 | lisi ? ? ?|
| localhost ? ? | mysql.sys |
| localhost ? ? | root ? ? ?|
+---------------+-----------+
5 rows in set (0.00 sec)
(4)修改密碼
mysql> set password for 'lisi'@'192.168.11.88'=password('321');
Query OK, 0 rows affected, 1 warning (0.00 sec)
3 對當前的用戶授權管理
查看權限
mysql> show grants for 'lisi'@'192.168.11.88';
+----------------------------------------------+
| Grants for lisi@192.168.11.88 ? ? ? ? ? ? ? ?|
+----------------------------------------------+
| GRANT USAGE ON *.* TO 'lisi'@'192.168.11.88' |
+----------------------------------------------+
1 row in set (0.00 sec)
授權 lisi用戶僅對db1.author表有查詢、插入和更新的操作
mysql> grant select,insert,update on db1.author to 'lisi'@'192.168.11.88';
Query OK, 0 rows affected (0.00 sec)
驗證,使用lisi賬號登陸,分別進行查詢,插入,更新操作
這里使用第三方工具連接測試,使用的是Navicat,其它的也行
連接成功后,只顯示db1數據庫下的author表內容
原始數據就4條,利用工具---進行---增,改,查操作,步驟不演示,直接上結果
插入數據,更新數據,查詢數據成功
刪除數據失敗,因為沒有給刪除權限
表示:有所有的權限,除了grant這個命令,這個命令是root才有的。lisi用戶對db1下的author表有任意操作
mysql> grant all privileges on db1.author to 'lisi'@'%';
Query OK, 0 rows affected, 1 warning (0.00 sec)
由于之前設置了lisi賬號的權限,需要刪除,不然默認會以權限小的去執行
mysql> drop user 'lisi'@'192.168.11.88'; ?# 刪除之前創建的
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges; ?# 刷新數據庫權限
Query OK, 0 rows affected (0.01 sec)
驗證:刪除一行數據,刪除成功
lisi用戶對db1數據庫中的文件執行任何操作,db1數據庫下的所有表都有權限
mysql> grant all privileges ?on db1.* to "lisi"@'%';
Query OK, 0 rows affected (0.00 sec)
lisi用戶對所有數據庫中文件有任何操作(相當于root權限,不建議使用)
注意:對同一個賬號賦予權限的時候,一定要取消之前給的權限,不然會有問題
mysql> revoke ALL PRIVILEGES ON `db1`.* from 'lisi'@'%'; ?#移除之前lisi對db1數據庫的所有權限
Query OK, 0 rows affected (0.00 sec)
mysql> show grants for 'lisi'@'%'; ?# 查看lisi用戶當前權限,GRANT USAGE ON *.* TO 'lisi'@'%'為默認權限
+----------------------------------+
| Grants for lisi@% ? ? ? ? ? ? ? ?|
+----------------------------------+
| GRANT USAGE ON *.* TO 'lisi'@'%' | ?
+----------------------------------+
1 row in set (0.00 sec)
mysql> grant all privileges ?on *.* ?to "lisi"@'%'; ?# 賦予lisi所有數據庫權限(相當于root權限)
Query OK, 0 rows affected (0.00 sec)
重新連接Navicat,查看
已經變成root權限了(不推薦使用,很不安全)
取消權限
取消來自遠程服務器的lisi用戶所有數據庫的權限
mysql> show grants for 'lisi'@'%'; ?# 查看當前lisi用戶的權限
+-------------------------------------------+
| Grants for lisi@% ? ? ? ? ? ? ? ? ? ? ? ? |
+-------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'lisi'@'%' |
+-------------------------------------------+
1 row in set (0.00 sec)
mysql> revoke ALL PRIVILEGES ON *.* from 'lisi'@'%'; ?# 取消lisi用戶所有數據的權限
Query OK, 0 rows affected (0.00 sec)
重新連接Navicat查看
已經取消所有數據庫的權限了
MySql備份命令行操作
總結
以上是生活随笔為你收集整理的mysql 创建用户 %_mysql-创建用户和授权的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java中间缓存变量机制_Java中间缓
- 下一篇: JAVA用多线程反而变慢了_Java中使