MySQL8.0 0 安装后,使用CMD无法启动mysql服务
首先,先把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;
精神共享,智慧共融!