windows mysql的坑:ERROR 2003 (HY000): Can’t connect to MySQL server on ‘localhost’ (10061)

windows mysql的坑:ERROR 2003 (HY000): Can’t connect to MySQL server on ‘localhost’ (10061)

不知道是 windows 自动更新导致的问题还是什么

**一、**打开解压的文件夹C:\MySQL Server 5.7(这只是打个比方,各位看官按照自己的目录去找) ,发现里面有my-default.ini配置文件,这个是默认的配置文件,复制一个自己的改名字为my.ini
编辑my.ini配置以下基本信息:

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
 
[mysqld]
# 设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=C:\wamp-all\mysql-5.7.13
# 设置mysql数据库的数据的存放目录
datadir=C:\wamp-all\sqldata
# 允许最大连接数
max_connections=20
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

但是我在执行命令“mysql -u root -p”进行MySQL登陆时报错误:ERROR 1045 (28000): Unknown error 1045

所以我多了一步解决过程:
1、在mysqld之下添加下面的代码

skip-grant-tables:跳过授权表,即无密码直接登陆
windows mysql的坑:ERROR 2003 (HY000): Can’t connect to MySQL server on ‘localhost’ (10061)_第1张图片
2、重启服务MySQL
(1)可以在windows 服务中重启
windows mysql的坑:ERROR 2003 (HY000): Can’t connect to MySQL server on ‘localhost’ (10061)_第2张图片
(2)也可以用命令行模式,在运行里输入:

停止:net stop mysql
启动:net start mysql

如果你没安装系统服务,也可在命令行模式定位到mysql下的bin目录里,输入:

(关闭)mysqladmin shutdown

(启动)mysqladmin start

重新执行命令“mysql -u root -p ”,不需要输入密码直接按enter键可以登录成功

3、不幸的是 我又没启动成功
windows mysql的坑:ERROR 2003 (HY000): Can’t connect to MySQL server on ‘localhost’ (10061)_第3张图片
经过蛮久的百度,就好像本来就要出门了,结果还得等女朋友化妆一样的百度谷歌查呀查。
最终发现是5.7版本才有这个问题,要在bin目录下手动初始化data目录(划重点)
因为之前百度查了,说需要data这个文件夹,于是乎我就手动添加了个空文件夹,虽然之后里面会自动生成一些文件,但是就是无法启动,所以大家不要手动创建,会自动生成data 文件夹的!!!

解决方法:
cd到bin目录下先初始化

(1) mysqld --initialize-insecure自动生成无密码的root用户,

(2) mysqld --initialize自动生成带随机密码的root用户

这里选择(1)mysqld --initialize-insecure

初始化后再运行net start mysql 成功启动mysql …

4、进入mysql环境
(1) cmd到bin目录下执行mysql -uroot (无需密码) ,

(2) 给用户设置一个密码:mysqladmin -u root -p password ,设置密码时发现报错:Access denied for user ‘root’@‘localhost’ (using password: YES)

是因为未给localhost root用户授权,这里新建一个用户,然后授权给他
create user ‘test’@‘localhost’ identified by ‘你的密码’;
grant all privileges on . to test@‘localhost’;
运行这两句sql语句,再次用test的身份输入密码进入

(3)在命令行输入:mysql -utest -p 回车 , 再输入刚刚设置的密码即可进入。

如果要退出sql环境回到正常的cmd环境,输入exit回车即可。 再次进入mysql 执行第3条即可。

你可能感兴趣的:(MySQL)