事故のため、/ var / lib / mysqlディレクトリ全体を削除しました。データベースには重要なものが何も含まれていなかったため、古いバックアップからデータベースを復元する手間を省きたいのではなく、最初からディレクトリ構造を作成します。MySQLを再インストールせずに行うにはどうすればよいですか?
事故のため、/ var / lib / mysqlディレクトリ全体を削除しました。データベースには重要なものが何も含まれていなかったため、古いバックアップからデータベースを復元する手間を省きたいのではなく、最初からディレクトリ構造を作成します。MySQLを再インストールせずに行うにはどうすればよいですか?
回答:
コマンドラインから実行することができるはずですmysql_install_db
mysql_install_dbは、MySQLデータディレクトリを初期化し、そこに含まれるシステムテーブルを作成します(存在しない場合)。また、InnoDBテーブルの管理に必要なシステムテーブルスペースと関連データ構造も初期化します。MySQL 5.6.8の時点では、mysql_install_dbはPerlスクリプトであり、Perlがインストールされているすべてのシステムで使用できます。5.6.8より前は、シェルスクリプトであり、Unixプラットフォームでのみ使用可能です。
のMySQLドキュメントをすべてお読みくださいmysql_install_db
。
最初の試行で機能しない場合は、これを行います
mkdir /var/lib/mysql
mkdir /var/lib/mysql/mysql
chown -R mysql:mysql /var/lib/mysql
その後、mysql_install_db
再度実行します
restorecon -r /var/lib/mysql
SELinuxが有効になっている場合も必要になる場合があります
MySQL 5.7の場合>ちょうど:
# Move or remove the original dir
mv /var/lib/mysql /tmp/mysql
# Create a new dir
mkdir /var/lib/mysql
# Change owner to mysql (user and group)
chown -R mysql:mysql /var/lib/mysql
# Create MySQL initial data
mysqld --initialize