Cảnh báo mục nhập người dùng bị bỏ qua trong nhật ký lỗi mysql

WARNING USER ENTRY IGNORED IN MYSQL ERROR LOG
Nếu bạn đã kích hoạt skip_name_resolve trong my.cnf của bạn.
Điều này ngăn MySQL thực hiện tra cứu máy chủ (DNS). Nếu bạn đã tạo một số người dùng có tên máy chủ (vd: tên máy chủ cùng mình là aznetio), MySQL muốn nói với bạn rằng bây giờ bạn không thể sử dụng những người dùng này nữa Thí dụ:

Kiểm tra trạng thái mysqld

systemctl status mysqld

Đầu ra có xuất hiện cảnh báo

[Warning] 'user' entry 'root@aznetio' ignored in --skip-name-resolve mode.
[Warning] 'proxies_priv' entry '@% root@aznetio' ignored in --skip-name...lve mode.

hoặc

mysql> GRANT ALL ON *.* TO 'root'@'aznetio';
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> SHOW WARNINGS;
+---------+------+--------------------------------------------------------------------------------------------------------------+
| Level   | Code | Message                                                                                                      |
+---------+------+--------------------------------------------------------------------------------------------------------------+
| Warning | 1285 | MySQL is started in --skip-name-resolve mode; you must restart it without this switch for this grant to work |
+---------+------+--------------------------------------------------------------------------------------------------------------+

Bạn có thể tìm xem skip_name_resolve có được bật hay không bằng lệnh sau:

mysql> SHOW GLOBAL VARIABLES LIKE 'skip_name_resolve';
+-------------------+-------+
| Variable_name     | Value |
+-------------------+-------+
| skip_name_resolve | ON    |
+-------------------+-------+

Bạn có thể tìm thấy những người dùng xung đột với truy vấn sau:

mysql> SELECT user, host FROM mysql.user WHERE host NOT IN ('%', '127.0.0.1', '::1', 'localhost');
+------+-----------------+
| user | host            |
+------+-----------------+
| root | aznetio         |
+------+-----------------+
1 row in set (0.000 sec)

Ta thấy người dùng này tra cứu tên máy chủ và do đó không thể sử dụng được nữa. Cách tốt nhất là xóa người dùng này hoặc thay đổi tên máy chủ thành địa chỉ IP:

# thay đổi thành ip
mysql> UPDATE mysql.user SET host='192.168.1.42' WHERE host='azentio';
mysql> FLUSH PRIVILEGES;
# hoặc xóa tên người dùng
mysql> DELETE FROM mysql.user WHERE host='aznetio';
mysql> FLUSH PRIVILEGES;

Bây giờ đến phần thứ hai của cảnh báo: Đây có thể là phần còn lại của mysql_secure_installation tập lệnh vẫn còn hoặc đã bị lỗi:

mysql> SELECT user, host FROM mysql.proxies_priv;
+------+-----------------+
| user | host            |
+------+-----------------+
| root | localhost       |
| root | aznetio         |
+------+-----------------+
2 rows in set (0.000 sec)

Các đặc quyền của proxies cũng nên được xóa sạch nhưng do lỗi nên không. Chỉ cần xóa bản ghi theo cách thủ công:

mysql> DELETE FROM mysql.proxies_priv WHERE host='aznet.io';
mysql> FLUSH PRIVILEGES;

:link: Xem thêm: Chuyển MySQL hostname từ localhost sang 127.0.0.1