MySQL 8.0およびLinuxでこれを機能させるには、次の手順に従います
-
mysqldump -h localhost -u root -p mysql> /home/username/dumps/mysqldump.sql
次に、
を使用してmysqlを停止しますsudo service mysql stop
-
/ var / lib/mysqlディレクトリを移動または削除します。これにより、すべてのデータベースが削除されます!!!!
mv /var/lib/mysql /tmp/mysql
-
新しい/var/ lib / mysqlディレクトリを作成し、mysqlユーザーを所有者にします
mkdir /var/lib/mysql chown -R mysql:mysql /var/lib/mysql chmod 750 /var/lib/mysql
-
/etc/mysql/mysql.conf.d/mysqld.cnfを編集し、
の後に次の行を追加します。[mysqld] lower_case_table_names=1
-
以下を使用してmysqlを初期化します
mysqld --defaults-file=/etc/mysql/my.cnf --initialize lower_case_table_names=1 --user=mysql --console
defaults-fileをデフォルトファイルの実際の場所に変更します。mysqlの初期化の詳細については、こちらをご覧ください: https://dev.mysql.com/doc/refman/8.0/en/data-directory-initialization-mysqld.html
-
(オプション)繰り返し
chown -R mysql:mysql /var/lib/mysql chmod 750 /var/lib/mysql
/ var / lib/mysql内のファイルの所有者がmysqlでない場合
-
sudo service mysql start
-
すべてが正しく機能した場合は、
を使用してmysqlを開きます。mysql -u root -p
そして、このクエリを実行することによって
SHOW VARIABLES where Variable_name like 'lower%';
取得します
'lower_case_table_names', '1'
-
手順0で作成したダンプを使用してmysqlスキーマを復元します。
-
mysql_upgradeを実行してsysスキーマを作成します