我不知道我是否会明确这个问题,但是我已经在特定域(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
您应该能够使用您的密码登录.