在cmd下运行mysql出现ERROR 2003 (HY000):Can't connect to MySQL server on localhost:3306! (10061)
然后去服务查看MySQL开启服务
然后再重新运行发现问题还是一样;
然后去存放MySQL的文件夹下找到my.ini文件,有的话把它放入bin文件夹下
my.ini配置设置下的内容:可以复制下来然后修改一下MYSQL的安装目录,也可以去网上找;
[mysqld]
# 设置3306端口
port=3306
# 设置为自己 MYSQL 的安装目录
basedir=D:\TeachingTools\mysql-8.0.24-winx64
datadir= D:\TeachingTools\mysql-8.0.24-winx64\data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。这是为了防止有人从该主机试图数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
# 关闭ssl
skip_ssl
# 配置时区
default-time_zone='+8:00'
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8
当重新配置完还是不行;
就删除原有的数据库(注:执行该命令需要管理员权限,所以你在打开cmd时需要以管理员的身份运行)。
查询SQL 服务是否存在:sc query mysql
查询到有就利用删除命令:sc delete mysql
删除完后,就对数据库进行初始化:
初始化命令:mysqld -- initialize -- user=mysql -- console
一定要记得命令不要打错,打错就看下面的操作然后进行;
原因:可能是初始化数据库的命令有参数写错了,导致运行了一半,当发现错误,改正和重新执行的时候,就会报这个错误,意思是:
mysql中的data目录已经有数据了,不能再直接继续进行初始化
所以解决办法就是删除这个存放数据的/data/mysql/文件夹里面的内容
设置数据库的数据存放目录:datadir=D:\TeachingTools\mysql-8.0.24-winx64\data,同时确保data目录下没有文件,为空,上诉报错应是data目录下有文件,清空再运行就成功
初始化命令:mysqld -- initialize -- user=mysql -- console
然后就会随机生成密码:密码是root@localhost:后面的内容
这个是我的密码一会登录MYSQL时候使用:udhy92f:eVfw
生成密码后就启动mysql服务
执行 :net start mysql
但是显示服务名无效
解决:
cd 进入到mysql的安装路径下bin
然后在命令行输入:mysqld --install
然后再重新启动就可以成功了。
然后进入MYSQL:mysql -u root -p
然后回车,
输入刚刚随机生成的密码:udhy92f:eVfw
she
然后我们修改一下密码:命令:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
设置密码为123456
修改成功,下次再登录mysql就可以用新密码了。