Tôi vừa tổng hợp phiên bản MySQL 8.0.12 trong Ubuntu 16.0.4.
Sau khi làm theo các hướng dẫn trong trang web và tạo tệp My.cnf sau:
[mysqld]
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
port=3306
log-error=/usr/local/mysql/data/localhost.localdomain.err
user=mysql
secure_file_priv=/usr/local/mysql/mysql-files
local_infile=OFF
log_error = /var/log/mysql/error.log
# Remove case sensitive in table names
lower_case_table_names=1
Tôi nhận được lỗi sau đây:
2018-08-11T19:45:06.461585Z 1 [ERROR] [MY-011087] [Server] Different lower_case_table_names settings for server ['1'] and data dictionary ['0'].
Tôi nên thay đổi điều gì để từ điển dữ liệu được căn chỉnh với cài đặt máy chủ?
Hỏi ngày 11 tháng 8 năm 2018 lúc 19:53Aug 11, 2018 at 19:53
Asukaasukaasuka
2.1293 huy hiệu vàng21 Huy hiệu bạc24 Huy hiệu đồng3 gold badges21 silver badges24 bronze badges
2
Cho đến nay, tôi có thể làm cho nó hoạt động với một cách giải quyết [ban đầu tôi đã đăng trên Askubuntu]: bằng cách khởi tạo lại MySQL với giá trị mới cho
sudo apt-get update
sudo apt-get install mysql-server -y
1 sau khi cài đặt. Các bước sau đây áp dụng cho một cài đặt mới. Nếu bạn đã có dữ liệu trong cơ sở dữ liệu, hãy xuất nó trước để nhập lại sau:- Cài đặt MySQL:
sudo apt-get update sudo apt-get install mysql-server -y
- Dừng dịch vụ MySQL:
sudo service mysql stop
- Xóa thư mục dữ liệu MySQL:
sudo rm -rf /var/lib/mysql
- Tái tạo thư mục dữ liệu MySQL [vâng, không đủ để xóa nội dung của nó]:
sudo mkdir /var/lib/mysql sudo chown mysql:mysql /var/lib/mysql sudo chmod 700 /var/lib/mysql
- Thêm
2 vào phầnsudo apt-get update sudo apt-get install mysql-server -y
3 trongsudo apt-get update sudo apt-get install mysql-server -y
4.sudo apt-get update sudo apt-get install mysql-server -y
- Tái tạo lại MySQL với
5:sudo apt-get update sudo apt-get install mysql-server -y
sudo mysqld --defaults-file=/etc/mysql/my.cnf --initialize --lower_case_table_names=1 --user=mysql --console
- Bắt đầu dịch vụ MySQL:
sudo service mysql start
- Truy xuất mật khẩu được tạo mới cho người dùng MySQL
6:sudo apt-get update sudo apt-get install mysql-server -y
sudo grep 'temporary password' /var/log/mysql/error.log
- Thay đổi mật khẩu của người dùng MySQL
6 bằng cách:sudo apt-get update sudo apt-get install mysql-server -y
và thực thi:sudo mysql -u root -p
0 sau đó hoặc bằng cách gọi tập lệnh "làm cứng" bằng mọi cách:2018-08-11T19:45:06.461585Z 1 [ERROR] [MY-011087] [Server] Different lower_case_table_names settings for server ['1'] and data dictionary ['0'].
12018-08-11T19:45:06.461585Z 1 [ERROR] [MY-011087] [Server] Different lower_case_table_names settings for server ['1'] and data dictionary ['0'].
Sau đó, bạn có thể xác minh cài đặt
sudo apt-get update
sudo apt-get install mysql-server -y
1 bằng cách nhập vỏ MySQL:sudo mysql -u root -p
và thực thi:
2018-08-11T19:45:06.461585Z 1 [ERROR] [MY-011087] [Server] Different lower_case_table_names settings for server ['1'] and data dictionary ['0'].
3Đầu ra dự kiến:
2018-08-11T19:45:06.461585Z 1 [ERROR] [MY-011087] [Server] Different lower_case_table_names settings for server ['1'] and data dictionary ['0'].
4Đã trả lời ngày 24 tháng 7 năm 2020 lúc 8:25Jul 24, 2020 at 8:25
StackProtectorStackProtectorstackprotector
8.4074 Huy hiệu vàng25 Huy hiệu bạc53 Huy hiệu Đồng4 gold badges25 silver badges53 bronze badges
2
Theo liên kết này, Lower_case_table_names phải được đặt cùng với tùy chọn - -retialize.
Đã trả lời ngày 11 tháng 8 năm 2018 lúc 21:47Aug 11, 2018 at 21:47
Praveen Epraveen ePraveen E
8827 Huy hiệu bạc12 Huy hiệu đồng7 silver badges12 bronze badges
6
Để khắc phục sự cố này,
Chỉ cần sao lưu lược đồ DB hiện có bằng lệnh sau bên trong thư mục bin [/usr/local/mysql/bin]../mysqldump -uroot -p password > dump.sql
Khi bản sao lưu được thực hiện, hãy xóa thư mục dữ liệu hiện có trong nhà mysql [/usr/local/mysql/]rm -rf data
Bây giờ hãy thêm cấu hình là "lower_case_table_names = 1" trong my.cnf trong phần MySQLD [/etc/my.cnf]lower_case_table_names=1" in my.cnf under MYSQLD section [/etc/my.cnf]
Bây giờ khởi tạo thư mục dữ liệu bằng cách sử dụng lệnh sau bên trong thư mục bin [/usr/local/mysql/bin]
Cho chế độ an toàn ./mysqld--defaults-file =/etc ./mysqld --defaults-file=/etc/my.cnf --initialize --user=mysql --console
Đối với chế độ không an toàn. ./mysqld --defaults-file=/etc/my.cnf --initialize-insecure --user=mysql --console
Khi thư mục dữ liệu được khởi tạo, đối với chế độ không an toàn, hãy lặp lại cài đặt và đối với chế độ an toàn, hãy sử dụng mật khẩu gốc được khởi tạo trong thời gian chạy khởi tạo thư mục dữ liệu.For Insecure mode repeat the Installation again and For Secure mode use the root password which is initialized during the run time of data directory Initialization.
Bây giờ nhập tệp kết xuất hiện có bên trong máy chủ MySQL bằng thư mục bên trong [/usr/local/mysql/bin]
./mysql -uroot -p mật khẩu