mysql - 无法连接到 localhost:3306 上的 mysql?
问题描述
似乎是一个非常基本的问题。但我找不到任何重复的答案。
无法连接到mysql。
我已经重新安装了mysql-server。没有任何区别。
MySql 似乎正在侦听套接字...
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 身份登录
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
dara@laptop-20-04:.../mysql/conf.d$ cat mysql.cnf
[mysql]
bind-address = localhost
[client]
protocol = tcp
也尝试过改变bind-address = 127.0.0.1
mysql版本
dara@laptop-20-04:.../mysql/conf.d$ mysql --version
mysql Ver 8.0.26-0ubuntu0.21.04.3 for Linux on x86_64 ((Ubuntu))
帮助!
解决方案
所以基本上日志文件显示锁定文件错误。我本来应该提供这个细节的。您可以在以下位置检查您的日志文件ubuntu
:
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
这是apparmor的错误配置。我在这里找到了解决方案...
您首先通过以下方式识别所有 mysql 进程:
$ ps aux | grep mysql
然后你杀死所有这些进程。其中 pid 是进程 ID:
sudo kill <pid>
然后你修复应用装甲:
$ apt install apparmor-profiles
然后mysql启动没问题:
sudo systemctl start mysql
推荐阅读
- javascript - JavaScript:数组、循环和函数
- c - C - UDP 接收来自未知来源的数据包
- c++ - 'struct' 错误之前的预期 ',' 或 '...'
- javascript - ReferenceError:未定义“工作表”
- ionic2 - Ionic2 选择值未定义
- arangodb - AQL:具有嵌套数组日期的动态查询
- c# - 测试是否可以在参数列表上调用通用方法
- java - Quartz 产生未处理的空指针异常
- android - onSaveInstanceState 在 onDestroyView 之后调用
- c++ - 当分配失败时,C++ allocator::allocate 应该抛出还是返回 nullptr?