Hướng dẫn set global lower_case_table_names = 1 mysql 8 - đặt global Lower_case_table_names = 1 mysql 8

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:

  1. Cài đặt MySQL:
    sudo apt-get update    
    sudo apt-get install mysql-server -y
    
  2. Dừng dịch vụ MySQL:
    sudo service mysql stop
    
  3. Xóa thư mục dữ liệu MySQL:
    sudo rm -rf /var/lib/mysql
    
  4. 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
    
  5. Thêm
    sudo apt-get update    
    sudo apt-get install mysql-server -y
    
    2 vào phần
    sudo apt-get update    
    sudo apt-get install mysql-server -y
    
    3 trong
    sudo apt-get update    
    sudo apt-get install mysql-server -y
    
    4.
  6. Tái tạo lại MySQL với
    sudo apt-get update    
    sudo apt-get install mysql-server -y
    
    5:
    sudo mysqld --defaults-file=/etc/mysql/my.cnf --initialize --lower_case_table_names=1 --user=mysql --console
    
  7. Bắt đầu dịch vụ MySQL:
    sudo service mysql start
    
  8. Truy xuất mật khẩu được tạo mới cho người dùng MySQL
    sudo apt-get update    
    sudo apt-get install mysql-server -y
    
    6:
    sudo grep 'temporary password' /var/log/mysql/error.log
    
  9. Thay đổi mật khẩu của người dùng MySQL
    sudo apt-get update    
    sudo apt-get install mysql-server -y
    
    6 bằng cách:
    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'].
    
    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'].
    
    1

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,

  1. 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

  2. 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

  3. 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]

  4. 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

  1. 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.

  2. 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

Chủ Đề