首先,先把mysql的bin路径添加到系统环境变量

 

 

 

 

cmd 无法执行mysql命令 运行cmd为什么运行不了mysql_MySQL

 

第一步:在MySQL的安装文件的bin目录     例如: D:\mysql\bin     中新建一个my.ini的文件,复制进代码

[mysqld]
#skip-grant-tables
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=D:\mysql
# 设置mysql数据库的数据的存放目录
datadir=D:\mysql\data
# 允许最大连接数
max_connections=10
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=20
# 服务端使用的字符集默认为UTF8
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8mb4

把其中的两处工作路径改为自己的按照路径

 

第二步:在CMD中执行 mysqld --initialize-insecure 指令,安装路径会默认生成一个data文件夹

cmd 无法执行mysql命令 运行cmd为什么运行不了mysql_mysql_02

 

 

cmd 无法执行mysql命令 运行cmd为什么运行不了mysql_cmd 无法执行mysql命令_03

 

 

cmd 无法执行mysql命令 运行cmd为什么运行不了mysql_mysql_04

 

 第三步: 在CMD输入mysqld --install指令,安装mysql服务

cmd 无法执行mysql命令 运行cmd为什么运行不了mysql_MySQL_05

 

 

第四步:在CMD输入net start mysql,启动服务,这里如果显示服务启动成功代表安装成功。

若出现:正在启动服务,服务无法启动的错误。
 
【解决办法】:
 
()可以输入mysqld --console 启动 查看启动的报错信息,博主的报错信息是3306 端口已经被另一个服务占用,该次启动无法进行。这是问题的关键所在。
 
()去查找3306被谁占用了。步骤如下:
 
开始-运行-cmd, 输入 netstat -ano, 看第一列,后面的就是端口,找到3306 ,记住对应的PID
 
然后打开任务管理器查看 -> 选择列 -> 勾上 PID(进程标识符) -> 确定 
 
在任务管理器找到刚才的PID的进程,查看是什么程序占用了端口,把它关闭
 
在重新启动mysql就不会包端口被占用的错误了
 
()重新先用msqld --remove 删除掉服务,再把data文件夹也删除,重新执行以下三条指令即可完成
 
mysqld --initialize-insecure
 
mysqld --install
 
net start mysql

在CMD执行mysql -u root,(无需密码, 即可进入),因为上边是用insecure 创建的。

这样就可以启动mysql服务了。

如果想修改密码的话,

在安装MySQL的bin目录下,找my.ini文件;

在[mysqld]后添加skip-grant-tables

#使其登录时跳过权限检查

cmd 无法执行mysql命令 运行cmd为什么运行不了mysql_MySQL_06

 

 重启MySQL服务器

cmd 无法执行mysql命令 运行cmd为什么运行不了mysql_cmd 无法执行mysql命令_07

 

 

这时可以键入mysql –u root –p;直接回车(Enter),就可以直接进入数据库。(可以不执行,直接进行密码修改)

在CMD执行mysqladmin -u root -p password

cmd 无法执行mysql命令 运行cmd为什么运行不了mysql_MySQL_08

 

 

再把my.ini的skip-grant-tables删除,然后重启MySQL服务器:

net stop mysql ;

net start mysql;

 

精神共享,智慧共融!