【效率倍增】10个鲜为人知的海外在线工具站
2026/6/30 15:55:42
| 部署方式 | 适用系统 | 生产优点 | 缺点 | 最佳场景 |
|---|---|---|---|---|
| 系统源 yum/apt | Linux(CentOS/Ubuntu) | 一键安装、自动注册服务、日志统一、运维标准、升级简单 | 单实例为主,多实例麻烦 | 线上业务主从、云服务器、标准生产环境【首选】 |
| ZIP / 二进制绿色包 | Windows Server / Linux | 离线可用、多版本多实例、无系统依赖、可自定义路径 | 手动配服务、环境变量、my.cnf | 内网离线机房、Windows 小型业务、一台机器跑多个 MySQL |
| Docker | 全平台 (Win/Mac/Linux) | 一行启动、隔离干净、多版本切换极速 | 磁盘 IO 损耗、不建议承载高并发核心业务 | 测试环境、临时验证、本地开发,不做主生产库 |
| MSI 安装包 | Windows Server | 图形向导、自动注册服务、新手友好 | 路径固定、多实例难管理 | Windows 内网小型业务 |
导入 MySQL8.0 源
wget https://dev.mysql.com/get/mysql80-community-release-el9-3.noarch.rpm rpm -ivh mysql80-community-release-el9-3.noarch.rpm rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2023一键安装服务端 + 客户端(自带 mysqldump)
yum install -y mysql-community-serversystemctl start mysqld systemctl enable mysqldgrep 'temporary password' /var/log/mysqld.logmysql_secure_installationapt update apt install wget -y wget https://dev.mysql.com/get/mysql-apt-config_0.8.28-1_all.deb dpkg -i mysql-apt-config_0.8.28-1_all.deb apt update apt install -y mysql-server systemctl enable --now mysql mysql_secure_installationD:\mysql80E:\mysql_data\3306my.ini(下方完整参数模板)cd D:\mysql80\bin mysqld --initialize --consolemysqld install MySQL80 --defaults-file="D:\mysql80\my.ini" net start MySQL80# 1. 创建专用运行用户(生产强制,禁止root运行) groupadd mysql useradd -r -g mysql -s /sbin/nologin mysql # 2. 解压程序 tar -xf mysql-8.0.36-linux-glibc2.28-x86_64.tar.xz -C /usr/local/ mv /usr/local/mysql-8.0.36-linux-glibc2.28-x86_64 /usr/local/mysql80 # 3. 独立数据盘目录 mkdir -p /data/mysql/3306/{data,binlog,logs,socket,tmp} chown -R mysql:mysql /usr/local/mysql80 /data/mysql # 4. 编写my.cnf、初始化、配置systemd服务 /usr/local/mysql80/bin/mysqld --defaults-file=/data/mysql/3306/my.cnf --initialize --user=mysql # 5. 配置systemd托管,开机自启、故障自动重启docker run -d --name mysql8 \ -p 3306:3306 \ -e MYSQL_ROOT_PASSWORD=Pro@123456 \ mysql:8.0适配 8C16G 服务器,Windows/Linux 通用,路径分隔符 Windows 用/
[client] # 客户端socket文件路径,本地登录免端口 socket=/data/mysql/3306/socket/mysql.sock # 统一字符集,支持emoji表情 default-character-set=utf8mb4 [mysqld] ### 1. 基础路径与服务基础配置 # 数据库端口,多实例可修改3307/3308 port=3306 # 程序根目录(Windows必填,Linux可省略) basedir=/usr/local/mysql80 # 数据存储目录,生产必须独立SSD磁盘 datadir=/data/mysql/3306/data # 进程通信套接字 socket=/data/mysql/3306/socket/mysql.sock # 进程PID文件 pid-file=/data/mysql/3306/mysql.pid # 错误日志,排查崩溃、启动失败必备 log-error=/data/mysql/3306/logs/error.log ### 2. 字符集配置(全业务统一标准) character-set-server=utf8mb4 collation-server=utf8mb4_unicode_ci # 排序区分大小写,跨系统迁移避免表名找不到 lower_case_table_names=1 ### 3. 内存性能核心参数(按需修改) # InnoDB缓冲池,存放索引+热点数据,内存16G设10G,占物理内存50%~70% innodb_buffer_pool_size=10G # 重做日志单文件大小,高并发业务2G,普通业务1G innodb_log_file_size=2G # 日志缓冲区,事务提交前缓存数据 innodb_log_buffer_size=64M # 最大并发连接数,业务高峰按需调整,默认150太小,生产设1000 max_connections=1000 # 文件句柄上限,Linux必须65535,防止打开表过多报错 open_files_limit=65535 ### 4. Binlog二进制日志(生产强制开启,数据恢复、主从同步依赖) # binlog存储路径 log_bin=/data/mysql/3306/binlog/mysql-bin # ROW模式:记录每行数据变更,误删数据可精准回滚,生产唯一推荐 binlog_format=ROW # 每一次事务立刻刷盘,最高数据安全,宕机不丢事务 sync_binlog=1 # 自动清理7天前binlog,避免磁盘打满 expire_logs_days=7 ### 5. 安全加固参数(生产红线,不能注释) # 兼容旧程序密码插件 default_authentication_plugin=mysql_native_password # 禁止LOAD DATA本地导入文件,防止注入漏洞 local_infile=0 # 禁用软链接,防止文件路径穿透读取系统文件 symbolic-links=0 # 普通用户执行show databases看不到所有库,缩小信息泄露面 skip-show-database # 限制SELECT INTO OUTFILE导出文件的目录,空代表禁止导出 secure_file_priv=/data/mysql/3306/tmp # 密码校验策略:MEDIUM中等强度(大小写+数字+符号) validate_password.policy=MEDIUM # 密码最少12位,杜绝弱密码 validate_password.length=12 ### 6. 慢查询日志(SQL性能优化必备) slow_query_log=1 # 慢日志文件路径 slow_query_log_file=/data/mysql/3306/logs/slow.log # 执行超过1秒的SQL记录为慢查询 long_query_time=1 # 记录无索引的SQL,方便发现低效语句 log_queries_not_using_indexes=1innodb_buffer_pool_size越大,核心性能参数;local_infile=0、密码策略、限制导出路径是等保基本要求;-- 1. 修改root高强度密码 ALTER USER 'root'@'localhost' IDENTIFIED BY 'Pro@MysqlDB2026'; -- 2. 禁止root账号远程登录,只能本地管理 DELETE FROM mysql.user WHERE user='root' AND host != 'localhost'; -- 3. 删除匿名空账号、测试库 DELETE FROM mysql.user WHERE user=''; DROP DATABASE IF EXISTS test; -- 4. 刷新权限生效 FLUSH PRIVILEGES; -- 5. 创建业务专用账号(最小权限原则,应用禁止使用root) CREATE USER 'biz_user'@'192.168.1.%' IDENTIFIED BY 'Biz@Data202666'; GRANT SELECT,INSERT,UPDATE,DELETE ON biz_db.* TO 'biz_user'@'192.168.1.%'; FLUSH PRIVILEGES;防火墙仅放行应用服务器 IP 访问 3306,禁止 0.0.0.0 全网开放,杜绝公网直接访问数据库。
# Linux/Mac mysqldump -uroot -p --all-databases --single-transaction --routines --triggers --events | gzip > /backup/mysql_$(date +%Y%m%d).sql.gz # Windows ZIP包 D:\mysql80\bin\mysqldump -uroot -p --single-transaction ds0 > D:\bak\ds0_back.dmp参数说明:
--single-transaction:InnoDB 无锁一致性备份,线上不阻塞业务;--routines --triggers --events:同步备份存储过程、触发器、定时事件;.sql/.dmp无区别,仅文件名标识,内部都是明文 SQL 文本。# Linux gunzip -c xxx.sql.gz | mysql -uroot -p # Windows 单库恢复 mysql -uroot -p ds0 < D:\bak\ds0_back.dmp # 全库恢复不需要指定库名 mysql -uroot -p < D:\bak\all_back.sqlmysql -uroot -p db > file.dmp不能做备份,仅抓取控制台输出,无建表语句;mysqldump是标准导出工具;mysql客户端仅用于导入恢复;