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/fstabMasalah 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
Qqba82
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?
Qqba82
Pengguna Terverifikasi
Bergabung26 Juni 2018Pesan64
- 22 Agustus 2019
- #2
Terselesaikan
nano /etc/systemd/system/mysqld. melayani
ProtectHome = salah
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