創建用戶:
mysql> create user 'username'@'ipaddress' identified by 'password';
#注:如果ipaddress爲'%',代表任何地址都可以用新建的用戶名連接
mysql> create user 'myroot'@'123.123.12.123' identified by 'mypass';
mysql> create user 'myroot'@'%' identified by 'mypass';
mysql> create user 'myroot'@'%' identified by '';
mysql> create user 'myroot'@'%';
創建之後,查詢用戶權限:
mysql> use mysql;
mysql> show grants for [email protected];
+------------------------------------------------+
| Grants for 'myroot'@'123.123.12.123' |
+------------------------------------------------+
| GRANT USAGE ON *.* TO 'myroot'@'123.123.12.123' |
+------------------------------------------------+
授權:
給用戶myroot賦予所有數據庫的所有權限
mysql> grant all privileges on *.* to 'myroot'@'123.123.12.123' identified by 'mypass' with grant option;
給用戶myroot賦予數據庫db_school的所有權限
mysql> grant all privileges on db_school.* to 'myroot'@'123.123.12.123' identified by 'mypass' with grant option;
指定IP段用戶賦權
mysql> grant all privileges on db_school.* to 'myroot'@'123.123.%' identified by 'mypass' with grant option;
給用戶myroot賦予數據庫db_school中表stu1的查詢和新增的權限
mysql> grant select,update on db_school.stu1 to 'myroot'@'123.123.12.123' identified by 'mypass' with grant option;
解除權限:
mysql> revoke select on db_school.stu1 from 'myroot'@'123.123.12.123' with grant option;
mysql> show grants for 'myroot'@'123.123.12.123';
+----------------------------------------------------------------------------------+
| Grants for 'myroot'@'123.123.12.123' |
+----------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'myroot'@'123.123.12.123' |
| GRANT UPDATE ON 'db_school'.'stu1' TO 'myroot'@'123.123.12.123' WITH GRANT OPTION|
+----------------------------------------------------------------------------------+
刪除用戶
mysql> drop user 'myroot'@'123.123.12.123';
修改密碼
mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
mysql
use mysql;
update user set authentication_string=password('root123') where user='root';
flush privileges;
exit;
service mysqld restart;