zoukankan      html  css  js  c++  java
  • MySQL发生Can''t connect to MySQL server on localhost (10061)解决方法

    我遇到的问题是Navicat可以登录MySQL但自己本地命令行就会报如上标题的问题。

    mysql 8.0版本的问题
    正确步骤。

    方法一

    1.下载MySQL8.0后解压,根目录没有data文件夹和my.ini文件,我们也不要创建。

    (若已经安装了MySQL的将服务停止,删除安装目录下的data和my.ini,当然我建议你找个地方吧my.ini暂存一下,还有你需要的数据库备份文件
    然后删除服务
    mysqld --remove

    关于找不到my.ini的问题(经检验,my.ini文件还是要在这加入才有效,不然下面这些步骤完成之后再做就打不开服务了)

    你可能会在这里找到
    fa9e3d612e2372ecdd0bdff79c2ae19a.jpeg
    c盘,programData文件夹里面的MySQL目录下
    当然还有可能在
    ba0d57b319c79cef2a8a3519340d22e8.png
    图二来自MySQL 8.0版本安装后,安装目录下找不到my.ini文件

    如果你哪里都找不到可以来下载,当然也可以自己写,但下载的这个会比较全,自己修改起来也好找
    my.ini下载
    如果这个下载连接无效的话通知我一下哦,还有积分如果被动被改高了,也给我说一下我改成0积分。

    一些关键修改(主要看你的需求,做些设置)

    [client] 
    default-character-set = utf8 
    port=3306
    [mysql] 
    default-character-set = utf8 
    [mysqld]  
    character-set-server = utf8
    port=3306(自己用什么接口填什么接口,默认是3306)
    basedir=根目录(自行填自己的安装位置)
    datadir=根目录(自行填自己的安装位置)data 
    default-storage-engine=INNODB
    sql-mode="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"
    

    2.将“根目录/bin”路径添加到环境变量中。

    3.用管理员启动命令行,win10是右键左下角win图标,选择“Windows powershell(管理员)”。

    4.输入

    mysqld --initialize-insecure --user=mysql
    这一步可能等待时间很长

    5.然后输入

    mysqld --install mysql

    6.输入

    net start mysql

    7.输入

    mysql -u root
    初始化后不需要输入密码

    8.初始化密码

    alter user 'root'@'localhost' identified by '123456'
    退出
    exit
    再次登录
    mysql -u root -p
    输入密码123456就可以登录了

    9.建立远程访问

    #使用初始库
    >use mysql;
    #查看用户表
    >select host, user, plugin from user;
    #发现没有host是%的用户root,于是创建一个
    >create user 'root'@'%' identified by '123456';
    #给权限,第二句不能用就退出再登一次
    >GRANT ALL privileges on *.* to 'root'@'%' with grant option;
    >flush prilileges;
    
    

    这时再拿Navicat登录就可以登录了,注意自己的端口号不要写错了

    方法二

    1、在原有数据库情况下,把data文件夹删除,保留my.ini文件,把需要的内容填上,不需要的内容注释掉
    2、将“根目录/bin”路径添加到环境变量中
    3、用管理员启动Windows powershell
    4、执行下列语句

    mysqld --remove
    mysqld --initialize --console (该语句会生成一个初始密码,例如这样的root@localhost: 4aO40dXvxg+S,把后面的内容保存,之后要填密码)
    mysqld --install
    net start mysql
    mysql -u root -p(该语句接下来填的密码就是上面保存的那个)
    alter user 'root'@'localhost' identified by '123456'(修改初始密码)
    按照上面方法一的创建新用户等步骤就可以了
    
  • 相关阅读:
    锋利的jQuery复制粘贴(一)
    使用photoshop以及markman进行快速重构页面的几个步骤
    线程间同步之 semaphore(信号量)
    关于C#中Thread.Join()的一点理解
    无废话WCF入门教程一[什么是WCF]
    Oracle function注释
    throw new DataException("检查服务器是否存在失败:" + ex);
    C# 将数据集以excel的形式输出
    .net 安装remoting服务
    任务计划 每日删除设定目录内的文件(包括文件夹)
  • 原文地址:https://www.cnblogs.com/AlinaL/p/14041959.html
Copyright © 2011-2022 走看看