• 连接MySQL问题的错题小集


    目录

    一. 连接不上数据库

    踩坑

    解决过程

    二. Can‘t connect to MySQL server on ‘localhost:3306‘ (10061) 

    排查1:数据库没有启动

    排查2:判断数据库是否存在

     排查3:数据库没有启动

    ​编辑

     过程:

    报错了,排查!

    排查1.1

    排查1.2

    问题解决:


    一. 连接不上数据库

    踩坑

    今天打开mysql ,在创建表的时候出现以下报错,一个是在数据库视图层的报错,这报错我一脸懵,记得之前把mysql整得明明白白的,创建表那么简单的事情,怎么会报错后面排查发现数据库连接就已经出问题了,下面第二张图就是在测试数据库连接的时候报错,这更是又一懵,怎么会连接数据库出错,后面有查了很多资料,先说明一下我背景不是Linux,如果是Linux应该打开的是my.cnf ,所以我们排查后在mysql 路径下的my.ini 中彻底发现了问题。

    测试报错

    解决过程

    创建表发现问题后没辙,打开了命令行,切换到mysql 的bin 路径下,不切换也没关系,输入mysql -uroot -p , 看是不是情况,在mysql (上图)就发现连接出问题,所以命令行这里肯定连接不上,主要看报错输出的信息。

     然后在打开my.ini ,发现问题了,my.ini 里面之前做另一个东西的时候在里面放了这堆文件,然后我把它们全部注释,

     终于进来这里了,输入之前安装数据库时修改的密码然后回车,但这还没有完。另一个问题又来了下面进入问题二。


    二. Can‘t connect to MySQL server on ‘localhost:3306‘ (10061) 

    排查1:数据库没有启动

    命令行输入 net start mysql ,排查完毕,拒绝访问

    排查2:判断数据库是否存在

    win + r 打开命令行,输入 mysqld --install mysql ,结果是 Install/Remove of the Service Denied! 翻译结果是“安装或删除服务被拒绝”

     排查3:数据库没有启动

      

     过程:

    先备份mysql的data文件,找到你安装mysql的目录下的data目录,然后在命令行窗口输入 以下命令删除服务,注意mysql 是写上你的服务名称,复制的时候记得把mysql改成自己的服务名。

    mysqld --remove mysql

     

     上图是我的服务名,为什么要放上这图呢,是想说虽然上面是大写的但命令行那里需要小写形式。

     出现下面这行就证明删除成功了!

     将mysql 路径下面的data初始化,如果没有data就重新创建一个data文件夹,

     下面没有输出,小问题没关系,继续!!

     注册mysql服务,在bin路径的cmd中输入命令:mysqld --install mysql,出现下面提示表示注册服务成功。

    install后面mysql是我自己注册的服务名,你也可以设置别的名称。

     启动服务

    同样是在bin目录中输入命令:net start mysql,start后面的mysql是你刚刚注册服务的名称

    报错了,排查!

    排查1.1

    输入 mysqld -remove 卸载mysql服务,再重新安装 net start mysql ,然后输出net start mysql启动mysql结果还是不行2

    排查1.2

    最后试个最绝的方法直接删了。这个能大部分解决所有问题,但不推荐。

    命令行 输入 mysqld --remove mysql,然后在mysql 路径下,删除data和my.ini 

     输入mysqld --install (安装mysql)

     mysqld --initialize --user=root --console (初始化mysql),记住下面密码,或者复制下来

     输入 net start mysql 启动mysql

     mysql -u root -p (进入mysql,输入初始密码)

     功夫不负有心人,终于进来了!!!

    下一步输入ALTER USER'root'@'localhost' IDENTIFIED BY'密码';  修改密码,示例如下:

     ALTER USER'root'@'localhost' IDENTIFIED BY'123456';

    出现下面的提示就修改成功了。 

    问题解决:

    数据库连接成功!!! 

  • 相关阅读:
    从table1 里获取每个person_id最大end_date的数据。(inner join)
    FPGA工程师职业发展道路
    leetcode55.跳跃游戏 【贪心】
    初识form表单
    动态 | GBASE南大通用出席第39届CCF中国数据库学术会议
    python之value_counts()介绍
    2022牛客蔚来杯第二场 G J K L D C (H)
    本地生活商家如何通过短视频赛道,提升销量曝光量?
    transformer 总结(超详细-初版)
    C++类和对象【上】
  • 原文地址:https://blog.csdn.net/m0_57448314/article/details/128130714