[ERROR] Can’t open and lock privilege tables: Table ‘mysql.servers’ doesn’t exist in engine

Buat kalian yang bingung bagaimana mengatasi error seperti judul di atas, sekarang gak perlu bingung lagi. Karena sebenarnya solusinya cukup mudah. Simak lebih lanjut.

Kadang ada keadaan dimana kita mendapatkan error pesan seperti judul postingan ini, yaitu [ERROR] Can’t open and lock privilege tables: Table ‘mysql.servers’ doesn’t exist in engine bukan? Jika ditelusuri lebih jauh, hal ini karena adanya Innodb table space yang corrupted. Oleh karena itu harus kita betulkan dulu.

Biasanya tanda-tandanya adalah ketika login ke cPanel dan ingin menambahkan user ke privilege database tertentu, lalu setelah di tambahkan seharusnya ada tanda hijau dimana database sudah ditambahkan autentikasi user xxxx. Namun ketika insiden ini terjadi tidak ada muncul notifikasi hijau di cPanel.

Salah satu cara yang paling ampuh adalah melakukan restore “mysql” database atau table “servers” saja dari backupan. Kalau tidak punya, kita harus DROP existing table “servers” ini dulu, kemudian kita create ulang lagi.

CREATE TABLE `servers` (`Server_name` char(64) NOT NULL,`Host` char(64) NOT NULL,`Db` char(64) NOT NULL,`Username` char(64) NOT NULL,`Password` char(64) NOT NULL,`Port` int(4) DEFAULT NULL,`Socket` char(64) DEFAULT NULL,`Wrapper` char(64) NOT NULL,`Owner` char(64) NOT NULL,PRIMARY KEY (`Server_name`)) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Pastikan sudah backup databasenya terlebih dahulu.

cp -pR /var/lib/mysql/mysql /root/mysql/

Sejauh ini cara yang saya lakukan selalu berhasil dan tidak ada kendala yang cukup serius. Seharusnya teman-teman juga tidak menemui kendala yang cukup serius juga. Semoga berhasil.

Sumber

Leave a Reply

Your email address will not be published. Required fields are marked *