虽然现在网上MySQL安装一搜一大堆,但是总感觉不别人的不完整,所以特地整理一个自己的安装手顺,方便以后查看。
1.MySQL下载及环境变量配置
链接:https://pan.baidu.com/s/1ZR9jtzlGe4oLTp2oPPopCA
提取码:fm85
提供一个网盘链接,版本是8.0.19官网下载的
在系统变量path后面加上解压后的目录到bin,如下图所示
2.My.in配置
下载完成后直接解压放到自己盘符下就可以了。不需要安装的。
图中标红的my.ini是mysql的配置文件。
图中标绿的data目录是根据配置文件自动生成的。
(解压完的文件夹中不包含这两个文件,其中my.ini需要自己创建,data不需要)
注意my.ini文件的编码格式一定要为ANSI,不能是UTF-8,此处谨记不然后续安装会出错!
Found option without preceding group in config file:XXX; Fatal error in defaults handling. 这个错误报出来的位置是你的my.int的第一行基本就是编码的问题,因为utf-8文件有个文件头(EFBBBF)
[client]
port=3306
[mysql]
no-beep
# default-character-set=
[mysqld]
port=3306
# mysql根目录
basedir="E:\mysql-8.0.19-winx64\mysql-8.0.19-winx64"
# 放所有数据库的data目录
datadir="E:\mysql-8.0.19-winx64\mysql-8.0.19-winx64\data"
# character-set-server=
# 默认存储引擎innoDB
default-storage-engine=INNODB
# Set the SQL mode to strict
#sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
#日志输出为文件
log-output=FILE
# 是否开启sql执行结果记录,必须要设置general_log_file参数,日志的路径地址
# 即日志跟踪,1为开启,0为关闭
general-log=0
general_log_file="execute_sql_result.log"
# 配置慢查询,5.7版本默认为1
slow-query-log=1
slow_query_log_file="user-slow.log"
long_query_time=10
#默认不开启二进制日志
#log-bin=mysql-log
#错误信息文件设置,会将错误信息放在data/mysql.err文件下
log-error=mysql.err
# Server Id.数据库服务器id,这个id用来在主从服务器中标记唯一mysql服务器
server-id=1
#lower_case_table_names: 此参数不可以动态修改,必须重启数据库
#lower_case_table_names = 1 表名存储在磁盘是小写的,但是比较的时候是不区分大小写
#lower_case_table_names=0 表名存储为给定的大小和比较是区分大小写的
#lower_case_table_names=2, 表名存储为给定的大小写但是比较的时候是小写的
lower_case_table_names=1
#限制数据的导入导出都只能在Uploads文件中操作,这个是在sql语句上的限制。
#secure-file-priv="D:\AppServ\mysql-5.7.23/Uploads"
#值为null ,也就是注释掉这个参数或者secure-file-priv=null。表示限制mysqld 不允许导入|导出
#值为/tmp/ ,即secure-file-priv="/tmp/" 表示限制mysqld 的导入|导出只能发生在/tmp/目录下
#没有具体值时,即secure-file-priv= 表示不对mysqld 的导入|导出做限制
# 最大连接数
max_connections=151
# 打开表的最大缓存数
table_open_cache=2000
# tmp_table_size 控制内存临时表的最大值,超过限值后就往硬盘写,写的位置由变量 tmpdir 决定
tmp_table_size=16M
# 每建立一个连接,都需要一个线程来与之匹配,此参数用来缓存空闲的线程,以至不被销毁,
# 如果线程缓存中有空闲线程,这时候如果建立新连接,MYSQL就会很快的响应连接请求。
# 最大缓存线程数量
thread_cache_size=10
根据自己的需要可以对配置方式进行适当的调整。注意得重启mysql服务才能生效!
总结:
1、my.ini得自己配置且需要配置正确
2、data目录后续自动生成自己不能创建!
3、配置初始化及服务安装
这个位置输入cmd,直接进入命令行,输入三个命令
第一个:
mysqld --initialize --user=root --console
成功标志:
2020-03-28T10:12:29.882642Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: Nj2ReNVWq:e;
第二个:
mysqld -install
成功标志:
Service successfully installed.
第三个:
net start mysql
成功标志:
MySQL 服务正在启动 .
MySQL 服务已经启动成功。
执行以上三个命令失败时,可以尝试使用管理员运行cmd运行,或者重启电脑。