下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

在MySQL中如何创建用户与授权?

作者:课课家教育     来源: http://www.kokojia.com点击数:4679发布时间: 2019-01-24 10:25:04

标签: MySQL数据库系统MySQL授权

      不知道大家在学习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中的操作权限

      在MySQL中如何创建用户与授权?_MySQL_数据库系统_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

  这就是一个MySQL创建用户与授权的的过程,不知各位对这个方法的过程有没有什么意见或者想法呢?如果有可以给小编留言哟。如果看不太明白的米娜桑可以再多看几遍慢慢理解,又或者可以到我们课课家教育去学习专门的课程,里面都是一些名师的讲解,可比小编写的这些更为详细以及容易理解。

赞(25)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程