目录
1.错误代码1862解决办法
1.1登录进mysql
1.2 填写密码进入后,使用指令修改密码
1.3 好了现在虽然是可以继续用了,但是还是没有永久解决密码过期问题,因为从MySQL版本5.6.6版本起,添加了password_expired功能,它允许设置用户的过期时间。所以我们可以执行SET GLOBAL default_password_lifetime = 0;方法设置密码永不过期
2.错误代码1130 - Host *** is not allowed to connect to this MySOL server
2.1 和上面一样通过管理员进入mysql
2.2 通过指令修改权限
3.mysql初始化报错mysqld --initialize --console
4.错误代码1045
5.在修改MySQL数据库密码的时候报错ERROR 1054 (42S22): Unknown column ‘‘root’’ in ‘where clause’
1.错误代码1862解决办法
最近用Navicat打开数据库的时候,显示错误代码1862,翻译过来的意思就是长时间没有连接数据库,密码失效请重新设置密码,就修改了一下,在这里并记录一下。
首先通过Windows的运行,输入cmd指令,进入cmd操作页面(安装的时候包括平常进入记得使用管理员防止报错权限不够),然后查找到mysql的bin安装目录下,我的是D:\work_workspace\install_soft\MYSQL\mysql-5.7.10-winx64\bin,
1.1登录进mysql
mysql -uroot -proot ,意思是账号为root,密码为root
1.2 填写密码进入后,使用指令修改密码
SET PASSWORD = PASSWORD('root');
1.3 好了现在虽然是可以继续用了,但是还是没有永久解决密码过期问题,因为从MySQL版本5.6.6版本起,添加了password_expired功能,它允许设置用户的过期时间。所以我们可以执行SET GLOBAL default_password_lifetime = 0;方法设置密码永不过期
SET GLOBAL default_password_lifetime = 0;
2.错误代码1130 - Host *** is not allowed to connect to this MySOL server
当我我们设置好密码后却无法连接进navicat 这个时候是localhost权限不够
2.1 和上面一样通过管理员进入mysql
mysql -uroot -proot;root 是我的账号和密码
2.2 通过指令修改权限
use mysql;
select host ,user from user;
-- 将 root 用户的主机(host)值修改为 '%',即允许从任何主机连接
update user set host = '%' where user ='root';
-- 刷新权限,使修改生效
flush privileges;
如果update user set host = '%' where user ='root';指令失效,将单引号改成双引号
3.mysql初始化报错mysqld --initialize --console
删除data/mysql目录下的所有删除然后重新初始化即可
4.错误代码1045
# 停止MySQL服务
sudo service mysql stop
# 以不检查权限的方式启动MySQL
sudo mysqld_safe --skip-grant-tables &
# 设置新密码
mysql -u root
5.在修改MySQL数据库密码的时候报错ERROR 1054 (42S22): Unknown column ‘‘root’’ in ‘where clause’
update user set authentication_string=’’ where user = ‘root’;
如果指令报错我们将带引号换成双引号即可
update user set authentication_string="" where user = "root";