mysql var/lib/mysql 目录不存在,无法启动mysql服务器

alm*_*mel 5 mysql path

我已经阅读了许多论坛帖子,并希望解决我在让自己的 mysql 服务器启动和正常工作时遇到的问题,但到目前为止都没有奏效。我读过的许多论坛帖子都引用了 /var/lib/mysql 文件夹,我收到的一些错误也是如此,例如当我运行时

$ mysqld
Run Code Online (Sandbox Code Playgroud)

在使用 Mac 的终端上并收到以下错误

2013-06-03 00:40:46 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2013-06-03 00:40:46 1851 [Warning] Can't create test file /var/lib/mysql/Alexs-MacBook-Pro-3.lower-test
2013-06-03 00:40:46 1851 [Warning] Can't create test file /var/lib/mysql/Alexs-MacBook-Pro-3.lower-test
mysqld: Can't change dir to '/var/lib/mysql/' (Errcode: 2 - No such file or directory)
2013-06-03 00:40:46 1851 [ERROR] Aborting

2013-06-03 00:40:46 1851 [Note] Binlog end
2013-06-03 00:40:46 1851 [Note] mysqld: Shutdown complete
Run Code Online (Sandbox Code Playgroud)

我已经从 MySQL 下载页面的 dmg 文件和解压缩的 tar.gz 文件中删除了与 MySQL 相关的所有内容并重新安装了 MySQL。没有任何效果。奇怪的是,几天前我还在使用 MySQL 和 MySQL Workbench,当我运行以下命令时它突然开始给我这个错误

$ mysql

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
Run Code Online (Sandbox Code Playgroud)

我什至无法使用 mysqld_safe 启动守护进程...我需要从这里开始演练如何让 MySQL 服务器再次正确运行。

maa*_*nus 10

在新的 Ubuntu 16 上,在做了一些废话之后,我手动删除了 /var/lib/mysql。我想要 mariadb 并希望

sudo apt-get remove mariadb-server mariadb-client
Run Code Online (Sandbox Code Playgroud)

其次是

sudo apt-get install mariadb-server mariadb-client
Run Code Online (Sandbox Code Playgroud)

重新创建它,但它没有。

有什么帮助

sudo apt-get remove mysql-common
Run Code Online (Sandbox Code Playgroud)

因为这个公共包似乎负责目录创建。这花了我比需要的时间长得多的时间,因为它是我没有明确安装的包,所以我没有考虑删除它(一些 autoremove 可能会有所帮助)。


Vor*_*ung 3

我会尝试这个。

mkdir /var/lib/mysql
chown -R mysql /var/lib/mysql
Run Code Online (Sandbox Code Playgroud)

我猜测您正在以用户“mysql”身份运行 mysql。如果没有,请创建用户mysql并使用选项 --user="mysql" 运行 mysqld_safe 或 chown 您正在运行的用户拥有的文件夹

  • 所以我检查了我的 /var/lib/mysql 目录,它确实存在。使用 chown -R mysql /var/lib/mysql 命令,我仍然无法访问它,所以我通过输入 sudo chmod 777 mysql 让所有人都可以使用它现在 mysql 可以访问它,但是当我运行 mysqld 时,它说它可以找不到文件“.mysql/plugin.frm”,最后以“找不到./mysql/host.frm”的致命错误结束。它还要求我运行 mysql_upgrade 来创建它。我这样做了,它说“致命错误,无法通过套接字/tmp/mysql.sock (2) 连接”。有什么建议么? (2认同)