zoukankan      html  css  js  c++  java
  • mysql突然无法连接:the driver has not received any packets from server communications link

     转载连接(解决办法,成功):https://www.cnblogs.com/longsanshi/p/9089245.html#top

    参考链接():

    https://stackoverflow.com/questions/6865538/solving-a-communications-link-failure-with-jdbc-and-mysql这个没用上,但是写得很好

     最终解决办法是用下面的方法成功连接mysql,导出数据库,重新安装数据库到非系统盘。

    错误如下, Access denied for user 'root'@'localhost' (using password

    关掉mysql服务,重新启动

    如果不行,那应该就是密码被改了,密码不对应

    1.以系统管理员身份运行cmd.

      2.查看mysql是否已经启动,如果已经启动,就停止:net stop mysql.

          如果保存就在cmd下执行services.msc,找到mysql的服务停掉

      3.切换到MySQL安装路径下:D:WAMPMySQL-5.6.36in;如果已经配了环境变量,可以不用切换了。

      4.在命令行输入:mysqld -nt --skip-grant-tables

      5.重启以管理员身份运行一个cmd,输入:mysql -uroot -p,Enter进入数据库。

      6.如果不想改密码,只是想看原来的密码的话,可以在命令行执行这个语句

    select host,user,password from mysql.user;//即可查看到用户和密码

       7.如果要修改密码的话,在命令行下 依次 执行下面的语句

    use mysql
    update user set password=password("new_pass"where user="root";// 'new_pass' 这里改为你要设置的密码
    flush privileges;
    exit

     如果报错 :

    host is not allowed to connect to this MySQL server

        1. 在装有MySQL的机器上登录MySQL mysql -u root -p密码
        2. 执行use mysql;
        3. 执行update user set host = '%' where user = 'root';这一句执行完可能会报错,不用管它。
        4. 执行FLUSH PRIVILEGES;

          经过上面4步,就可以解决这个问题了。 
          注: 第四步是刷新MySQL的权限相关表,一定不要忘了,我第一次的时候没有执行第四步,结果一直不成功,最后才找到这个原因。

  • 相关阅读:
    apache配置
    windows 查看端口号,杀进程
    c/c++ 拷贝控制 右值与const引用
    c/c++ 多线程 多个线程等待同一个线程的一次性事件
    c/c++ 多线程 等待一次性事件 异常处理
    c/c++ 多线程 等待一次性事件 std::promise用法
    c/c++ 多线程 等待一次性事件 packaged_task用法
    c/c++ 多线程 等待一次性事件 future概念
    c/c++ 多线程 利用条件变量实现线程安全的队列
    c/c++ 多线程 一个线程等待某种事件发生
  • 原文地址:https://www.cnblogs.com/wtjqs/p/9683975.html
Copyright © 2011-2022 走看看