MySQL 5.7.28/8.0.18配置笔记
MySQL 5.7.28/8.0.18配置笔记
近期Oracle貌似又更新了MySQL,社区版从5.7.28/8.0.18升级到了5.7.29/8.0.19。5.7.29在安装过程中很不方便,还需要下载MySQL Server 5.7.28,对于物理隔离的内网使用场景而言十分不友好,但受条件所限又找不到5.7.28/8.0.18的安装包了,只好下载了离线压缩包再进行配置后使用。在多个网站搜索了一些内容,按部就班做了配置,现把有关步骤记录一下,方便以后翻阅查看。
MySQL Server 5.7.29和8.0.19的可执行文件均使用VS2019编译的,需要提供VCRUNTIME140_1.dll,对于一直使用VS2015进行开发的小伙伴来说有些不太方便,但是想必配置的方法大同小异,估计需要增加VS2019的部署包(Redistributable)。
下面以5.7.28为例来记录配置过程,8.0.18不同的地方会特别指出。
(后面又对5.7.29和8.0.19进行了测试,现在看来是原先自己下载的安装包不对,重新下载后就没问题了。直接用官方提供的MSI根据需要安装MySQL即可)
下载和解压
从官方网站下载“mysql-5.7.28-winx64.zip”压缩包,解压缩到“C:\Program Files\MySQL”,并在“mysql-5.7.28-winx64”目录中新建“data”目录。
配置系统环境变量
- MYSQL_HOME:C:\Program Files\MySQL\mysql-5.7.28-winx64
- 在PATH后面添加“;%MYSQL_HOME%\bin”
- Win7中需要注销并重新登录当前用户(或者重新启动)以使新的设置生效。
添加配置文件
在C:\Program Files\MySQL\mysql-5.7.28-winx64添加配置文件“my.ini”,内容如下
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[mysqld]
# 设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=C:/Program Files/MySQL/mysql-5.7.28-winx64
# 设置mysql数据库的数据的存放目录
datadir=C:/Program Files/MySQL/mysql-5.7.28-winx64/data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为UTF-8字符集
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 8.0.18需要添加此配置,使用与5.x兼容的认证方式
default_authentication_plugin=mysql_native_password
初始化MySQL
以管理员身份启动控制台,输入
mysqld --initialize --user=mysql --console
控制台返回信息如图所示:
安装服务
以管理员身份启动控制台,输入
mysqld --install mysql57
安装服务。如果服务安装成功,返回“Service successfully installed.”
若要删除服务,运行
sc delete mysql57
即可。
对于MySQL Server 8.0.18,建议运行
mysqld --install mysql80
以便和MySQL Server 5.7.28有所区别。
更新注册表
HKEY_LOCAL_MACHINE
-SYSTEM
-CurrentControlSet
-services
-mysql57
-ImagePath
键值更改为:
"C:\Program Files\MySQL\mysql-5.7.28-winx64\bin\mysqld" --defaults-file=“C:\Program Files\MySQL\mysql-5.7.28-winx64\my.ini” mysql57
启动MySQL服务
在控制台运行“net start mysql57”
配置MySQL服务
- 修改登录密码
对于MySQL Server 8.0.18,需要运行
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root-password';
- 修改访问方式
- mysql>use mysql;
- mysql>UPDATE user SET host=’%’ WHERE user=‘root’;
- mysql>flush privileges;