文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Navicat(或其他查看数据库软件)连不上mysql怎么解决?

2023-10-20 08:03

关注

一般连不上mysql无非几种情况:

密码错误;

mysql没有设置让其他ip可以连接;

这里讨论的是在linux下的mysql两种都有情况。而我们的解决办法也比较简单,第一步、修改配置;第二步、修改密码;第三步、配置权限让所有ip都可以连上;第四步、刷新保存让配置生效;最后、验证一下。是不是非常简单。下面开始:

1.修改配置文件 my.cnf,那么这个文件在哪里呢,在服务器命令行中输入下面这句就能打开这个my.cnf文件了:

vi /etc/my.cnf

2.打开以后在配置文件 [mysqld] 下添加 skip-grant-tables,你说这句怎么输入?简单:按一下键盘上的Insert键,然后光标就一闪一闪的,代表可以输入。输入完,同时安心shift+:两个键,再输入!wq就会退出。

[mysqld]

skip-grant-tables

3.然后就可以用空密码的 root 用户连接到 MySQL,并且更改 root 口令了,输入下面这句(下面这句就不用使用密码对吧):

mysql -u root

然后就进入下面这个状态:

mysql> 

在mysql后面输入:use mysql;

然后再输入:update user set password=password('123456') where User='root';

这两句回车,就可以把root用户的密码改成123456.

mysql> use mysql;Database changedmysql> update user set password=password('123456') where User='root';Query OK, 3 rows affected (0.00 sec)Rows matched: 3  Changed: 3  Warnings: 0

注意:一般情况上面这两句就可以搞定,但是,(好像是mysql后面版本问题,password这个字段后面版本没有了,改成authentication_string)。所以,要用这句:

update user set authentication_string=password('123456') where user='root';

OK,改完了要记得刷新一下让它生效。输入:flush privileges;

mysql> update user set password=password('123456') where User='root';ERROR 1046 (3D000): No database selectedmysql> use mysql;Database changedmysql> update user set password=password('123456') where User='root';Query OK, 3 rows affected (0.00 sec)Rows matched: 3  Changed: 3  Warnings: 0mysql> flush privileges;

最后输入:exit退出

mysql> update user set password=password('123456') where User='root';ERROR 1046 (3D000): No database selectedmysql> use mysql;Database changedmysql> update user set password=password('123456') where User='root';Query OK, 3 rows affected (0.00 sec)Rows matched: 3  Changed: 3  Warnings: 0mysql> flush privileges;Query OK, 0 rows affected (0.00 sec)mysql> exit

记得回来删除刚在my.cnf配置的那句,就是上面第1,2两步,把第2步的skip-grant-tables删除,然后保存。

9.激动人心的时候到了。这时候你就可以用新的密码登录了。赶快用navicat验证一下吧。如果你是远程连接,下面的主机ip地址记得改成你linux服务器的ip。

前面的修改已经搞定了,但是我们是要让所有设备都能远程数据库

一、在Linux上以root账号登录主机

二、在主机上登录MySQL

mysql -uroot -p123456

三、先删除原来的 root@% 用户(若之前没有创建,则跳过此步骤)

drop user 'root'@'%';

四、删除成功了,再创建用户 root@%

create user 'root'@'%' identified with mysql_native_password by '123456';

五、接着授权

grant all on *.* to 'root'@'%' with grant option;

六、刷新配置

flush privileges;

七、退出

exit;

来源地址:https://blog.csdn.net/anything14/article/details/127856256

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯