如何使用域中的root帐户而不是localhost在CentOS 6.3上登录MySQL?

前端之家收集整理的这篇文章主要介绍了如何使用域中的root帐户而不是localhost在CentOS 6.3上登录MySQL?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我不知道我是否会明确这个问题,但是我已经在特定域(f.ex.root @mydomain)上使用root帐户在CentOS 6.3上安装了 MySQL,但是当我尝试登录它时我我被要求输入root @ localhost帐户的密码,这是我无法访问的.如何登录“mydomain”上安装的MysqL而不是“localhost”?

我尝试使用bind-address =’domain_ip’编辑my.cnf,但它没有帮助,它仍然需要localhost密码.

解决方法

MysqL维护自己的 user and password信息,这些信息与主操作系统帐户不同. 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]

Normally,root should only be allowed to connect from ‘localhost’. This
ensures that someone cannot guess at the root password from the network.

但是你从你的问题出现想要允许这个(虽然你可能不是真的).

如果其他人为您设置了这个系统并且他们设置了密码,您应该向他们询问.

如果已设置密码但您无法获取密码,则可以使用以下过程重置密码,前提是您具有对操作系统的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

您应该能够使用您的密码登录.

猜你在找的Linux相关文章