这几天在配置MySQL时候遇到一些问题, 下面一一列出:
1. 表中字段问题
mysql安装完之后, 如果是自己测试使用, 一般都会修改一个简单的密码, 比如123456
但我在网上一般都找的修改密码都是进入数据库之后
UPDATE mysql.user SET password = PASSWORD(‘newpassword’) WHERE USER = ‘root’;
FLUSH PRIVILEGES;
但其实是需要看自己的mysql数据库的一个user表字段的(如下图字段)
mysql数据库的字段如下
这个其实是mysql版本问题
此时要修改的话就是(如下图)
update user set authentication_string=passworD("123456") where user='root';
但此时我修改密码时候有一个错误, 意思就是我密码不合法
2. 密码合法问题
此时首先得看一下自己当前密码安全策略设置的一些参数
SHOW VARIABLES LIKE 'validate_password%';
这里借用一下
然后只用修改密码长度和密码级别就ok了
set global validate_password_policy=0;
set global validate_password_length=6;
然后进行一个密码修改
alter user 'root'@'localhost' identified by '123456';
成功之后就可以用新密码登录了
3. 远程连接失败
此时我可以本地登录数据库, 但是远程连接时候仍然有错误(远程连接不上)
输入下面命令之后报错
grant all privileges on *.* to ‘root‘@‘%‘ identified by ‘123456‘ with grant option
报错内容:
然后搜一下得知(可以用下面命令)
create user root@'%' identified by '123456';
grant all privileges on *.* to root@'%' with grant option;
最后刷新一下
flush privileges;
我自己的服务器是用这个命令修改完密码之后, 重启一下mysql, 然后成功远程连接的
mysqladmin -uroot -p123456 password 123456
service mysqld restart
结果图如下:
4. 重启MySQL失败Failed to restart mysql.service: Unit not found.
我在百度搜了一下, MySQL重启的几种命令(因为安装或者配置文件的差异问题)
第一种:
systemctl restart mysql.service
第二种:
service mysql restart
第三种
service mysqld restart
后来发现是自己MySQL的服务命问题, 然后我的MySQL服务名是mysqld, 用了第三种方式启动成功了....
参考文章:
Linux系统如何修改MySQL密码 - 云+社区 - 腾讯云
mysql报错 Your password does not satisfy the current policy requirements_ayychiguoguo的博客-CSDN博客