首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法连接到本地主机上的mysql :3306?

问无法连接到本地主机上的mysql :3306?
EN

Stack Overflow用户
提问于 2021-09-30 09:40:57
回答 2查看 104关注 0票数 0

这似乎是一个非常基本的问题。但我找不到任何重复的答案。

无法连接到mysql。

我已经重新安装了mysql-server。没什么不同。

MySql似乎正在监听套接字...

代码语言:javascript
复制
dara@laptop-20-04:~/Desktop$ netstat -an | grep mysql
unix  2      [ ACC ]     STREAM     LISTENING     690638   /var/run/mysqld/mysqlx.sock
unix  2      [ ACC ]     STREAM     LISTENING     690639   /var/run/mysqld/mysqld.sock

但是我不能以root用户身份登录

代码语言:javascript
复制
dara@laptop-20-04:~/Desktop$ sudo /etc/init.d/mysql stop
Stopping mysql (via systemctl): mysql.service.
dara@laptop-20-04:~/Desktop$ sudo mysqld --skip-grant-tables &
[3] 119080
dara@laptop-20-04:~/Desktop$ mysql -u root mysql
ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost:3306' (111)
^G[2]-  Exit 1                  sudo mysqld --skip-grant-tables

我的mysql.cnf

代码语言:javascript
复制
dara@laptop-20-04:.../mysql/conf.d$ cat mysql.cnf
[mysql]
bind-address = localhost

[client]
protocol = tcp

我还尝试过更改bind-address = 127.0.0.1

mysql版本

代码语言:javascript
复制
dara@laptop-20-04:.../mysql/conf.d$ mysql --version
mysql  Ver 8.0.26-0ubuntu0.21.04.3 for Linux on x86_64 ((Ubuntu))

帮助!

EN

回答 2

Stack Overflow用户

发布于 2021-09-30 10:04:31

正如您所说的,MySQL只监听看起来像是的套接字,并且您强制您的客户端使用TCP。尝试以下操作:

代码语言:javascript
复制
mysql -u root -S /var/run/mysqld/mysqld.sock
票数 0
EN

Stack Overflow用户

发布于 2021-10-01 11:05:17

因此,日志文件基本上显示了一个锁定文件错误。我一开始就应该提供这个细节。您可以在以下位置检查ubuntu的日志文件:

代码语言:javascript
复制
tail /var/log/mysql/error.log

> 2021-10-01T10:51:37.787720Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.26-0ubuntu0.21.04.3) starting as process 145495
2021-10-01T10:51:37.796108Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2021-10-01T10:51:37.820698Z 1 [ERROR] [MY-012574] [InnoDB] Unable to lock ./ibdata1 error: 11

这是幻影的错误配置。我找到了一个解决方案..。

Stackoverflow mysql solution

您首先通过以下方式标识所有mysql进程:

代码语言:javascript
复制
$ ps aux | grep mysql

然后你杀掉所有这些进程。其中pid是进程id:

代码语言:javascript
复制
sudo kill <pid>

然后你修复应用程序的装甲:

代码语言:javascript
复制
$ apt install apparmor-profiles

然后,mysql启动时没有任何问题:

代码语言:javascript
复制
sudo systemctl start mysql
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69389894

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档