在网上搜索了很多的帖子,发现描述的都是外部客户端无法登录到mysql上,登录上服务器以后连接更改配置的方式,但是!!!!! 我现在是服务器连接也报错啊啊啊啊啊!!!!
所以问题就变成了:我得通过连接到服务器上的mysql更改配置 → 但是这个报错又让我连不上服务器上的mysql → 然后通过搜索得到解决方案是连接到mysql上以后更改配置 → 套娃循环
正当我一筹莫展(疯狂baidu.com)的时候,突然灵机一动,想起了我之前windows上安装mysql时可以不通过输入用户名密码的方式登录进入mysql!!!!嘿嘿嘿嘿嘿,要能用的话,不是完美解决套娃问题了么,说干就干!
1.修改linux的mysql文件配置:
1.编辑my.cnf配置文件
vi /etc/my.cnf
2.将下面的语句加到[mysqld最后一列]
skip-grant-tables
2.配置mysql
1.停止mysql
service mysql stop
2.启动mysql
service mysql start
3.输入命令:mysql -u root -p 登录进入mysql
4.先将密码修改成123456
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456'
5.刷新缓存
FLUSH PRIVILEGES;
6.将my.cnf中的无需密码即可登录的配置删除
7.重启mysql再重新登录,发现不会再出现之前的问题拉~
下面附上成功截图~
这个问题我解决了一天上午5555555555555;
~~~~~~~~~~~~~~~~~~~~~~~~~~完结撒花~~~~~~~~~~~~~~~~~~~~~~~~~~
最后附上我的my.cnf配置文件
[mysqld]
# 监听端口
port=3306
# 安装目录
basedir=/usr/local/mysql
# 数据目录
datadir=/usr/local/mysql/data
# 最大连接数
max_connections = 100
# 默认数据库引擎
default-storage-engine = InnoDB
# 字符集
# character-set-server=UTF8MB4
# 错误日志
log-error = /usr/local/mysql/log/error.log
# 开启慢日志
slow_query_log = 1
# 慢查询日志时间阈值 默认是10S
long-query-time = 30
# 慢查询日志存放路径
slow_query_log_file = /usr/local/mysql/log/show.log
# 记录那些由于查找了多余1000次而引发的慢查询
min_examined_row_limit = 1000
# 记录由Slave所产生的慢查询
log-slow-slave-statements
# 如果运行的SQL语句没有使用索引,则将这条SQL语句记录到慢查询日志文件中
log-queries-not-using-indexes
# 默认使用旧的密码验证方式
#default_authentication_plugin = mysql_native_password
# 无密码直接进入,专门用于解决 Authentication plugin caching_sha2_password 问题
#skip-grant-tables
socket=/tmp/mysql.sock
[mysqld_safe]
log-error = /var/log/mysqld.log
pid-file = /var/run/mysqld/mysqld.pid
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)