不知道大家在学习MySQL时是怎么学的呢?反正小编当时学的时候可谓痛苦不堪,不过一番努力之后还是有所收获的,在这里小编就给大家介绍一下MySQL中创建用户与授权的实现方法,如果你才刚开始接触MySQL,不妨可以看看。
测试的一个运行环境为:widnows xp professional + MySQL5.0
1.创建用户:
命令:create user 'username'@'host' identified by 'password';
说明:username - 用户名, host - 指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost, 如果想让该用户可以从任意远程主机登陆,可以使用通配符%. password - 登陆密码
mysql> create user 'wangchengjun'@'%' identified by '123456';
Query OK, 0 rows affected (0.01 sec)
mysql>flush privileges; #刷新权限
mysql> select user,host from user;
+--------------+-----------+
| user | host |
+--------------+-----------+
| wangchengjun | % |
| root | 127.0.0.1 |
| root | localhost |
| root | wang |
+--------------+-----------+
4 rows in set (0.00 sec)
2.授权
命令:grant privileges on databasename.tablename to 'username'@'host'
说明: privileges - 用户的操作权限,如SELECT , INSERT , UPDATE 等(详细列表见该文最后面).如果要授予所的权限则使用ALL.;databasename - 数据库名,tablename-表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示, 如*.*.
mysql> grant all on wordpress.* to 'wangchengjun'@'%';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
具体信息可以用命令show grants for 'wangchengjun'@'%'; 查看.
3.设置与更改用户密码
root账户设置密码:mysqladmin -uroot password 'yourpassword'
命令:set password for 'username'@'host' = password('newpassword');
mysql> set password for 'wangchengjun'@'%' = password("12345");
Query OK, 0 rows affected (0.00 sec)
4.撤销用户权限
命令: prevoke privilege on databasename.tablename from 'username'@'host';
说明: privilege, databasename, tablename - 同授权部分.
例子: REVOKE SELECT ON *.* FROM 'pig'@'%';
注意: 假如你在给用户'pig'@'%'授权的时候是这样的(或类似的):GRANT SELECT ON test.user TO 'pig'@'%', 则在使用REVOKE SELECT ON *.* FROM 'pig'@'%';命令并不能撤销该用户对test数据库中user表的SELECT 操作.相反,如果授权使用的是GRANT SELECT ON *.* TO 'pig'@'%';则REVOKE SELECT ON test.user FROM 'pig'@'%';命令也不能撤销该用户对test数据库中user表的Select 权限.
具体信息可以用命令SHOW GRANTS FOR 'pig'@'%'; 查看.
5.删除用户
命令: drop user 'username'@'host';
drop user 'wangchengjun'@'%';
6.用户远程登录
mysql -uuser -ppassword -hhost -P3306
mysql -uwangcheng -p123456 -h192.168.16.99 -P3306
附表:在MySQL中的操作权限
分享一个案例:
1.新建用户
用户root权限登录mysql,新建一个和数据库同名的用户
mysql> INSERT INTO mysql.user(Host,User,Password) VALUES('localhost', 'sun', password('sun123456'));
刷新系统权限表
mysql> FLUSH PRIVILEGES;
如果报错
#1364 – Field ‘ssl_cipher' doesn't have a default value
修改MySQL配置文件Linux系统为my.cnf,Windows系统为my.ini
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
修改为
sql_mode=NO_ENGINE_SUBSTITUTION
重启MySQL服务
2.为用户授权
mysql> GRANT ALL ON sun.* to sun@localhost identified BY 'sun123456';
mysql> FLUSH PRIVILEGES;
这就是一个MySQL创建用户与授权的的过程,不知各位对这个方法的过程有没有什么意见或者想法呢?如果有可以给小编留言哟。如果看不太明白的米娜桑可以再多看几遍慢慢理解,又或者可以到我们课课家教育去学习专门的课程,里面都是一些名师的讲解,可比小编写的这些更为详细以及容易理解。
上一篇:操作系统的几种安全机制分析
¥5999.00
¥10500.00
¥499.00
¥1888.00
¥49.00