今天又朋友问我mysql的root密码修改问题,这里介绍一下步骤
- 关闭正在运行的MySQL服务。
- 打开DOS窗口,转到mysql\bin目录。
- 输入mysqld --skip-grant-tables 回车。--skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表user的认证。
- 再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),输入 mysql 回车,如果成功,将出现MySQL提示符 >。
- 切换mysql权限数据库: use mysql;
- 改密码:update user set authentication_string=password('000000') where user='root' and Host='localhost';(别忘了最后加分号) 。
- 刷新权限(必须步骤):flush privileges; 。
- 退出 quit。
- 验证登录 mysql -uroot -p
修改root密码永不过期:
root@(none) 09:29:34>alter user 'root'@'localhost' password expire never; Query OK, 0 rows affected (0.00 sec)
附录mysql安装
mysql官网下载zip包,解压到一个安装目录
1、准备my.ini
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=E:\mysql-5.7.23-winx64
# 设置mysql数据库的数据的存放目录,必须是data,或者是//xxx/data
datadir="E:\mysql-5.7.23-winx64\data"
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
#skip-grant-tables
max_allowed_packet = 100M
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
2、执行服务安装和初始化
mysqld -install mysql5.7.23 --defaults-file="D:\mysql-5.7.32\my.ini"
mysqld --initialize
3、修改任意ip访问
UPDATE user SET Host=@'%' where user='root' AND Host='localhost' LIMIT 1;
4、修改密码策略
set global validate_password.policy=0; #设置为弱口令
set global validate_password.length=1; #密码最小长度为1
总结
感谢能看到这里的朋友😉
本次的分享就到这里,猫头鹰数据致力于为大家分享技术干货😎
如果以上过程中出现了任何的纰漏错误,烦请大佬们指正😅
受益的朋友或对技术感兴趣的伙伴记得点赞关注支持一波🙏
也可以扫描二维码或搜索关注我的微信公众号【猫头鹰数据分析】,留言交流🙏