Назад | Перейти на главную страницу

Как войти в MySQL на CentOS 6.3, используя учетную запись root из домена, а не localhost?

Я не знаю, проясню ли я проблему, но я установил MySQL на CentOS 6.3, используя учетную запись root в определенном домене (например, root @ mydomain), но когда я пытаюсь войти в нее, я меня просят ввести пароль для учетной записи root @ localhost, к которой у меня нет доступа. Как мне войти в MySQL, установленный на «mydomain», а не на «localhost»?

Я пробовал редактировать my.cnf с помощью bind-address = 'domain_ip', но это не помогло, ему все еще нужен пароль localhost.

Mysql поддерживает свои собственные пользователь и пароль информация, которая отличается от основных учетных записей операционной системы. Учетные записи root @ localhost и root@yourhost.tld являются учетными записями администратора по умолчанию для установки в CentOS.

Если вы недавно установили этот сервер mysql и не установили пароль, вы сможете получить к нему доступ с пустым паролем.

mysql -u root -p
Enter password: (press enter)

или

mysql -h yourhostname.tld -u root -p
Enter password: (press enter)

Если вы можете это сделать, вам следует защитить свою систему, установив пароль.

/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h yourhostname.tld password 'new-password'

или беги

/usr/bin/mysql_secure_installation

Это даст вам различные варианты защиты вашей системы. Обратите особое внимание на

Disallow root login remotely? [Y/n]

Вопрос

Обычно пользователю root разрешается подключаться только с «localhost». Это гарантирует, что кто-то не сможет угадать пароль root из сети.

Но, судя по вашему вопросу, вы хотите разрешить это (хотя, вероятно, на самом деле этого не делаете).


Если кто-то другой установил эту систему для вас, и они установили пароль, вы должны попросить его об этом.


Если пароль был установлен, и вы не можете его получить, вы можете сбросить пароль, выполнив следующую процедуру, при условии, что у вас есть root-доступ к ОС.

service mysqld stop
mysqld_safe --skip-grant-tables &
mysql --user=root mysql
update user set Password=PASSWORD('new-password') where user='root';
flush privileges;
exit;

Теперь остановите mysql

pkill mysql

и перезапустите службу

service mysql start

Вы должны иметь возможность войти в систему со своим известным паролем.

По умолчанию служба mysql установлена, но не запущена. Пароль root отклоняется, если служба не запущена.

Чтобы запустить mysql:

  1. Откройте окно терминала, которое можно найти в строке главного меню в верхней части экрана в разделе Приложения> Системные инструменты> Терминал.
  2. Когда загрузится окно терминала, введите su - и нажмите return
  3. Теперь вам будет предложено ввести пароль root для CentOS. Введите его и нажмите Enter. (вы устанавливаете пароль root во время установки).
  4. Теперь введите service mysqld start с последующим возвращением

Теперь попробуйте сделать то, что вы делали раньше, то есть

mysql -uroot -p  

на этот раз «root», о котором идет речь, - это ваш пароль root MYSQL (отличается от пароля root, который вы использовали на шаге 3, и по умолчанию BLANK, если вы еще не изменили его)