我不知道我是否会清楚问题,但是我已经在CentOS 6.3上使用root帐户(f.ex.root @ mydomain)安装了MySQL,但是当我尝试login到它时,被要求inputroot @ localhost帐户的密码,我没有权限。 我如何login到“mydomain”上安装的MySQL,而不是“本地主机”?
我已经尝试使用bind-address ='domain_ip'来编辑my.cnf,但它没有帮助,它仍然需要localhost密码。
Mysql维护自己的用户和密码信息,这些信息与主操作系统帐户不同。 root @ localhost和[email protected]帐户是CentOS上安装的默认pipe理员帐户。
如果你最近安装了这个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'连接。 这确保了某人不能从networking上猜测根密码。
但你从你的问题出现,想要允许这个(虽然你可能不是真的)。
如果其他人已经为你设置了这个系统,他们已经设置了密码,你应该问他们。
如果已经设置了密码并且无法获得密码,则可以按照以下步骤重置密码,以便您可以对操作系统拥有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
您应该可以使用您的密码login。
默认情况下,mysql服务已安装,但未启动。 如果服务未启动,则根密码将被拒绝。
要启动mysql:
su -
并返回 service mysqld start
然后返回 现在尝试做你以前做的事 – 也就是说,
mysql -uroot -p
这次它所说的“root”是你的MYSQL的根密码(不同于你在步骤3中使用的root密码,如果你还没有改变它,默认情况下是BLANK)