# MySQL8.0数据库部署-Windows
北京致远互联软件股份有限公司
2024年11月修订
# Windows下安装部署
# 系统要求
选用MySQL8.0版本数据库,请更新Windows Server 2012 R2(或者更高版本微软操作系统)的所有补丁,重启服务器以后再部署Microsoft Visual C++ 2015-2019组件 (opens new window)
# 下载安装包
访问MySQL官方下载中心 (opens new window),下载最新版本MySQL Community Server数据库zip文件:
本案例下载的是mysql-8.0.26-winx64.zip,安装包放置在E盘,解压后目录结构如图:
# 创建my.ini文件
创建一个my.ini文件,将其放置到上一步解压的mysql-8.0.26-winx64目录下。
将如下配置信息按需调整后保存到my.ini文件中:
[client]
# 配置端口,不推荐使用默认端口3306
port=3308
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
[mysqld]
# 配置端口,不推荐使用默认端口3306
port=3308
# *设置安装包路径,根据实际情况调整
basedir="E:/mysql-8.0.26-winx64/"
# *设置数据存放路径,根据实际情况调整
datadir="E:/mysql-8.0.26-winx64/data/"
# tmpdir="E:/mysql-8.0.26-winx64/data/temp/"
# General and Slow logging.
log-output=FILE
general-log=0
general_log_file="seeyon-mysql-8.0-general.log"
slow-query-log=1
slow_query_log_file="seeyon-mysql-8.0-slow.log"
long_query_time=10
# Error Logging.
log-error="seeyon-mysql-8.0.err"
# default_authentication_plugin=caching_sha2_password
default_authentication_plugin=mysql_native_password
default-storage-engine=INNODB
character-set-server=utf8mb4
max_connections=600
max_connect_errors=100
transaction_isolation=READ-COMMITTED
max_allowed_packet=64M
default-time-zone='+8:00'
log_timestamps=system
lower_case_table_names=1
table_open_cache=2000
tmp_table_size=512M
key_buffer_size=512M
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=16M
# *极其重要的数据库内存参数,一般建议将服务器物理内存的 50% 到 80% 分配给 innodb_buffer_pool_size
innodb_buffer_pool_size=4G
innodb_log_file_size=1G
innodb_autoextend_increment=64
innodb_buffer_pool_instances=8
innodb_open_files=300
innodb_file_per_table=1
注意:如果使用记事本编辑保存,请另存为,设置编码ANSI。
关于/etc/my.cnf配置,有几个关键信息:
1、数据引擎要求为InnoDB
2、MySQL8字符集要求为utf8mb4,早期MySQL版本可设置为utf8
3、要求不区分表/字段大小写lower_case_table_names=1
4、MySQL8系列,时区默认为美国时区,中国用户若要正常使用,需修改mysql配置文件为default-time-zone='+8:00'
5、MySQL5.7或者以上版本,需要设置数据库日志时间匹配系统时区log_timestamps=system
6、innodb_buffer_pool_size
参数是非常关键的性能指标,生产库建议按照服务器内存的50%-80%配置
# 初始化数据库
开始菜单,找到cmd命令提示符,以管理员身份运行,执行命令cd /d E:\mysql-8.0.26-winx64\bin
切换路径到安装程序bin下
初始化数据库:执行命令mysqld --initialize --console
,记住生成的随机密码
注册Windows服务:执行命令mysqld.exe --install MySQL8.0 --defaults-file="E:\mysql-8.0.26-winx64\my.ini"
成功则提示Service successfully installed.
4)创建E:\mysql-8.0.26-winx64\data\temp目录,修改my.ini文件解除注释(去掉行首的#)
tmpdir="E:/mysql-8.0.26-winx64/data/temp/"
# 启动并登录MySQL8
到Windows服务列表中,找到MySQl8服务,启动即可:
随后,使用mysql命令行登录数据库修改root密码(需要初始化数据库生成的随机密码,以下举例供参考,以实际密码为准)
cd /d E:\mysql-8.0.26-winx64\bin
# 敲回车时,需要输入初始数据库生成的随机密码
mysql -uroot -P3308 -p
# MySQL库中修改密码及账号
设置root新密码设置为newpwd654321
ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpwd654321';
flush privileges;
创建seeyon账号设置密码为oapwd654321,为了安全,可以设置仅OA连接库,比如允许协同服务器10.3.4.239远程访问数据库:
create user 'seeyon'@'10.3.4.239' identified by 'oapwd654321';
flush privileges;
grant all privileges on *.* to 'seeyon'@'10.3.4.239';
flush privileges;
如果允许所有服务器通过seeyon账号远程访问数据库,则执行:
create user 'seeyon'@'%' identified by 'oapwd654321';
flush privileges;
grant all privileges on *.* to 'seeyon'@'%';
flush privileges;
# MySQL库中创建新空库
创建V8X数据库命令示例:CREATE DATABASE V8X DEFAULT CHARACTER SET UTF8MB4;
# 防火墙端口管理
操作系统防火墙中添加数据库端口(本例中是3308)允许访问策略。
# 结束
以上完成后,MySQL就完成了安装。
随后,项目可通过数据库可视化工具登录访问,也可以使用标准安装程序安装初始化库。