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