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

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

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

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

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

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

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

Đã trả lời ngày 7 tháng 6 năm 2019 lúc 4:07Jun 7, 2019 at 4:07

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

Nếu bất cứ ai gặp phải vấn đề này ngay bây giờ, nếu bạn đã khởi tạo MySQL, có nghĩa là bạn đã có nó và chạy và sau đó lỗi này đã xảy ra, chỉ cần nhận xét dòng này trong tệp My.ini.

2018-08-11T19:45:06.461585Z 1 [ERROR] [MY-011087] [Server] Different lower_case_table_names settings for server ('1') and data dictionary ('0').
5

Đã trả lời ngày 9 tháng 6 năm 2020 lúc 10:10Jun 9, 2020 at 10:10

0

Cách tốt nhất để ngăn chặn vấn đề này là: Lúc đầu, hãy thêmprevent this problem is :At first add

2018-08-11T19:45:06.461585Z 1 [ERROR] [MY-011087] [Server] Different lower_case_table_names settings for server ('1') and data dictionary ('0').
6

Sau đó bắt đầu dịch vụ MySQL lần đầu tiên.

Nhưng dù sao nếu bạn đã khởi động máy chủ, để giải quyết vấn đề của bạn:

1.Stop mysql:

2018-08-11T19:45:06.461585Z 1 [ERROR] [MY-011087] [Server] Different lower_case_table_names settings for server ('1') and data dictionary ('0').
7

2. Thư mục dữ liệu hoặc thay đổi mặc định, sau đây là để cài đặt mới, nếu bạn có dữ liệu trong cơ sở dữ liệu của mình sao lưu chúng trướcBACK UP them beforehand

2018-08-11T19:45:06.461585Z 1 [ERROR] [MY-011087] [Server] Different lower_case_table_names settings for server ('1') and data dictionary ('0').
8

3.Insert Lower_case_table_names = 1 trong My.cnf:

2018-08-11T19:45:06.461585Z 1 [ERROR] [MY-011087] [Server] Different lower_case_table_names settings for server ('1') and data dictionary ('0').
6

4. khởi động một lần nữa

sudo apt-get update    
sudo apt-get install mysql-server -y
0

Đã trả lời ngày 5 tháng 8 năm 2019 lúc 19:45Aug 5, 2019 at 19:45

BehdadbehdadBehdad

1743 Huy hiệu bạc12 Huy hiệu Đồng3 silver badges12 bronze badges

2

Lower_case_table_names trong MySQL là gì?

Sử dụng Lower_Case_Table_Names = 0 trên Unix và Lower_Case_Table_Names = 2 trên Windows. Điều này bảo tồn thư của cơ sở dữ liệu và tên bảng. Nhược điểm của điều này là bạn phải đảm bảo rằng các câu lệnh của bạn luôn đề cập đến cơ sở dữ liệu và tên bảng của bạn với chữ cái chính xác trên Windows.preserves the lettercase of database and table names. The disadvantage of this is that you must ensure that your statements always refer to your database and table names with the correct lettercase on Windows.

Làm thế nào để tôi làm một trường hợp

Hiển thị hoạt động trên bài đăng này ...
Xác định vị trí tệp tại /etc/mysql/my.cnf ..
Chỉnh sửa tệp bằng cách thêm các dòng sau: [mysqld] lowd_case_table_names = 1 ..
sudo /etc/init.d/mysql khởi động lại ..
Chạy các biến root -p mysqladmin -U |Bảng grep để kiểm tra xem lowdy_case_table_names bây giờ là 1 ..

MySQL 8.0 có ổn định không?

MySQL 8.0 làm tăng độ tin cậy tổng thể của MySQL vì: MySQL 8.0 lưu trữ dữ liệu meta của nó vào Innodb, một công cụ lưu trữ giao dịch đã được chứng minh.Các bảng hệ thống như người dùng và đặc quyền cũng như các bảng từ điển dữ liệu hiện đang cư trú tại Innodb.MySQL 8.0 loại bỏ một nguồn không nhất quán tiềm năng. because : MySQL 8.0 stores its meta-data into InnoDB, a proven transactional storage engine. System tables such as Users and Privileges as well as Data Dictionary tables now reside in InnoDB. MySQL 8.0 eliminates one source of potential inconsistency.

Là trường hợp chọn mysql

Theo mặc định, nó phụ thuộc vào hệ điều hành và độ nhạy trường hợp của nó.Điều này có nghĩa là MySQL không nhạy cảm trường hợp trong Windows và MacOS, trong khi nó nhạy cảm với trường hợp trong hầu hết các hệ thống Linux.Tuy nhiên, bạn có thể thay đổi hành vi bằng cách thay đổi đối chiếu.MySQL is case-insensitive in Windows and macOS, while it is case-sensitive in most Linux systems. However, you can change the behavior by changing collation.