前提要义:不同版本安装方式不同,注意选择,可以参照官方文档
安装步骤
- 下载
- 解压
- 配置环境变量
- 创建my.ini文件
- 执行mysqld -install
- 执行mysqld -initialize
- 开启服务net start mysql
- 登录mysql
- 修改密码
- 完毕!
详细步骤:
1、下载
2、解压
解压到本地,位置随意,不要包含中文路径:C:\Program Files\MYSQL\mysql-5.7.27-winx64
3、配置环境变量
添加环境变量:变量名:MYSQL_HOME 值:E:\downloads\mysql\mysql-5.7.14-winx64
将环境变量添加到path:%MYSQL_HOME%\bin 注意Path中不同值之间的“;”符号不能省略
4、创建my.ini文件
新建一个txt文档,改名为my.ini,放在MySQL安装目录下,内容为:
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=C:\Program Files\MYSQL\mysql-5.7.27-winx64
# 设置mysql数据库的数据的存放目录
datadir=C:\Program Files\MYSQL\mysql-5.7.27-winx64\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
#解决不推荐使用具有隐式默认值的时间戳
explicit_defaults_for_timestamp=true
#不限制导入导出 任意目录
secure_file_priv="/"
最后两行设置需要加上,不然会出错;
C:\Windows\system32>mysqld -initialize
mysqld: Can't change dir to 'C:\Program Files\MYSQL\mysql-5.7.27-winx64\data\' (Errcode: 2 - No such file or directory)
2019-09-07T11:43:05.695354Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2019-09-07T11:43:05.695455Z 0 [Note] --secure-file-priv is set to NULL. Operations related to importing and exporting data are disabled
2019-09-07T11:43:05.695954Z 0 [Note] mysqld (mysqld 5.7.27) starting as process 18036 ...
2019-09-07T11:43:05.700324Z 0 [Warning] Can't create test file C:\Program Files\MYSQL\mysql-5.7.27-winx64\data\DESKTOP-OMKPLAR.lower-test
2019-09-07T11:43:05.700653Z 0 [Warning] Can't create test file C:\Program Files\MYSQL\mysql-5.7.27-winx64\data\DESKTOP-OMKPLAR.lower-test
2019-09-07T11:43:05.701777Z 0 [ERROR] failed to set datadir to C:\Program Files\MYSQL\mysql-5.7.27-winx64\data\
2019-09-07T11:43:05.702524Z 0 [ERROR] Aborting
2019-09-07T11:43:05.703522Z 0 [Note] Binlog end
2019-09-07T11:43:05.704284Z 0 [Note] mysqld: Shutdown complete
在MySQL根目录下必须创建一个data,对应你的配置文件,不然依旧无法成功;
对于以上设置
C:\Users\28628>mysqld -initialize
mysqld: Can't change dir to 'C:\Program Files\MYSQL\mysql-5.7.27-winx64\data\' (Errcode: 2 - No such file or directory)
2019-09-07T12:06:08.133693Z 0 [Warning] Can't create test file C:\Program Files\MYSQL\mysql-5.7.27-winx64\data\DESKTOP-OMKPLAR.lower-test
2019-09-07T12:06:08.133784Z 0 [Warning] Insecure configuration for --secure-file-priv: Data directory is accessible through --secure-file-priv. Consider choosing a different directory.
2019-09-07T12:06:08.134343Z 0 [Note] mysqld (mysqld 5.7.27) starting as process 11760 ...
2019-09-07T12:06:08.139109Z 0 [Warning] Can't create test file C:\Program Files\MYSQL\mysql-5.7.27-winx64\data\DESKTOP-OMKPLAR.lower-test
2019-09-07T12:06:08.139444Z 0 [Warning] Can't create test file C:\Program Files\MYSQL\mysql-5.7.27-winx64\data\DESKTOP-OMKPLAR.lower-test
2019-09-07T12:06:08.140388Z 0 [ERROR] failed to set datadir to C:\Program Files\MYSQL\mysql-5.7.27-winx64\data\
2019-09-07T12:06:08.141121Z 0 [ERROR] Aborting
2019-09-07T12:06:08.141674Z 0 [Note] Binlog end
2019-09-07T12:06:08.141957Z 0 [Note] mysqld: Shutdown complete
可能出现安全问题,导入导出配置不安全;
5、执行mysqld -install
会提示成功
6、执行mysqld -initialize
配置文件报错会发生在这一步,如果成功不会有任何提示
7、开启服务net start mysql
8、登录mysql
9、在命令行执行:mysql -u root –p
密码为:data文件下后缀为err文件中的最后一行
10、修改密码 set password for root@localhost=password('密码');
注意:如果mysql出现问题,执行mysqld -remove,在执行第5步之后的命令即可,密码没有变,数据也不会丢失。
如果以上不成功
1、卸载服务:mysqld remove
2、删除data文件夹
3、无密码的方式安装,默认生成data文件夹:mysqld --initialize-insecure --user=mysql
4、启动mysql:net start mysql
5、如果安装失败可以查看日志:mysqld --console
6、insecure创建的不需要密码就可以进入,直接回车:mysql -uroot
7、不需要登录,直接修改密码:mysqladmin -u root -p password root
8、直接回车,不需要密码
9、创建其他用户的方法:create user 'test'@'localhost' identified by '你的密码';
grant all privileges on *.* to test@'localhost';
运行这两句sql语句,再次用test的身份输入密码进入
10、登录:mysql -uroot -p 密码
配置文件
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=C:\Program Files\MYSQL\mysql-5.7.27-winx64
# 设置mysql数据库的数据的存放目录
datadir=C:\Program Files\MYSQL\mysql-5.7.27-winx64\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
#解决不推荐使用具有隐式默认值的时间戳
explicit_defaults_for_timestamp=true
#不限制导入导出 任意目录
secure_file_priv=''
# 默认使用“mysql_native_password”插件认证
#default_authentication_plugin=mysql_native_password
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8