1、添加用户
本机访问权限:
mysql> GRANT ALL PRIVILEGES ON *.* TO ‘username’@'localhost’
-> IDENTIFIED BY ‘password’ WITH GRANT OPTION;
远程访问权限:
mysql> GRANT ALL PRIVILEGES ON *.* TO ‘username’@'%’
-> IDENTIFIED BY ‘password’ WITH GRANT OPTION;
另外还有一种方法是直接Insert INTO user,注意这种方法之后需要 FLUSH PRIVILEGES 让服务器重读授权表。
insert into user(host,user,password,ssl_cipher,x509_issuer,x509_subject)
values(‘localhost’,’xff’,password(‘xff’),”,”,”);
FLUSH PRIVILEGES;
note:1)必须要加上ssl_cipher,x509_issuer,x509_subject三列,以为其默认值不为空(数据库版本为:5.0.51b)
2)FLUSH PRIVILEGES重载授权表,使权限更改生效
3)Columns_priv 表这5张表实现用户权限控制,均可以通过直接对这些表的操作以达到对用户的管理
2、删除用户
drop user admin@localhost;(@不加默认为“%”)
3、权限回收
revoke delete on test.* from admin@’localhost’;
4、创建用户授权一起实现
grant select,insert,update,delete on *.* to ‘admin2′@’%’
identified by ‘admin2′ with grant option;
note:在
5、限制用户资源
6、用户密码设置
使用shell>
修改root密码:
update mysql.user set password=password(‘passw0rd’) where user=’root’;
FLUSH PRIVILEGES;
7、关于加密
mysql> select PASSWORD(‘password’);
+——————————————-+
| PASSWORD(‘password’) |
+——————————————-+
| *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |
+——————————————-+
1 row in set (0.00 sec)
mysql> select MD5(‘hello’);
+———————————-+
| MD5(‘hello’) |
+———————————-+
| 5d41402abc4b2a76b9719d911017c592 |
+———————————-+
1 row in set (0.00 sec)
mysql> select SHA1(‘abc’);
-> ‘a9993e364706816aba3e25717850c26c9cd0d89d’
SHA1()是为字符串算出一个 SHA1 160比特检查和,如RFC 3174 (安全散列算法)中所述。
8、授权精确到列
grant select (cur_url,pre_url) on test.abc to admin@localhost;