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

    作者:课课家教育更新于: 2019-01-24 10:24:59

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

课课家教育

未登录