如何为MySQL创建数据库目录结构?
我正在学习本教程:
https://www.digitalocean.com/community/tutorials/how-to-use-mysql-with-your-ruby-on-rails-application-on-ubuntu-14-04
到目前为止,我安装了mysql-server mysql-client libmysqlclient-dev ,我想告诉MySQL创建它的数据库目录结构,它将使用sudo mysql_install_db
存储其信息。
$ sudo mysql_install_db [WARNING] mysql_install_db is deprecated. Please consider switching to mysqld --initialize [ERROR] The data directory needs to be specified.
我以为运行mysqld --initialize
会解决问题:
$ mysqld --initialize mysqld: Can't create directory '/var/lib/mysql/' (Errcode: 17 - File exists) [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). [ERROR] Aborting
如何告诉MySQL创建其存储信息的数据库目录结构?
我设法使用之前回答的问题解决问题, 如何在Ubuntu 16.04上安装mysql ,但我需要修改解决方案以便为我工作。
当我删除/移动/var/lib/mysql
目录时, mysqld --initialize
无法创建我想要替换/var/lib/mysql
的数据库目录,它给了我Errcode: 13 - Permission denied
即使我先于Errcode: 13 - Permission denied
它与sudo
。
我删除/移动了/var/lib/mysql/
,但没有删除目录本身。 我再次尝试运行sudo mysql --initialize
,它工作,并在/var/lib/mysql/
目录中创建了新内容。 mysql --initialize
生成的内容与我删除/移动的先前内容不同。
我继续了教程中的其余步骤,并且工作得很好。
PS我需要使用sudo -i
来访问/var/lib/mysql
。