Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Lower_case_table_names =1 trên Ubuntu 18.04 không cho phép mysql khởi động

Để 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

  1. 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
  1. 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
    
  2. 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
    
  3. 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
    
  4. 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

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

  1. Bắt đầu mysql bằng

    sudo service mysql start
    
  2. 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'
  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.

  2. Thực thi mysql_upgrade để tạo lược đồ hệ thống



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bảng ALTER TABLE AUTO_INCREMENT =$ x

  2. Chọn phân vị thứ n từ MySQL

  3. Cách lấy các tệp đã tải lên bằng php

  4. com.mysql.jdbc.PacketTooBigException

  5. So sánh các chuỗi với một chuỗi có khoảng trống trước đó trong khi chuỗi kia thì không