【MySQL之轨迹】MySQL 常见报错解决方案(Unit not found,Host ‘xxx‘ is not allowed,Can‘t connect to MySQL...)


(1) Failed to start mysql.service: Unit not found.

该问题出现在启动 mysql 是,找不到对应的服务
在网上查阅了很多资料,说是 CentOS7 之后需要更换为 MariaDB
笔者在更换之后依旧不行,但找到了另一种方法,就是手动添加 mysql.server
该文件来源于 mysql 自带的支持文件,操作如下:

cp /usr/dev/mysql_5.7.33/support-files/mysql.server /etc/init.d/mysql
service mysql start

主要是找到 support-files/mysql.server 并将其拷贝到 /etc/init.d/mysql 下,路径根据实际情况


(2) ERROR 2003 (HY000): Can’t connect to MySQL server on ‘xxx’ (10060)

这种情况通常是服务器的防火墙/安全组没有打开
不仅需要本机的防火墙开防对应端口(3306),如果是在阿里云腾讯云等购买的服务器,还需要再上边开放该端口


(3) ERROR 1130 (HY000): Host ‘xxx’ is not allowed to connect to this MySQL server

或者是这个错误:
ERROR 1045 (28000): Access denied for user ‘xxx’@‘xxx’ (using password: YES)

出现该错误大部分情况应该是:本机可以登录,但远程连接不了

根本原因是:要登录的帐号不允许从远程登陆,只能在localhost
这是后只需要再本地登录 root 账号,然后更改 mysql 数据库中的 user
将里边的 host 项从 localhost 改成 %,就可以实现远程登录拉

具体流程如下:

# 使用 mysql 库
use mysql;

# 查看登录权限
SELECT user,host FROM mysql.user;

+---------------+-----------+
| user          | host      |
+---------------+-----------+
| mysql.session | localhost |
| mysql.sys     | localhost |
| root          | localhost |
+---------------+-----------+

# 更改登录权限
update mysql.user set host='%' where user='root';
+---------------+-----------+
| user          | host      |
+---------------+-----------+
| root          | %         |
| mysql.session | localhost |
| mysql.sys     | localhost |
+---------------+-----------+

# 最后最后,记得要刷新权限!!!
flush privileges

(4) ERROR 1396 (HY000): Operation CREATE USER failed for ‘xxx’@’%’

在创建用户时,突然遇到创建失败的情况

如果没猜错的话,出现这种情况之前读者应该是使用 delete 删除了一个用户
如:DELETE FROM mysql.user WHERE User='xxx';

这样删除用户的不正确的,但是可以用正确的方法来弥补,应该这样删除:
DROP USER 'xxx';

按正确的方法删除之后,即时前边错误删除了,也可以重新回到正轨!


不停摸索,不止星芒(IceClean)

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

寒冰小澈IceClean

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值