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 db
dengan 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