mysql密码正确却连不上

对,就是这个问题。
配置文件错,端口冲突,版本不配。

1 . 配置文件错,检查my.cnf或my.ini,别错别字,语法对。
2 . 端口冲突,看谁用着3 3 06 ,换一个空端口。
3 . 版本不配,更新软件,兼容性得有。

mysql不能连接

这事儿我熟啊。
前年我在上海,帮个哥们儿调试,他连不上MySQL,急得满头大汗。

一、根本连不上服务器
1 . 用户名密码错 像他,记不清密码了,或者复制粘贴来粘贴去,多了个空格啥的。
我让他直接打开命令行,打 mysql -u root -p,然后让他输入密码。
结果提示 Access denied。
我就说,肯定是你输入错了,或者root密码改过没告诉你。
最后他承认是复制的时候带了个换行符。
得,重新设个简单点的新密码试试。

2 . 主机名IP不对 他那个项目是部署在云上的,但他一直输入 localhost。
我教他用 ping 云服务器公网IP 测试,发现人家根本 ping 不通。
我说你这得用云服务器的公网地址啊,或者 1 2 7 .0.0.1 应该是本机才对。
远程连接就得用正确的IP。

3 . 防火墙挡了道 有一次他用自己的电脑做开发环境,装了Windows自带的防火墙,默认是挡着的。
MySQL跑的是3 3 06 端口,防火墙不让这个端口出去。
我让他去防火墙设置里,专门给MySQL加个入站规则,放行3 3 06 端口。
他搞定了,立马就连上了。

二、连上了,但操作不了数据
1 . 表没了或者名字打错了 他想更新一个叫 user_info 的表,结果那个表早就被删了,或者他写成 userinfor 了。
我就让他先打 SHOW TABLES; 看看当前库里有哪些表。
果然没有 user_info。
得,先创建表或者确认表名是对的。

2 . 用户没权限 他用的是普通用户,不是超级用户root。
他想插入数据,但MySQL提示 Permission denied。
我让他用root登录,然后打 SHOW GRANTS FOR '普通用户名'@'本机'; 看看能干嘛。
果然啥权限都没有。
我就用root给他加了个 GRANT INSERT ON 数据库名. TO '普通用户名'@'本机'; 然后 flush privileges。
他再用普通用户登录试试,就成功了。

3 . 数据类型对不上 他试着插入一条记录,某个字段填了个超长的字符串,但那个字段明明是整型 INT 的。
结果MySQL直接报错。
我就让他打 DESCRIBE 表名; 查看字段类型。
他说原来是这样,我得改改数据格式再试。

总结一下 连不上,多半是用户名密码、主机名IP、防火墙这几个问题。
操作不了,多半是表名写错、用户权限不够、或者数据填错了类型。
我这十年踩坑,大概就是这么几个方面。
你看看是不是这些情况,一个个排查就行。

mysql无法连接出现错误提示10061怎么办

上周试过一次mysql连不上。

1 006 1 错。

照着说的。

删了my.ini。

重新初始化。

服务启动了。

还是不行。

算了。