mysql5.7 相关操作

MySQL 5.7 重置root默认密码

1、修改 /etc/my.cnf,在 [mysqld] 小节下添加一行:skip-grant-tables=1

这一行配置让 mysqld 启动时不对密码进行验证在这里插入图片描述

2、重启 mysqld 服务:systemctl restart mysqld

3、使用 root 用户登录到 mysql:mysql -u root 回车

4、切换到mysql数据库,更新 user 表:

update user set authentication_string = password('xxxx'), password_expired = 'N', password_last_changed = now() where user = 'root';

ps:

在之前的版本中,密码字段的字段名是 password,5.7版本改为了 authentication_string

5、退出 mysql,编辑 /etc/my.cnf 文件,删除 skip-grant-tables=1 的内容

6、重启 mysqld 服务,再用新密码登录即可

systemctl restart mysqld
mysql -uroot -pxxxx

ps:

MySQL 5.7 在初始安装后(CentOS7 操作系统)会生成随机初始密码,并在
/var/log/mysqld.log中有记录,可以通过 cat 命令查看,找 password 关键字

cat /var/log/mysqld.log | grep password

找到密码后,在本机以初始密码登录,通过

alter user 'root'@'localhost' identified by 'xxxx'

命令,修改 root 用户的密码为 root,然后退出,重新以root用户和刚设置的密码进行登录即可。

mysql创建用户并授权,解决1045问题

创建用户

create user '用户'@'地址(%表示不限ip)' identified by '密码';

例;create user 'zzz'@'%' identified by '123';

报错:1819 - Your password does not satisfy the current policy requirements

说我的秘密不符合当前的策略要求

查看当前密码策略:SHOW VARIABLES LIKE 'validate_password%';

两个选择:修改策略或修改密码来符合策略。

赋权

grant 权限1,权限2...权限n on 数据库名称.表名称 to 用户名@用户地址 identified by ‘连接密码’ with grant option;

ps:

with grant option允许用户将自己的权限授予其他用户
数据库类似 *my-test* 中间有横线的,需要加 ``符号

当我授权时报错 1045 - Access denied for user ‘root’@’%’ (using password: YES)

这个错误一般出现在连接数据库时密码错误。此处报错的原因:因为我使用的Navicat远程连接的数据库,默认只有root用户localhost连接才有授权能力,其他IP赋权默认不允许的,可能为了安全性考虑。

select user,host,grant_priv from user;
+---------------+-----------+------------+
| user          | host      | grant_priv |
+---------------+-----------+------------+
| root          | localhost | Y          |
| mysql.session | localhost | N          |
| mysql.sys     | localhost | N          |
| root          | %         | N          |//我使用的root远程登录没有授权权限
| zzz           | %         | N          |
|       
+---------------+-----------+------------+

修改root用户%连接的grant_priv为Y

UPDATE user set Grant_priv='Y' where user='root' and `Host`='%'
exit

修改后重新连接,授权成功后刷新

flush privileges;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值