一般情况
启动mysql/mariadb后一般需要创建用户、设置密码、分配权限,如下:
# 启动服务
service start mariadb
# 设置密码
mysqladmin {newPasswd}
# 登录mysql
mysql -uroot -p
# 分配权限
grant all privileges on *.* to root@"%" identified by 'pwd';
# 刷新权限
flush privileges;
上述步骤顺序执行后,就能通过任意一台服务器,以root/{pwd}进行登录了,即:
mysql -h {ip} -uroot -p
错误情况
有些时候,只能在本机用 mysql -uroot -p 登录,一旦设置了-h则提示验证失败,如下:
[root@cecloud-ecs-94888 yum.repos.d]# mysql -h {ip} -uroot -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'xxx' (using password: YES)
[root@cecloud-ecs-94888 yum.repos.d]#
经过猜测、尝试后发现,在授权时不能使用带有特殊符号的密码,例如:!,可能是命令行里没能正常解析并保存在user里吧。