Saat mencoba memberikan hak istimewa kepada pengguna MySQL di server CentOS 6.x biasa, saya menerima kesalahan ini di konsol mysql:Tabel Kesalahan MySQL 'mysql.servers' tidak ada
Saya terkejut… hal pertama yang muncul di benak saya adalah ‘database mysql corrupt’, dan memang itulah masalahnya. Tabel mysql.user pasti ada pada instalasi MySQL normal, jadi ada sesuatu yang kacau pada instalasi MySQL.
Memperbaiki Tabel Kesalahan MySQL 'mysql.servers' tidak ada kesalahan
Coba periksa apakah mysql.user ada
use mysql; select * from user;
Hal pertama yang saya coba untuk memperbaiki masalah ini adalah menginstal ulang database mysql untuk membuat ulang semua tabel default mysql yang memulai MYSQL tanpa hak istimewa:
/usr/bin/mysql --skip-grant-tables & mysql -u root
Kemudian coba jalankan ini sebagai root dari terminal Linux:
mysql_install_db
Setelah itu, matikan proses MySQL sebelumnya dan mulai ulang MYSQL secara normal:
ps -aux | grep mysql
Dan matikan -9 semua prosesnya.
service mysqld restart
Jika itu tidak menyelesaikan masalah Anda, periksa izin direktori data MySQL Anda, mungkin mereka berubah entah bagaimana.
Opsi terakhir:buat dump mysql lengkap dari setiap database , hapus mysql sepenuhnya dan instal ulang dari awal.
Buat cadangan dari setiap basis data:
MYSQLPASS=putyourmysqlrootpasshere for i in $(mysql -u root -p$MYSQLPASS -Bse 'show databases'); do mysqldump --opt -p$MYSQLPASS $i -c> /root/mysql-dump-$i.sql; done
Periksa apakah cadangan Anda baik-baik saja:
ls -alh /root/mysql-dump*
Hapus server MySQL
yum remove mysql-server rm /var/lib/mysql -rf
Instal ulang MYSQL Server
yum install mysql-server service mysql start
Buat semua database secara manual, sama seperti hak istimewa dan pengguna mysql, lalu buang kembali cadangan .sql Anda ke setiap database.
Kesimpulan
Seperti yang Anda lihat, satu-satunya solusi yang saya temukan untuk ini adalah menghapus mysql sepenuhnya dan menginstal ulang dari awal. Namun ... apakah Anda tahu ada perbaikan lain untuk Tabel Kesalahan MySQL 'mysql.servers' tidak ada kesalahan?
Bacaan lebih lanjut:
- MySQL Tidak Dapat Menemukan Tabel