mysql常见问题

1.不能连接至本地MySQL服务器

在服务器的dos窗口执行mysql -uroot -p指令时,出现以下状况

 上图出现的原因是mysql服务器未启动

解决办法:先启动MySQL服务器

Linux启动方式:   systemctl start mysqld

windows启动方式:   打开任务管理器,选择服务选项卡,找到mysql服务右键启动;或者在命令行执行net start mysql

2.远程主机‘192.168.0.105’不被允许连接主机‘192.168.0.103’上的MySQL服务器

 

问题原因:mysql服务器出于安全考虑,默认只允许本地登录数据库服务器。

解决办法:

在mysql服务器所在的主机使用指令mysql -u root -p登录sql,之后执行以下指令

USE mysql;
UPDATE USER SET HOST = '%' WHERE USER ='root';
FLUSH PRIVILEGES;

重启mysql服务,这样就可以远程登录了。

相反,如果不希望远程登录,那么将mysql数据库中的user表的user列为root用户的记录的host列设置为localhost就好了,重启服务后就不能远程登录了。

3.错误提示ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO/YES)

 

原因:当password为NO是表示未输入密码,为YES表示密码输入错误

转载自:

https://blog.csdn.net/qq_36675754/article/details/81381341?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

mysql5.7.6版本后 废弃user表中 password字段 和 password()方法,所以旧方法重置密码对mysql8.0版本是行不通的

上述链接可能是MySQL5.7.6版本以前的方式,在MySQL8.0上没有用

mysql8.0的解决办法:

1>在MySQL配置文件my.cnf的[mysqld]的末尾加上skip-grant-tables保存退出

2>使用systemctl restart mysqld重启服务

3>使用mysql -u root -p指令登录,输入密码时直接按enter键回车就好了。

4>使用update user set authentication_string = ''  where user='root' ;清空密码;quit退出客户端

5>修改删除配置文件中的skip-grant-tables,重启mysql服务。

6>使用mysql -u root -p指令登录,输入密码时直接按enter键回车就好了(因为第3步清空了,所有可以直接按enter键登录)。

7>执行ALTER USER 'root'@'localhost' IDENTIFIED BY 'Root2020!';语句更新MySQL密码

 转载自:

https://blog.csdn.net/baidu_38558076/article/details/88934506

 

 

4.服务器无法启动成功

4.1

MySQL日志显示以下内容

 解决办法:

在mysql服务器的配置文件my.inf(Windows)或者my.cnf(Linux)文件中的[mysqld]下添加shared-memory

 5.开启或关闭mysql服务发生以下错误

 

 cmd执行net stop mysql显示 发生系统错误5. 拒绝访问

原因:未使用管理员运行cmd

6.密码正确但是拒绝用户连接

Caused by:java.sql.SQLException:Access denied for user 'root'@'XXX' (using password:YES)

 

 转载自:https://www.cnblogs.com/maanshancss/p/9272358.html

 

posted on 2020-03-12 15:20  _ZXP  阅读(...)  评论(...编辑  收藏

导航