前阵子学MySQL在电脑上安装时总在最后启动服务失败出现3534错误,按照网上方法修改my.ini配置及初始化data文件夹后并没有解决问题。这两天重装系统后意外发现可用cmd进入MySQL,多次重启试验屡试不爽,开心要飞起。下面以MySQL5.7.17版为例。
step1:下载并解压
此处有详细解压过程,解压时注意安装路径及密码,后面会需要。
step2:在解压根目录下找到my-default.ini并修改
复制my-default.ini并重命名为my.ini,在该my.ini文件添加内容如下,保存后放到根目录下替换my-default.ini即可。
具体代码如下:
basedir = C:\Program Files\MySQL\MySQL Server 5.7
datadir = C:\Program Files\MySQL\MySQL Server 5.7\data
port = 3306
max_connections=200
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
default-storage-engine=INNODB
join_buffer_size = 128M
sort_buffer_size = 2M
read_rnd_buffer_size = 2M
step3:配置环境变量
在控制面板->系统与安全->系统->高级系统设置->高级->环境变量->系统变量 下新建系统变量MYSQL_HOME ,变量值就是安装目录,然后在path里添加;%MYSQL5.7%\bin;,注意要有分号。
step4:以管理员身份打开cmd,输入命令
注意:一定要以管理员身份运行!然后从控制台进入到MySQL解压目录下的 bin 目录下
依次输入如下命令:
mysqld install //安装服务
mysqld initialize // 第一次一定要初始化data文件夹,此时会发现根目录下出现data文件夹且data下生成了三个文件夹和一些文件
net start mysql //启动服务,如果提示服务启动成功就可以使用bin文件夹下mysql了
net stop mysql //使用mysql后可用此命令停止服务
mysqld remove //移除服务
然而到第三条命令启动服务的时候总会提示:
C:\Program Files\MySQL\MySQL Server 5.7\bin>net start mysql
MySQL 服务正在启动 ..
MySQL 服务无法启动。
服务没有报告任何错误。
请键入 NET HELPMSG 3534 以获得更多的帮助。
如果能保证前面几步都准确无误的话,最后到这里行不通的确让人很头疼。我们可以接着输入命令:
mysql -u root -p //然后会提示输入设置的登录密码
出现mysql>就成功了!
备注:
1.用户创建的数据库表等数据文件会存放在刚刚被初始化的data文件夹里,如果没有,可能在隐藏的系统文件夹ProgramData->Mysql->msysql server5.7.17->data里,或自己搜索一下
2.可用quit命令退出mysql
3.为方便下次使用,可以从开始 的 最近添加 把 msysql5.7命令行 固定到任务栏或者创建快捷方式,每次只需要输入密码就可以了
4.如果重启后再打开mysql命令行发现提示错误:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
此时我们需要重复step4内容,在用 mysql -u root -p 之前输入一条命令:
mysqladmin -u root password 123456 //这里的123456是我之前的登录密码,因人而异
然后就可以了!