文章

濮院男大居然重装了MySQL!并且还把重装后的问题全都解决了!

事因MySQL好久没用了,如何点开就打不开了,密码一致错…如何决心重装!

问ChatGPT把原本留下的能删的都删了,重装后输入这个指令一直报错:

PS C:\Users\33261> mysql -u root

ERROR 2003 (HY000): Can’t connect to MySQL server on ‘localhost:3306’ (10061)

一直报这个错,一直报这个错…

  • 这个看似是端口问题,所以, 使用 netstat 检查端口占用情况:确保 3306 端口没有被其他应用占用:

    1
    
    cmd
    
    1
    
    netstat -ano | findstr :3306
    
  • 结果上面之后问了AI就来到了最最最关键的代码了,

mysqld –skip-grant-tables –console

1
mysqld --skip-grant-tables --console

这个代码是检查你MySQL遇到的问题的(以我的理解),接下来是我一直输密码一直错,问题改密码的命令,有很多改密码的命令,但这个好像才适合我的MySQL 9.2.0,然后我就运行了,改了,好像没啥用,密码还是输了就错…所以这个应该不是很重要,

  1. 直接设置明文密码

    在 MySQL 9.2.0 中,

    authentication_string

    可以直接存储明文密码,MySQL 会自动处理加密。运行以下命令:

    sql

    收起取消自动换行复制

    1
    
    UPDATE mysql.user SET authentication_string = '123456' WHERE User = 'root' AND Host = 'localhost';
    
    • 注意:这里去掉了 PASSWORD() 函数,直接用明文 ‘123456’。
    • ‘123456’ 是你要设置的新密码,可以替换成其他密码。
  2. 然后这个代码也试试,
    1
    2
    3
    
      ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
      FLUSH PRIVILEGES;
      EXIT;
    
  3. 最后,
    1
    
      mysql -u root -p
    

总结,就是你也遇到这个问题,

1
2
PS C:\Users\33261> mysql -u root
ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost:3306' (10061)

你就先输入这个命令,

1
mysqld --skip-grant-tables --console

来查询你遇到的具体问题,把这些问题给AI,然后一个个解决。

这里面就很多,我举例几个:

  1. 你的MySQL文件夹下没用这个my.ini或者my.cnf文件,这个是配置文件,你就自己创建,并且这两个我试了很久最后放置的是这样, 这个my.ini里面是
    1
    2
    3
    4
    5
    6
    
    [mysqld]
    port = 3306
    bind-address = 0.0.0.0
    skip-networking = 0
    [mysqld]
    datadir = C:/Program Files/mysql-9.2.0-winx64/data
    

    这个my.cnf里面是

    1
    2
    3
    4
    5
    
    [mysqld]
    port=3306
    bind-address=127.0.0.1  # 或 0.0.0.0,如果需要远程访问
    skip-networking=0      # 确保未禁用网络
    datadir="C:\Program Files\mysql-9.2.0-winx64\data"
    
  2. 我的这个文件”C:\Program Files\mysql-9.2.0-winx64\data\ibdata1”是要给完全控制的权限的!(参考这个地址找到你自己的),直接所有用户都给完全控制的权限。并且还有这个文件”C:\Program Files\mysql-9.2.0-winx64\data”(参考这个地址找到你自己的),直接所有用户都给完全控制的权限。

  3. 在你装的MySQL目录下C:\Program Files\mysql-9.2.0-winx64\data这里面找到这个文件.err文件,这里面就是一些报错日志,可以参考,发给AI…

  4. 如果权限正确但仍报错,可能是

    ibdata1

    被其他进程锁定:

    a. 打开“资源监视器”:按 Ctrl + Shift + Esc 打开任务管理器,点击“性能”选项卡,选择“资源监视器”。

    b. 在“CPU”选项卡下,点击“关联的句柄”,搜索 ibdata1。

    c. 如果有进程占用,结束该进程(通常是另一个 mysqld.exe 实例)。

  5. 还有就是检查MySQL服务是否启动,

    启动MySQL:

    1
    
    net start mysql
    

    关闭MySQL:

    1
    
    net stop mysql
    
  6. 按 Ctrl + Shift + Esc 打开任务管理器,点击“服务”选项卡,去找MySQL,去那里看是否有运行。

等等等等,许多许多各式各样的问题,这都是我遇到的,并一个个解决的,希望这篇能帮到你,让你少走点弯路,你避坑是我最痛苦的事情…OK,祝你不孕不育子孙满堂,谢谢(〃 ̄︶ ̄)人( ̄︶ ̄〃)

注:以此篇记录我这一天痛苦的历程…

本文由作者按照 CC BY 4.0 进行授权