Po zainstalowaniu serwera mysql w dzienniku daemon.log pojawia się następujący błąd:
24 lipca 15:29:08 srv mysqld: 140724 15:29:08 [Ostrzeżenie] "wpis użytkownika" root@example.com "zignorowano w trybie --skip-name-resolve. 24 lipca 15:29:08 srv mysqld: 140724 15:29:08 [Ostrzeżenie] "proxies_priv" wpis '@ root@example.com' został zignorowany w trybie --skip-name-resolve.
Cała usterka wyłączonej rozdzielczości DNS: określenie nazwy domeny dla adresów IP klientów podłączonych do serwera mysql. Nie potrzebuję tej funkcji na serwerze, dlatego jestem wyłączony przez parametr skip-name- resolve w pliku my.cnf.
Naprawia błąd w ten sposób. Połącz się z serwerem mysql i wybierz bazę danych mysql.
mysql> użyj mysql;
Następnie wybierz tabelę użytkownika.
mysql> wybierz Host, Użytkownik od użytkownika;
Wyświetlany jest wynik, w którym będą widoczni użytkownicy i hosty, dla których dostępna jest autoryzacja tych użytkowników.
+ --------------------- + ------------------ + | Host | Użytkownik | + --------------------- + ------------------ + | 127.0.0.1 | root | | :: 1 | root | | example.com | root | + --------------------- + ------------------ + 13 rzędów w zestawie (0,00 s)
Następnie wybieramy następującą tabelę - proxies_priv.
mysql> wybierz Host, Użytkownik z proxies_priv;
Jego zawartość będzie wyglądać tak:
+ --------------------- + ------ + | Host | Użytkownik | + --------------------- + ------ + | localhost | root | | example.com | root | + --------------------- + ------ + 2 rzędy w zestawie (0,00 s)
Jak widać, istnieje "dodatkowy" root z dostępem dla domeny example.com. Może to być po prostu nazwa hosta, na przykład root @ example. To właśnie ten użytkownik powoduje błąd. Usuń to:
mysql> deluser 'root'@'example.com';
Na dodatek aktualizujemy uprawnienia.
mysql> uprawnienia do płukania;
Powtarzam, że ta metoda jest odpowiednia tylko wtedy, gdy nie potrzebujesz zewnętrznych połączeń z serwerem mysql jako root. W innych przypadkach powinieneś dołączyć obsługę DNS.