Linux mysql新建用戶並分配權限

1.新建用戶

[root@iZ23hdndo4vZ etc]# mysql -u root -p

Enter password: 輸入密碼
Welcome to the MySQL monitor.  Commands end with ; or \g.
.....
mysql> use mysql
Database changed
mysql> select user,host from user;   //先查詢一下mysql.user表中有幾條記錄
+------+-----------+
| user | host      |
+------+-----------+
| root | localhost |
+------+-----------+
1 row in set (0.00 sec)

mysql> update user set host='%' where user='root';  //這個地方是設置所有的外網ip都可以訪問該數據庫
Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> select user,host from user;                
+------+------+
| user | host |
+------+------+
| root | %    |
+------+------+
1 row in set (0.00 sec)


mysql> flush privileges;  //刷新
Query OK, 0 rows affected (0.00 sec)

mysql> insert into mysql.user(Host,User,Password) values('localhost','yonghuming' ,password('mima'));  //localhost表示本機用戶,添加用戶            
Query OK, 1 row affected, 3 warnings (0.00 sec)

mysql> select user from user;
+------+
| user |
+------+
| root |
| yonghuming |
+------+
2 rows in set (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

創建用戶成功

2、給新建的用戶設置某個數據庫的操作權限

重新切回到root賬戶下

[root@iZ23hdndo4vZ ~]# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
...
mysql> grant all privileges on databaseDB.* to yonghuming@localhost identified by 'mima';

or

mysql> grant select,update,insert on datavaseDB.* to yonghuming@localhost identified by 'mima';

解析:all privileges表示所有權限 grant 權限1,權限2,…權限n on 數據庫名稱。表名稱 to 用戶名@用戶地址 identified by ‘連接口令’;

權限1,權限2,…權限n代表

select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file等14個權限。
  當權限1,權限2,…權限n被all privileges或者all代替,表示賦予用戶全部權限。
  當數據庫名稱。表名稱被*.*代替,表示賦予用戶操作服務器上所有數據庫所有表的權限。
  用戶地址可以是localhost,也可以是ip地址、機器名字、域名。也可以用’%’表示從任何地址連接。
  ‘連接口令’不能爲空,否則創建失敗。
Query OK, 0 rows affected (0.02 sec)
//
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

3.刪除用戶
[root@iZ23hdndo4vZ etc]# mysql -u root -p
Enter password: 輸入密碼
Welcome to the MySQL monitor.  Commands end with ; or \g.
.....
mysql> use mysql

mysql>DELETE FROM user WHERE User=”yonghuming” and Host=”localhost”;
mysql>flush privileges;
//刪除用戶的數據庫
mysql>drop database databaseDB;
4.修改指定用戶密碼
[root@iZ23hdndo4vZ etc]# mysql -u root -p
Enter password: 輸入密碼
mysql>update mysql.user set password=password(‘xinmima’) where User=”yonghuming” and Host=”localhost”;
mysql>flush privileges;
mysql>quit;


補充

mysql> grant all on databaseDB.* to 'username'@'%' identified by '密碼' with grant option;

#允許賬戶username從任何主機連接到數據庫databaseDB

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章