写给自己:SQLyog连接数据库出现错误1045的参考解决方法
在多次遇到错误1045并查找了若干篇博客后,总结出自己在解决这个问题时常见的步骤,和个人的一些习惯,总结下来方便查找。
一般过程
- 检查my.ini文件配置,在mysql安装位置找到 my.ini 打开,[mysqld]后加上skip-grant-tables并保存;
- 运行cmd,输入
mysql -u root -p
直接回车不需输入密码;
3. 登录后,注释my.ini文件中skip-grant-tables一句,保存
4. 登录mysql数据库:
use mysql>use mysql
5 重置密码:
update mysql.user set authentication_string=password(‘123456’) where user=‘root’;
6. 用新密码登录mysql
7. SQLyog成功建立连接
注1:酌情执行语句
net start mysql
net stop mysql
注2:运行cmd,输入netstat -ano,可以查看各个端口使用情况,查看3306端口占用情况,找到PID后,查看任务管理器,在详细信息中找到对应PID结束进程,就能重新开始
执行完这些操作就能解决错误1045的问题,仅做参考。
附:my.ini文件内容(关于目录斜线形式\\和/一般都行)
[mysqld]
#skip-grant-tables
port = 3306
basedir=D:\\MySQL\\mysql-5.7.25
datadir=D:\\MySQL\\mysql-5.7.25\\data
max_connections=200
character-set-server=utf8
default-storage-engine=INNODB
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[mysql]
default-character-set=utf8
注3:关于修改密码后,若新密码过于简单,如123,再次登录mysql可能出现错误提示密码不符合要求,输入:
mysql> alert user ‘root’@‘localhost’ identified by ‘123’;
刷新权限:
mysql> flush privileges;