Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

lower_case_table_names=1 di Ubuntu 18.04 tidak membiarkan mysql memulai

Untuk membuatnya berfungsi di MySQL 8.0 dan linux, ikuti langkah-langkah di bawah ini

  1. Cadangkan skema mysql sebelum menjalankan langkah-langkah berikut menggunakan

    mysqldump -h localhost -u root -p mysql> /home/username/dumps/mysqldump.sql

dan kemudian hentikan mysql menggunakan

sudo service mysql stop
  1. pindahkan atau hapus direktori /var/lib/mysql. Ini akan menghapus semua database!!!!

    mv /var/lib/mysql /tmp/mysql
    
  2. Buat direktori /var/lib/mysql baru dan jadikan pengguna mysql sebagai pemilik

    mkdir /var/lib/mysql
    chown -R mysql:mysql /var/lib/mysql
    chmod 750 /var/lib/mysql
    
  3. edit /etc/mysql/mysql.conf.d/mysqld.cnf dan tambahkan baris berikut setelah

    [mysqld]
    
    lower_case_table_names=1
    
  4. Inisialisasi mysql menggunakan yang berikut

    mysqld --defaults-file=/etc/mysql/my.cnf --initialize lower_case_table_names=1 --user=mysql --console
    

Ubah file defaults dengan lokasi sebenarnya dari file default Anda. info lebih lanjut tentang inisialisasi mysql di sini:https://dev.mysql.com/doc/refman/8.0/en/data-directory-initialization-mysqld.html

  1. (Opsional) Ulangi

    chown -R mysql:mysql /var/lib/mysql
    chmod 750 /var/lib/mysql
    

jika pemilik file di /var/lib/mysql bukan mysql

  1. Mulai mysql menggunakan

    sudo service mysql start
    
  2. Jika semuanya bekerja dengan benar, buka mysql menggunakan

    mysql -u root -p
    

dan dengan menjalankan kueri ini

SHOW VARIABLES where Variable_name like 'lower%';

Anda akan mendapatkan

'lower_case_table_names', '1'
  1. Pulihkan skema mysql menggunakan dump yang dibuat pada langkah 0.

  2. Jalankan mysql_upgrade untuk membuat skema sys



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sekuel:Kesalahan:Kesalahan:Tabel1 tidak terkait dengan Tabel2

  2. Kembalikan catatan ke-n dari kueri MySQL

  3. Cara menggunakan mysqlimport untuk membaca hasil mysqldump --databases

  4. ROW_NUMBER() di MySQL

  5. PHP - menghubungkan ke database mysql dari server yang berbeda