Pada kondisi tertentu Anda diminta untuk memindahkan website beserta database ke server lain. Namun bagian repotnya ketika harus membuat kembali setiap user MySQL apalagi jika di server sebelumnya sudah terdapat banyak web atau aplikasi dengan user dan database yang berbeda.
Berikut merupakan beberapa cara yang dapat Anda lakukan.
Edit authentication_string #
Cara pertama adalah menyamakan authentication_string.
Misal diserver lama Anda terdapat user bob seperti berikut.
mysql> use mysql;
mysql> select user,host,authentication_string from user where user='bob';
+------+-----------+-------------------------------------------+
| user | host | authentication_string |
+------+-----------+-------------------------------------------+
| bob | % | *61584B76F6ECE8FB9A328E7CF198094B2FAC55C7 |
| bob | localhost | *61584B76F6ECE8FB9A328E7CF198094B2FAC55C7 |
+------+-----------+-------------------------------------------+
2 rows in set (0.00 sec)
Maka Anda bisa membuat user dengan nama yang sama lalu edit authentication_string seperti diserver lama.
create user 'bob'@'localhost';
update user set authentication_string='*61584B76F6ECE8FB9A328E7CF198094B2FAC55C7'
where user='bob';
flush privileges;
Export table user #
Export table user dan dbdengan perintah
mysqldump -t mysql user > user.sql
mysqldump -t mysql db > db.sql
Transfer file user.sql ke server baru, lalu import ke database.
mysql mysql < user.sql
mysql mysql < db.sql
Terkahir jalankan flush privileges pada mysql shell.
flush privileges