Để làm cho điều này hoạt động trong MySQL 8.0 và linux, hãy làm theo các bước dưới đây
-
Sao lưu lược đồ mysql trước khi thực hiện các bước sau bằng cách sử dụng
mysqldump -h localhost -u root -p mysql> /home/username/dumps/mysqldump.sql
và sau đó ngừng sử dụng mysql
sudo service mysql stop
-
di chuyển hoặc xóa thư mục / var / lib / mysql. Thao tác này sẽ xóa tất cả cơ sở dữ liệu !!!!
mv /var/lib/mysql /tmp/mysql
-
Tạo một thư mục / var / lib / mysql mới và đặt người dùng mysql làm chủ sở hữu
mkdir /var/lib/mysql chown -R mysql:mysql /var/lib/mysql chmod 750 /var/lib/mysql
-
chỉnh sửa /etc/mysql/mysql.conf.d/mysqld.cnf và thêm dòng sau vào sau
[mysqld] lower_case_table_names=1
-
Khởi tạo mysql bằng cách sử dụng sau
mysqld --defaults-file=/etc/mysql/my.cnf --initialize lower_case_table_names=1 --user=mysql --console
Thay đổi tệp mặc định với vị trí thực của tệp mặc định của bạn. Thông tin thêm về quá trình khởi tạo mysql tại đây: https://dev.mysql.com/doc/refman/8.0/en/data-directory-initialization-mysqld.html
-
(Tùy chọn) Lặp lại
chown -R mysql:mysql /var/lib/mysql chmod 750 /var/lib/mysql
nếu chủ sở hữu của các tệp trong / var / lib / mysql không phải là mysql
-
Bắt đầu mysql bằng
sudo service mysql start
-
Nếu mọi thứ hoạt động chính xác, hãy mở mysql bằng
mysql -u root -p
và bằng cách chạy truy vấn này
SHOW VARIABLES where Variable_name like 'lower%';
bạn sẽ nhận được
'lower_case_table_names', '1'
-
Khôi phục lược đồ mysql bằng cách sử dụng kết xuất được tạo ở bước 0.
-
Thực thi mysql_upgrade để tạo lược đồ hệ thống