Які користувачі MySQL необхідні?


13

Мій сервер MySQL має ряд дивних користувачів, яких я не додав. Чи все це потрібно?

'root'@'127.0.0.1'
'root'@'localhost'
'root'@'SERVERNAME'
'root'@'::1'
''@'SERVERNAME'
''@'LOCALHOST'

Якщо я видаляю всі корені, крім root @ localhost, чи можу я закінчитися блокуванням із бази даних? А яка мета порожніх імен користувачів? Вони, здається, просто мають "ВИКОРИСТАННЕ ВИКОРИСТАННЯ" ??

Чи є різниця між 127.0.0.1 як хостом та localhost? Якщо у мене є лише localhost, а не 127.0.0.1, чи означає це, що mysqlclient, який використовує TCP / IP замість Unix-сокетів, не зможе підключитися?

Відповіді:


16
  1. Ці користувачі, здається, є типовими користувачами, які були додані під час встановлення MySQL. Після встановлення MySQL рекомендується запустити mysql_secure_installation .

  2. Порожні імена користувачів ('' @ 'SERVERNAME') представляють анонімних користувачів. Якщо ви не запустили mysql_secure_installationі не встановили пароль, то будь-хто може отримати доступ. Якщо анонімний користувач має GRANT USAGEпривілеї, то це в основному означає, що він не має привілеїв, але все-таки хороша ідея повністю видалити анонімний логін.

  3. Ні, немає великої різниці між localhost та 127.0.0.1. Незалежно від IP-адреси, з якої користувач намагається ввійти, повинно відповідати @[IP Address]частині імені користувача. Якщо ви входите в систему з тієї ж машини, сервер MySQL увімкнено, тоді @localhostі @127.0.0.1буде відповідати. Як зазначав IVlint67, у деяких установках не @localhostбуде працювати, тому краще піти @127.0.0.1.


13

Зазвичай я встановлюю за допомогою сценарію mysql_secure_installation, з якого MySQL відправляється зараз ...


root@127.0.0.1 - це @ IP-адреса. root @ localhost - це @ hostname. Діто для імені сервера. І останній корінь - адреса @ IPv6 для localhost.


З сайту MySQL:

Спроба підключитися до хоста 127.0.0.1 зазвичай вирішується до акаунта localhost. Однак це не вдається, якщо сервер запускається з параметром --skip-name-resolution, тому обліковий запис 127.0.0.1 корисний у цьому випадку.

Порожні імена користувачів:

Деякі облікові записи призначені для анонімних користувачів. У них порожнє ім’я користувача. У анонімних облікових записів немає пароля, тому кожен може використовувати їх для підключення до сервера MySQL

http://dev.mysql.com/doc/refman/5.0/en/default-privileges.html


І, нарешті:

Якщо я видаляю всі корені, крім root @ localhost, чи можу я закінчитися блокуванням із бази даних?

Так, але ви можете повернутися

Дивіться --skip-grant-table: https://help.ubuntu.com/community/MysqlPasswordReset

Повинен я?

Мені все одно, це ваш сервер. Якби це було моє, я б захистив кореневі акаунти, як і паролі, і видалив анонімні облікові записи, якщо вони вам не потрібні.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.