Tidak dapat membuat file uji /var/lib/mysql/mysqld_tmp_file_case_insensitive_test uji lebih rendah

Mengalami kesalahan yang sangat aneh saat memulai MySql saya setelah saya memindahkan folder data MySql dari/var/lib/mysql ke/folder/data di Server RHEL 7 saya,

2017-03-23 11:50:52 2119 [Warning] Can't create test file /folder/data/servername.lower-test
2017-03-23 11:50:52 2119 [Warning] Can't create test file /folder/data/servername.lower-test
2017-03-23 11:50:52 2119 [ERROR] /usr/sbin/mysqld: Can't create/write to file 
    '/folder/data/servername.lower-test' (Errcode: 13 - Permission denied)

sangat sangat aneh karena saya sudah mengubah kepemilikan data /folder saya menjadi pengguna mysql, dan masih tidak berfungsi. Saya bahkan chmod ke 777 untuk tujuan pengujian, namun tetap tidak ada hasil yang positif. Setelah beberapa saat saya mengetahui bahwa SELinux saya memblokirnya, berikut adalah perintah untuk membuka blokirnya

[root@servername ~]# setenforce 0
[root@servername ~]# getenforce
Permissive
_

tetapi perintah di atas hanya mengkonfigurasi SELinux Anda sampai reboot. Jika Anda ingin membuatnya permanen, Anda bisa menggunakan perintah ini,

Ini adalah salah satu kesalahan yang sangat membuat seseorang frustrasi karena Anda tidak dapat mencarinya. Lusinan orang lain mengalami masalah ini dan mereka menyelesaikannya hanya dengan memperbarui izin. Itu bukan solusi saya. Saya menemukan satu jawaban di askubuntu yang melewati 3 solusi, salah satunya menyebutkan apparmor. Hore. Itu masuk akal

Solusinya - ikat tunggangan

Tidak ingin sepenuhnya menonaktifkan dan menghancurkan apparmor, tetapi menyadari masalahnya adalah beberapa lapisan keamanan melarang akses pengguna mysql di luar /var/lib/mysql, I decided to simply mount the /data/mysql directory as /var/lib/mysql.

$ sudo mv /var/lib/mysql/* /data/mysql/
$ sudo mount -o bind /data/mysql /var/lib/mysql
$ echo '/data/mysql /var/lib/mysql none bind' >> /etc/fstab 

Masalah terpecahkan - dan saya tidak perlu menonaktifkan apparmor

Sekarang saya memiliki MySQL yang menulis semua informasi tabel ke cloud drive, yang dapat dipindahkan dan dilampirkan kembali ke instance cloud computing lainnya. Ini sebenarnya tidak dihitung sebagai cadangan, karena bencana crash akan membuat tabel InnoDB dalam keadaan rusak. Streaming binlog ke drive ini mungkin dihitung sebagai cadangan

Q

qba82

Pengguna Terverifikasi

Bergabung26 Juni 2018Pesan64

  • 21 Agustus 2019
  • #1

Hai,
beberapa waktu lalu saya melakukan ini

https. //membantu. directadmin. com/item. php?id=12

dan itu berfungsi dengan baik, versi mariaDB saya adalah 5. 5, sekarang saya putuskan untuk upgrade ke 10. 2, dan mariadb tidak dimulai, saya mengerti

Tidak dapat membuat file uji /var/lib/mysql/s1. uji rendah

apa yang mungkin menjadi masalah?

 

Q

qba82

Pengguna Terverifikasi

Bergabung26 Juni 2018Pesan64

  • 22 Agustus 2019
  • #2

Terselesaikan
nano /etc/systemd/system/mysqld. melayani
ProtectHome = salah

 

  • Like
Reaksi. membantu sysadmin

Untuk melanjutkan dari apa yang Anda miliki di sini. Anda dapat membuat direktori yang hilang tetapi pastikan direktori tersebut dimiliki oleh user\group mysql. chown -R mysql:mysql /var/lib/mysql_

Jika Anda ingin mengubah direktori data MySQL, lakukan di file konfigurasi MySQL /etc/mysql/my.cnf

Kemudian Anda dapat memilih antara mengonfigurasi apparmor untuk memungkinkan MySQL membaca\mengeksekusi\memodifikasi direktori data baru dan sub direktori atau, dengan risiko Anda sendiri, Anda dapat menghapus apparmor. Anda mungkin harus root_ untuk melakukan hal berikut

File uji MySQL sebenarnya adalah sesuatu yang ditulis MySQL ke folder datadir selama startup untuk memeriksa apakah MySQL dapat menulis file ke folder itu

Masalah sebenarnya dari kesalahan di atas berasal dari log aktual yang ditandai dengan [ERROR], yaitu MySQL gagal menyetel datadir ke D:\programs\MySQL\MySQL Server 8.0\data

Datadir adalah tempat MySQL menyimpan semua informasi database Anda, sehingga perlu diatur pada folder/direktori yang ada

Ketika Anda menemukan kesalahan ini, Anda dapat mengatasinya dengan memeriksa apakah direktori datadir sudah ada (dan buatlah jika belum ada)

Dalam kasus saya, lokasinya ada di D:\programs\MySQL\MySQL Server 8.0\data, jadi saya perlu memastikan folder data/ ada di jalur itu

Anda mungkin memiliki jalur yang berbeda tergantung pada konfigurasi Anda selama instalasi MySQL

Setelah Anda membuat folder data/_, Anda dapat mencoba memulai server MySQL lagi

Singkatnya, can't create test file_ bukanlah kesalahan yang sebenarnya karena ditandai dengan tanda

[ERROR] failed to set datadir to D:\programs\MySQL\MySQL Server 8.0\data
[ERROR] Aborting
[Note] Binlog end
[Note] mysqld: Shutdown complete
0 di konsol

Tapi peringatan biasanya berarti Anda mungkin memiliki masalah dengan konfigurasi folder MySQL datadir

Anda perlu memeriksa pesan kesalahan aktual yang ditandai dengan [ERROR] di konsol untuk memperbaiki masalah tersebut