站点图标 谷姐靓号网

有个mysql的问题快让郁闷死了,求助-free2035

Rate this post

我有个云服务器上的别人给装了mysql8,然后呢吧数据库文件都放到一个外界盘,给的root连不上

运行mysql -h 127.0.0.1 -u root -p,输入密码,直接提示 ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1:3306' (111),
但是呢ps aux | grep mysql,查到mysql明明进程都有,就是重启设置跳过验证都不行,就提示服务器连接不上

系统是ubuntu18,mysql8.0

想运行备份命令,mysqldump -h 127.0.0.1 -u root -p --all-databases >/sata2/all.sql
结果也是提示 ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1:3306' (111)

各位技术大佬扶贫下,谢谢

热议
推荐楼 free2035 昨天21:36

看看mysql配置文件

/etc/my.cnf ?
没有东西呢

2楼 hxb 昨天21:35

看看mysql配置文件

4楼 ftlh2005 昨天21:37

看出来你很着急,叙述的有一丢丢乱

5楼 1tv 昨天21:38

你为什么不带端口

6楼 伴之则安 昨天21:40

v50 给你解决

7楼 free2035 昨天21:41

root@VM-0-7-ubuntu:/ssd/mysql8/bin# mysqldump -h 127.0.0.1 -P 3306 -u root -p --all-databases >/ssd/all.sql
Enter password:
mysqldump: Got error: 2003: Can't connect to MySQL server on '127.0.0.1' (111) when trying to connect

看看

9楼 lscy 昨天22:07

先看下MySQL日志吧

10楼 free2035 昨天22:19

看看

这个命令用不了,
Unit mysql.service could not be found.

12楼 free2035 昨天22:42

sudo netstat -nlp |grep mysqld
输出贴出来

root@VM-0-7-ubuntu:/ssd/mysql8/bin# sudo netstat -nlp |grep mysqld
unix2 [ ACC ] STREAM LISTENING 336425628769/mysqld /ssd/mysql8/mysql.sock
unix2 [ ACC ] STREAM LISTENING 336425528769/mysqld /tmp/mysqlx.sock

13楼 aru 昨天23:08

root@VM-0-7-ubuntu:/ssd/mysql8/bin# sudo netstat -nlp |grep mysqld
unix2 [ ACC ] STREAM ...

你的mysql服务器没侦听tcp端口,只能通过sock 连接
mysql -uroot -p --socket=/ssd/mysql8/mysql.sock

mysqldump 同样处理,去掉 -h 127.0.01, 加上 --socket=/ssd/mysql8/mysql.sock

原因是你在mysqdl启动命令或配置文件加上了 skip-networking 参数,将这个去掉吧

14楼 free2035 昨天23:33

你的mysql服务器没侦听tcp端口,只能通过sock 连接
mysql -uroot -p --socket=/ssd/mysql8/mysql.sock

好的,怎么能改成tpc端口监听呢

15楼 BackDoor 昨天23:40

通过您提供的信息,问题可能涉及到多个方面。以下是可能的解决方法和建议:

检查MySQL服务是否正在运行: 您可以运行以下命令来确认MySQL服务是否正在运行:

sh
Copy code
sudo service mysql status
如果MySQL没有运行,您可以使用以下命令启动它:

sh
Copy code
sudo service mysql start
检查MySQL端口: 您在尝试连接MySQL时使用的端口是3306。请确保MySQL实际上在使用该端口。您可以通过编辑MySQL配置文件来确认:

sh
Copy code
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
在文件中查找类似于 port = 3306 的行,确保MySQL正在侦听指定的端口。

检查防火墙设置: 如果防火墙设置不正确,可能会阻止MySQL连接。请确保防火墙允许流量通过3306端口。您可以尝试禁用防火墙进行测试,如果可以连接,说明是防火墙问题。然后逐步添加防火墙规则以允许MySQL流量。

确认MySQL用户访问权限: 您在尝试连接时使用的MySQL用户名(root)可能没有在本地主机上具有访问权限。请确保MySQL用户具有适当的主机访问权限。可以使用以下命令进行检查和授予权限:

sql
Copy code
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'your_password' WITH GRANT OPTION;
FLUSH PRIVILEGES;
请将 'your_password' 替换为您的实际密码。

检查Bind地址: 检查MySQL配置文件中的bind-address设置。将其设置为0.0.0.0 可以让MySQL监听所有可用的网络接口。

检查硬件资源: 确保服务器具有足够的内存和处理能力来运行MySQL。如果资源不足,可能会导致MySQL无**常启动或响应连接。

查看日志文件: 检查MySQL的错误日志文件,通常位于 /var/log/mysql/error.log。查看日志以获取有关连接问题的更多详细信息,有助于诊断问题。

请注意,更改MySQL配置或执行敏感操作之前,请务必备份数据和配置文件,以免发生不可预料的问题。如果您不确定如何执行这些步骤,强烈建议寻求专业系统管理员的帮助。

16楼 free2035 9小时前

通过您提供的信息,问题可能涉及到多个方面。以下是可能的解决方法和建议:

检查MySQL服务是否正在运行:...

管理那个是对的,就是sock链接方式,头一次见这个,感谢各位20cm的dadiao

17楼 yangken 半小时前

不要-h 127.0.0.1这个

申明:本文内容由网友收集分享,仅供学习参考使用。如文中内容侵犯到您的利益,请在文章下方留言,本站会第一时间进行处理。

退出移动版