Я не знаю, проясню ли я проблему, но я установил 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:
su -
и нажмите returnservice mysqld start
с последующим возвращениемТеперь попробуйте сделать то, что вы делали раньше, то есть
mysql -uroot -p
на этот раз «root», о котором идет речь, - это ваш пароль root MYSQL (отличается от пароля root, который вы использовали на шаге 3, и по умолчанию BLANK, если вы еще не изменили его)