Ubuntu 16.04 上的 mysql_install_db

Ubuntu 16.04 上的 mysql_install_db

我在安装时遇到问题mysql_install_db

当我打电话时mysql_install_db收到此错误:

[WARNING] mysql_install_db is deprecated. Please consider switching to mysqld --initialize
2016-10-10 16:06:57 [ERROR]   The data directory needs to be specified.
root@furniture-ecommerce:~# mysqld --initialize
2016-10-10T16:13:24.343724Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2016-10-10T16:13:24.350429Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting.
2016-10-10T16:13:24.350786Z 0 [ERROR] Aborting

/var/lib/mysql我按照这里的建议删除了目录-邮政但是当我调用时mysqld --initialize就会出现这个错误:

mysqld: Can't create directory '/var/lib/mysql/' (Errcode: 13 -     Permission denied)
2016-10-10T16:23:29.515470Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2016-10-10T16:23:29.519420Z 0 [ERROR] Aborting

你能帮助我吗?

答案1

我建议您执行以下操作。
创建目录:

mkdir -p /var/lib/mysql

注意:如果您想更改上面的 mysql 数据存储的默认目录,那么您还需要在 apparmor 配置中添加新目录才能使用。

安装 MySQL 服务器包和其他包。

sudo apt-get install mysql-server mysql-client mysql-common

申请所需的所有权和权限。

chown -R mysql.mysql /var/lib/mysql
chmod -R 775 /var/lib/mysql

如果您不希望 apparmor 引发不必要的问题,最好按如下方式禁用它。

sudo service apparmor stop
sudo ln -s /etc/apparmor.d/usr.sbin.mysqld /etc/apparmor.d/disable/
sudo service apparmor restart
sudo aa-status

现在重新启动系统。

sudo reboot

现在按如下方式初始化 MySQL。

mysql_install_db

检查一切是否顺利。您现在可以使用安全安装程序。

sudo mysql_secure_installation

就这样。

答案2

打开终端并输入:

sudo apt-get purge mysql-server

(也可以放mysql*)

sudo apt-get autoclean
sudo apt-get install mysql-server

答案3

我删除/移动了 的内容/var/lib/mysql/,但目录本身没有删除/移动。我再次尝试运行

sudo mysqld --initialize

并且成功了,并在/var/lib/mysql/目录中创建了新内容

相关内容