开始采坑
之前一直使用Linux(Ubuntu,Centos)安装过MySQL,由于非常方便的包(package)管理,导致的问题就是基本上没遇到啥坑,平平稳稳的安装好开始使用;现如今,Windows上来了,安装之旅必须要写点啥了,太颠簸了。。。
下载MySQL安装包
不得不再次吐槽,Oracle的官方网站(MySQL下载)实在是太慢了,好几次timeout不说,感觉像墙外面的一样根本不起反应,有科学上网经验的小伙伴可以尝试,其他的小伙伴可以尝试FTP站点。本人下载的是Windows
下面的mysql-8.0.12-winx64.msi
,其他系统平台安装的请忽略本文。
安装MySQL
下载之后msi
文件可以直接双击安装,如果弹出一个This Application requires Visual Studio 2015 Redistributable
的玩意儿,意思就是说有一个vcredist
的VC++运行库没有安装,找到Windows官方网站下载页面直接下载和安装,然后安装一路无事儿。
配置环境变量
需要配置的环境变量:
MYSQL_HOME = xxx // 就是安装的路径
Path = %MYSQL_HOME%\bin // 安装路径下的bin
配置MySQL
在%MYSQL_HOME%
下面新建一个文件my.ini
,作为MySQL启动的配置文件,配置文件的内容:
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.
[mysqld]
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
# These are commonly set, remove the # and set as required.
# port = .....
# server_id = .....
#设置服务器字符集为utf8
character_set_server=utf8
collation-server=utf8_general_ci
#设置mysql的安装目录
basedir = {修改成%MYSQL_HOME%}
#设置mysql的数据文件存放目录
datadir = {指定数据文件的存放路径}
#设置mysql服务所绑定的端口
port = 3306
#设置mysql允许的最大连接数
max_connections=15
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
[client]
#设置客户端字符集
default-character-set=utf8
[WinMySQLadmin]
Server = {修改成%MYSQL_HOME%}\bin\mysqld.exe
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
安装MySQL服务
上述的配置文件完成之后,用管理员身份启动cmd
终端,并且跳转到MySQL的安装路径下的bin
路径下,执行:
cmd > mysqld.exe -install
出现Service successfully installed.
即成功。
启动MySQL服务
继续上面的命令窗口,接着执行:
cmd > net start mysql
如果报错:
MySQL 服务正在启动 .
MySQL 服务无法启动。
服务没有报告任何错误。
请键入 NET HELPMSG 3534 以获得更多的帮助。
请用命令:
cmd > mysqld --console
查看报错的具体原因:
2018-08-13T13:19:13.039072Z 0 [System] [MY-010116] [Server] C:\software\mysql\server-8.0\bin\mysqld.exe (mysqld 8.0.12) starting as process 25008
2018-08-13T13:19:13.055817Z 1 [ERROR] [MY-011011] [Server] Failed to find valid data directory.
2018-08-13T13:19:13.058471Z 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed.
2018-08-13T13:19:13.060030Z 0 [ERROR] [MY-010119] [Server] Aborting
2018-08-13T13:19:13.067329Z 0 [System] [MY-010910] [Server] C:\software\mysql\server-8.0\bin\mysqld.exe: Shutdown complete (mysqld 8.0.12) MySQL Community Server - GPL.
从上面可以看出,报错的原因是之前MySQL的配置文件my.ini
中指定的数据文件路径不合法或者不存在,总之有问题,可以执行以下命令让其自动创建数据存放路径:
cmd > mysqld.exe --initialize-insecure --user=mysql
如果上面命令执行依旧报错,查看数据文件存放路径是否已存在,如果已存在则删除继续执行上述命令;如果不存在还报错,请查看具体原因(查看配置文件中配置的数据文件存放路径是否前面的路径有错误)。
如果上面的命令执行无错误,则再次启动MySQL服务:
cmd > net start mysql
出现结果:
MySQL 服务正在启动 .
MySQL 服务已经启动成功。
证明启动成功,本文也完毕。