- 到MySQL官网下载一个社区版(Community)安装包, 目前最新版本为8.0.16
- 创建一个目录, 将MySQL安装包解压. 要注意的是所创建的目录一定要有读写权限. 比如常见的Program Files目录有可能安装失败, 报unknown option ‘–install’ 错误
比如这次创建一个Program的目录, 将MySQL解压到该目录下
- 创建配置文件my.ini
下载的MySQL安装包中并不包含这个文件. 当然没有这个文件的情况下也可以安装, 但是如果需要自定义一些配置, 可以自己创建一个. 以下是一些比较基本的配置
[mysqld]
# 设置 3306 端口
port=3307
# 设置 mysql 的安装目录
basedir=D:\exploit\mysql\mysql-8.0.15.0-zip\mysql-8.0.15-winx64
# 设置 mysql 数据库的数据的存放目录
datadir=D:\exploit\mysql\mysql-8.0.15.0-zip\data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为 UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
[mysql]
# 设置 mysql 客户端默认字符集
default-character-set=utf8
[client]
# 设置 mysql 客户端连接服务端时默认使用的端口
port=33067
default-character-set=utf8
- 根据my.ini配置, 创建对应数据目录路径. 其中basedir为MySQL安装目录, datadir为数据存储目录.
另外要注意: datadir目录需要预先创建, 否则安装时可能报错. 也就是说MySQL在安装的时候并不会根据my.ini的配置自动创建目录
- 初始化数据目录
进入MySQL\bin目录, 执行
mysqld --initialize-insecure.
稍等约10多秒20秒左右(看机器速度), 可能没有任何提示便结束. 如果中间没有报错就是成功了
这时去看我们定义的datadir目录, 初始化数据已经创建好了
- 安装为Windows服务
以管理员运行CMD, 进入MySQL\bin目录, 执行
mysqld --install mysql8 --defaults-file=C:*安装路径*\my.ini
其中mysql8为服务名, 即windows服务管理里面看到的名称, 可以自己定义
提示Service successfully installed 服务成功安装
- 启动与关闭服务
启动服务: net start mysql8
mysql已经成功启动
关闭服务: net stop mysql8
- mysql命令加入环境变量path
MySQL已经安装完成也能启动了, 但是现在除了mysql\bin目录下, 系统还不认识mysql命令. 所以需要将mysql\bin目录加入环境变量
依次找到 系统属性 -> 高级 选项卡 -> 环境变量, 在系统变量下选中path一行, 点击编辑, 将mysql\bin目录的完整路径粘贴进去
- 首次登录
再运行mysql命令就不会报错了. 但是直接执行mysql是以odbc身份登录的, 所以需要指定用户名. 注意选项-u和用户名root之间没有空格
mysql -uroot
这时可以成功登录了.
再来看一下现在有哪些用户
select host, user from mysql.user;
到此MySQL就安装完成了…
- 可能遇到的问题:
unknown option ‘–install’
安装为windows服务的时候出现此错误, 原因为mysql解压的目录没有权限. 比如将mysql解压到C:\Program Files, 有可能出现此问题. 重新选择一个解压目录即可
mysqld: Can’t create directory ‘C:\UserData\MySQL’ (OS errno 2 - No such file or directory)
初始化数据目录的时候出现此错误, 原因为my.ini中配置了上述目录, 但实际上该目录并不存在. 所以需要根据配置路径, 预先创建对应的目录. Mysql初始化过程中并不会自动创建目录
缺少DLL msvcp140.dll
原因为缺少VC运行库. 安装Visual C++ Redistributable for Visual Studio 2015即可. 微软官网下载一个vc_redist.x64.exe
点击下载
mysqld: [ERROR] Found option without preceding group in config file C:\Program\mysql8\my.ini at line 1.
mysqld: [ERROR] Fatal error in defaults handling. Program aborted!
原因可能是my.ini文件编码不对. 比如有的文本编辑器默认以UTF-8保存. 改为ANSI编码即可