首先,先把mysql的bin路径添加到系统环境变量
第一步:在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输入mysqld --install指令,安装mysql服务
第四步:在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
#使其登录时跳过权限检查
重启MySQL服务器
这时可以键入mysql –u root –p;直接回车(Enter),就可以直接进入数据库。(可以不执行,直接进行密码修改)
在CMD执行mysqladmin -u root -p password
再把my.ini的skip-grant-tables删除,然后重启MySQL服务器:
net stop mysql ;
net start mysql;
精神共享,智慧共融!