Chuyển MySQL hostname từ localhost sang 127.0.0.1

Nếu bạn đã bật Skip-name-resolve trong my.cnf thì có thể bạn cũng muốn chuyển MySQL hostname từ localhost sang 127.0.0.1.
Trong #wordpress sử dụng MySQL hostname mặc định là localhost (wp-config.php):

/** MySQL hostname */
define( 'DB_HOST', 'localhost' );

Để chuyển sang sử dụng 127.0.0.1, trước tiên cần kiểm tra xem MySQL database username có host là gì:

select User,Host from mysql.user;
+---------------+-----------+
| User          | Host      |
+---------------+-----------+
| root          | 127.0.0.1 |
| root          | ::1       |
| root          | localhost |
| wpdb11275u751 | localhost |
+---------------+-----------+
4 rows in set (0.000 sec)

như ta thấy user wpdb11275u751 có host là localhost, cần chuyển sang 127.0.0.1 bằng cách tạo user mới. (có thể trùng với thông tin cũ)

CREATE USER 'wpdb11275u751'@'127.0.0.1' IDENTIFIED BY 'pass_word';
GRANT ALL PRIVILEGES ON data_name . * TO 'wpdb11275u751'@'127.0.0.1';
FLUSH PRIVILEGES;

Kiểm tra

select User,Host from mysql.user;
+---------------+-----------+
| User          | Host      |
+---------------+-----------+
| root          | 127.0.0.1 |
| root          | ::1       |
| wpdb11275u751 | 127.0.0.1 |
| root          | localhost |
| wpdb11275u751 | localhost |
+---------------+-----------+
5 rows in set (0.001 sec)

Tiến hành thay thế trong wp-config.php

/** MySQL hostname */
define( 'DB_HOST', '127.0.0.1' );

Nếu mọi thứ đều ổn, bạn có thể xóa user không sử dụng

DELETE FROM mysql.user WHERE Host='localhost' AND User='wpdb11275u751';

Chúc các bạn thành công! :tada: