Setiap kali Anda memutakhirkan MySQL, Anda harus menjalankan mysql_upgrade, yang mencari ketidaksesuaian dengan server MySQL yang ditingkatkan
Ini memutakhirkan tabel sistem dalam skema mysql sehingga Anda dapat memanfaatkan hak istimewa atau kemampuan baru yang mungkin telah ditambahkan
Ini meningkatkan Skema Kinerja
Ini memeriksa skema pengguna
Jika mysql_upgrade menemukan bahwa tabel memiliki kemungkinan ketidakcocokan, ia melakukan pemeriksaan tabel dan, jika ditemukan masalah, upaya perbaikan tabel. Jika tabel tidak dapat diperbaiki, lihat Bagian 2. 11. 10, “Membangun Kembali atau Memperbaiki Tabel atau Indeks” untuk strategi perbaikan tabel manual
Jika Anda menginstal MySQL dari paket RPM di Linux, Anda harus menginstal RPM server dan klien. mysql_upgrade termasuk dalam RPM server tetapi membutuhkan RPM klien karena yang terakhir menyertakan mysqlcheck. (Lihat Bagian 2. 5. 5, “Menginstal MySQL di Linux Menggunakan Paket RPM dari Oracle”. )
Di Windows, Anda harus menjalankan mysql_upgrade dengan hak administrator. Anda dapat melakukannya dengan menjalankan Command Prompt sebagai Administrator dan menjalankan perintah. Kegagalan untuk melakukannya dapat mengakibatkan pemutakhiran gagal dijalankan dengan benar
Anda harus selalu mencadangkan instalasi MySQL Anda saat ini sebelum melakukan pemutakhiran. Lihat Bagian 7. 2, "Metode Pencadangan Basis Data"
Beberapa ketidaksesuaian pemutakhiran mungkin memerlukan penanganan khusus sebelum memutakhirkan instalasi MySQL Anda dan menjalankan mysql_upgrade. Lihat Bagian 2. 11, “Memutakhirkan MySQL”, untuk petunjuk tentang menentukan apakah ketidaksesuaian tersebut berlaku untuk instalasi Anda dan cara menanganinya
Gunakan mysql_upgrade seperti ini
Pastikan bahwa server berjalan
Aktifkan mysql_upgrade untuk memutakhirkan tabel sistem di skema mysql dan periksa dan perbaiki tabel di skema lain
mysql_upgrade [options]Hentikan server dan mulai ulang agar perubahan tabel sistem berlaku
Jika Anda memiliki beberapa instance server MySQL untuk ditingkatkan, aktifkan mysql_upgrade dengan parameter koneksi yang sesuai untuk menghubungkan ke setiap server yang diinginkan. Misalnya, dengan server yang berjalan di host lokal pada bagian 3306 hingga 3308, perbarui masing-masing dengan menghubungkan ke port yang sesuai
Untuk koneksi host lokal di Unix, opsi memaksa koneksi menggunakan TCP/IP daripada berkas soket Unix
Secara default, mysql_upgrade berjalan sebagai pengguna MySQL root. Jika kata sandi root kedaluwarsa saat Anda menjalankan mysql_upgrade, Anda akan melihat pesan bahwa kata sandi Anda kedaluwarsa dan hasilnya mysql_upgrade gagal. Untuk memperbaikinya, atur ulang kata sandi root_ untuk membatalkan kedaluwarsa dan jalankan kembali mysql_upgrade
$> mysql -u root -p Enter password: **** <- enter root password here mysql> SET PASSWORD = PASSWORD('root-password'); mysql> quit $> mysql_upgrade [options]mysql_upgrade mengeksekusi perintah berikut untuk memeriksa dan memperbaiki tabel dan untuk memutakhirkan tabel sistem
mysqlcheck --no-defaults --databases --fix-db-names --fix-table-names mysql mysqlcheck --no-defaults --check-upgrade --databases --auto-repair mysql mysql < fix_priv_tables mysqlcheck --no-defaults --all-databases --skip-database=mysql --fix-db-names --fix-table-names mysqlcheck --no-defaults --check-upgrade --all-databases --skip-database=mysql --auto-repairCatatan tentang perintah sebelumnya
mysql_upgrade menandai semua tabel yang diperiksa dan diperbaiki dengan nomor versi MySQL saat ini. Ini memastikan bahwa lain kali Anda menjalankan mysql_upgrade dengan versi server yang sama, dapat ditentukan apakah perlu memeriksa atau memperbaiki tabel yang diberikan lagi
mysql_upgrade menyimpan nomor versi MySQL dalam file bernama mysql_upgrade --protocol=tcp -P 3306 [other_options] mysql_upgrade --protocol=tcp -P 3307 [other_options] mysql_upgrade --protocol=tcp -P 3308 [other_options] 0 di direktori data. Ini digunakan untuk memeriksa dengan cepat apakah semua tabel telah diperiksa untuk rilis ini sehingga pemeriksaan tabel dapat dilewati. Untuk mengabaikan file ini dan tetap melakukan pemeriksaan, gunakan opsi
mysql_upgrade tidak memutakhirkan konten tabel zona waktu atau tabel bantuan. Untuk petunjuk upgrade, lihat Bagian 5. 1. 13, “Dukungan Zona Waktu Server MySQL”, dan Bagian 5. 1. 14, “Dukungan Bantuan Sisi Server”
mysql_upgrade mendukung opsi berikut, yang dapat ditentukan pada baris perintah atau dalam grup mysql_upgrade --protocol=tcp -P 3306 [other_options] mysql_upgrade --protocol=tcp -P 3307 [other_options] mysql_upgrade --protocol=tcp -P 3308 [other_options] 2 dan mysql_upgrade --protocol=tcp -P 3306 [other_options] mysql_upgrade --protocol=tcp -P 3307 [other_options] mysql_upgrade --protocol=tcp -P 3308 [other_options] 3 dari file opsi. Opsi yang tidak dikenal diteruskan ke mysqlcheck. Untuk informasi tentang file opsi, lihat Bagian 4. 2. 2. 2, "Menggunakan File Pilihan"