码迷,mamicode.com
首页 > 数据库 > 详细

mysql账户授权

时间:2019-07-07 11:00:56      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:test   修改   day   地址   mysql用户   time   ted   alt   lob   

mysql新加用户及授权

--登录数据库
mysql -uroot -p

--查询当前用户
1、SELECT User, Host FROM mysql.user;
2、select host,user,authentication_string from mysql.user;
--三种例子
1、mysql->create user ‘test‘@‘localhost‘ identified by ‘123‘;
2、mysql->create user ‘test‘@‘192.168.7.22‘ identified by ‘123‘;
3、mysql->create user ‘test‘@‘%‘ identified by ‘123‘;
/*host="localhost"为本地登录用户,host="ip"为ip地址登录,host="%",为外网ip登录*/

二,授权,赋予root所有数据库所有权限。
grant all on *.* to ‘root‘@‘%‘ identified by ‘V2ytEw7gqf#‘ with grant option;
---给root所有数据库权限,并且是任意主机
三,授权
---GRANT all ON user.* TO ‘user‘@‘%‘;
赋予user用户所有权限到user数据库
四,密码过期
数据库密码过期,修改密码
update mysql.user set authentication_string=password(‘zhifu.zzl33‘) where User="zhifuuser";##只是更新
SET PASSWORD FOR ‘zhifuuser‘@‘%‘ = PASSWORD(‘zhifu.zzl33‘);##更改密码,过期要使用此语句
flush privileges;##即时生效

可以在MySQL的配置文件中设置一个默认值,这会使得所有MySQL用户的密码过期时间都为90天,MySQL会从启动时开始计算时间。my.cnf配置如下:

[mysqld]
default_password_lifetime=90

如果要设置密码永不过期的全局策略,可以这样:(注意这是默认值,配置文件中可以不声明)

[mysqld]
default_password_lifetime=0

在MySQL运行时可以使用超级权限修改此配置:

mysql> SET GLOBAL default_password_lifetime = 90;
Query OK, 0 rows affected (0.00 sec)

还可以使用ALTER USER命令为每个具体的用户账户单独设置特定的值,它会自动覆盖密码过期的全局策略。要注意ALTER USER语句的INTERVAL的单位是“天”。

ALTER USER ‘testuser‘@‘localhost‘ PASSWORD EXPIRE INTERVAL 30 DAY;

禁用密码过期:

ALTER USER ‘testuser‘@‘localhost‘ PASSWORD EXPIRE NEVER;

让用户使用默认的密码过期全局策略:

ALTER USER ‘testuser‘@‘localhost‘ PASSWORD EXPIRE DEFAULT;

从MySQL 5.7.6版开始,还可以使用ALTER USER语句修改用户的密码:

mysql> ALTER USER USER() IDENTIFIED BY ‘637h1m27h36r33K‘;
Query OK, 0 rows affected (0.00 sec)

mysql账户授权

标签:test   修改   day   地址   mysql用户   time   ted   alt   lob   

原文地址:https://www.cnblogs.com/gcixx/p/11145452.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!