亿维公司使用的数据库是哪款?如何操作和修改配置?
- 内容介绍
- 文章标签
- 相关推荐
亿维公司到底在用哪款数据库?
在公开资料和内部技术博客中,亿维公司最常提到的数据库是 MySQL。其选择 MySQL 的主要原因包括:
- 、稳定的开源关系型数据库。
- 高性能的存储引擎和丰富的索引机制。
- 的备份/恢复工具。
- 与主流开发语言的兼容性。其实,
针对特定业务场景。亿维也在探索基于 openGauss 的“磐维数据库”系列,但在日常运维与开发中,MySQL 仍是主要支撑。
使用者最常遇到的痛点
1️⃣ 数据库密码改动导致站点不可访问
当运维人员更改了 MySQL 的 root密码。却忘记同步到设置文件时所有依赖数据库的服务都会报错,站点瞬间瘫痪。
2️⃣ 缓存未刷新导致旧配置信息继续生效
即使手动修改了配置文件。如果程序使用了本地或分布式缓存,旧的连接信息仍会被读取,导致“密码已改,但仍然提示登录失败”。必须清除缓存才能让新配置生效。
3️⃣ 配置文件方法不统一、缺少文档
不同模块各自维护一套配置文件。修改时容易遗漏关键项,引发运行时异常。
如何快速定位并解决这些问题?
从步骤一来看,确认当前使用的数据库实例信息
-
登录服务器查看环境变量或启动脚本中定义的 DB 参数:
# 示例:查看启动脚本 cat /opt/yiwei/app/bin/start.sh | grep -i "DB_URL" -
直接查询 MySQL 进程
# 查看正在运行的 MySQL 实例端口 netstat -tlnp | grep mysql # 或者 ps -ef | grep mysqld -
使用 MySQL 客户端验证连通性:
# 替换为实际使用者名和密码 mysql -u your_user -pYourPassword -e "SELECT VERSION;"
从步骤二来看,安全地修改数据库账号或密码
-
使用 MySQL 内置语句修改密码
# 登录后执行 ALTER USER 'your_user'@'%' IDENTIFIED BY 'NewSecureP@ssw0rd';不过,FLUSH PRIVILEGES; -
记录新密码并同步到所有配置文件
- /opt/yiwei/config/application.yml
- /opt/yiwei/config/db.properties
- /opt/yiwei/webapp/WEB-INF/classes/jdbc.properties
- 加密存储: 使用 Jasypt 或 Spring Boot 的加密属性。将明文密码替换为加密串,提高安全性。
步骤三这方面,清理缓存确保新配置即时生效
Eureka、Redis 或本地 Ehcache 常被用于缓存 DB 连接信息。执行以下命令强制刷新:
# Redis 示例
redis-cli FLUSHALL
# Ehcache 示例
curl -X POST http://localhost:8080/actuator/cache/evictAll?cache=jdbcCache
If system uses an external configuration中心,记得同步更新对应的键值并触发热更新。
再看步骤四,验证程序恢复正常运行
- PING 数据库:`SELECT 1;` 确认连接成功,不过,
- A/B 测试接口:`curl -I http://yourservice/api/health` 检查返回 200。
- 日志检查:`tail -f /opt/yiwei/logs/app.log | grep -i "ERROR"` 确认无 DB 相关错误。
完整的 MySQL 基础操作教程
Create / Drop Database & Table
# 创建数据库
CREATE DATABASE yiwei_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;# 删除已有库
DROP DATABASE IF EXISTS yiwei_db;
# 切换到目标库
USE yiwei_db;# 创建示例表
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,name VARCHAR NOT NULL。email VARCHAR UNIQUE NOT NULL,created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
DML 基础操作
# 插入数据
INSERT INTO users VALUES;# 查询全部
SELECT * FROM users;# 更新数据
UPDATE users SET email='' WHERE name='Alice';# 删除记录
DELETE FROM users WHERE name='Alice';
Mysql 常用调整 & 参数调优
-
`innodb_buffer_pool_size`:
- `max_connections`:
- `slow_query_log` + `long_query_time`:
`query_cache_type` 已在新版 MySQL 中废弃,可通过外部缓存替代。 - `max_connections`:
再看SOP,从零搭建亿维项目所需的 MySQL 环境 & 配置流程
-
wget https://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm sudo rpm -Uvh mysql80-community-release-el7-5.noarch.rpm sudo yum install mysql-server -y
systemctl start mysqld && systemctl enable mysqld
grep 'temporary password' /var/log/mysqld.log
sudo mysql_secure_installation # 按提示更改 root 密码并完成安全加固
mysql -u root -p
CREATE USER 'yiweiuser'@'%' IDENTIFIED BY 'YourStrongP@ss!',GRANT ALL PRIVILEGES ON yiweidb.* TO 'yiwei_user'@'%';FLUSH PRIVILEGES;老实说,
示例 application.yml 片段:
yaml
从spring来看。datasource:
至于url,jdbc:mysql://10.0.0.20:3306/yiwei_db?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC
username: yiwei_user
password: ${DB_PASSWORD} # 环境变量方式管理,避免明文写入
bash
systemctl restart yiwei-web.service
systemctl restart yiwei-batch.service
bash
redis-cli FLUSHALL # 若使用 Redis 做配置信息缓存
bash
curl -I http://localhost:8080/api/health # 返回 HTTP 200 表示 OK
mysqladmin ping -u yiwei_user -pYourStrongP@ss!# 返回 mysqld is alive
-
至于每日全量备份,
mysqldump -u root -p --single-transaction --quick yiwei_db> /backup/yiwei_$.sql -
每周校验恢复演练:
mysql -u root -p test_db -
开启二进制日志 并结合
mysqlbinlog实现增量恢复。
Troubleshooting 快速排查清单
| 症状 / 错误码 | 排查步骤及方法 |
|---|
ALTER USER ... ACCOUNT UNLOCK;老实说,
- 清理缓存后再重新启动。
max_connections 参数
- 检查是否有泄漏连接未释放;建议使用连接池 并开启 leakDetectionThreshold.
A 小结 – 把“痛点”变成可执行 SOP 的关键要点
- 统一管理 DB 配置:推荐采用环境变量 + 配置中心双保险模式;话说回来,所有模块读取同一个键值。说起来,
- 修改密码后务必同步 两步① 更新配置文件② 清除缓存或强制刷新 Config Center。怎么说呢,
- 每次变更后跑一次健康检查脚本。确保业务服务能够正常连上 DB。
- 建立定期演练每月一次模拟密码失效场景,以验证 SOP 完整性。
这篇文章约 2100 字,预计阅读时间约 9 分钟。说起来,
亿维公司到底在用哪款数据库?
在公开资料和内部技术博客中,亿维公司最常提到的数据库是 MySQL。其选择 MySQL 的主要原因包括:
- 、稳定的开源关系型数据库。
- 高性能的存储引擎和丰富的索引机制。
- 的备份/恢复工具。
- 与主流开发语言的兼容性。其实,
针对特定业务场景。亿维也在探索基于 openGauss 的“磐维数据库”系列,但在日常运维与开发中,MySQL 仍是主要支撑。
使用者最常遇到的痛点
1️⃣ 数据库密码改动导致站点不可访问
当运维人员更改了 MySQL 的 root密码。却忘记同步到设置文件时所有依赖数据库的服务都会报错,站点瞬间瘫痪。
2️⃣ 缓存未刷新导致旧配置信息继续生效
即使手动修改了配置文件。如果程序使用了本地或分布式缓存,旧的连接信息仍会被读取,导致“密码已改,但仍然提示登录失败”。必须清除缓存才能让新配置生效。
3️⃣ 配置文件方法不统一、缺少文档
不同模块各自维护一套配置文件。修改时容易遗漏关键项,引发运行时异常。
如何快速定位并解决这些问题?
从步骤一来看,确认当前使用的数据库实例信息
-
登录服务器查看环境变量或启动脚本中定义的 DB 参数:
# 示例:查看启动脚本 cat /opt/yiwei/app/bin/start.sh | grep -i "DB_URL" -
直接查询 MySQL 进程
# 查看正在运行的 MySQL 实例端口 netstat -tlnp | grep mysql # 或者 ps -ef | grep mysqld -
使用 MySQL 客户端验证连通性:
# 替换为实际使用者名和密码 mysql -u your_user -pYourPassword -e "SELECT VERSION;"
从步骤二来看,安全地修改数据库账号或密码
-
使用 MySQL 内置语句修改密码
# 登录后执行 ALTER USER 'your_user'@'%' IDENTIFIED BY 'NewSecureP@ssw0rd';不过,FLUSH PRIVILEGES; -
记录新密码并同步到所有配置文件
- /opt/yiwei/config/application.yml
- /opt/yiwei/config/db.properties
- /opt/yiwei/webapp/WEB-INF/classes/jdbc.properties
- 加密存储: 使用 Jasypt 或 Spring Boot 的加密属性。将明文密码替换为加密串,提高安全性。
步骤三这方面,清理缓存确保新配置即时生效
Eureka、Redis 或本地 Ehcache 常被用于缓存 DB 连接信息。执行以下命令强制刷新:
# Redis 示例
redis-cli FLUSHALL
# Ehcache 示例
curl -X POST http://localhost:8080/actuator/cache/evictAll?cache=jdbcCache
If system uses an external configuration中心,记得同步更新对应的键值并触发热更新。
再看步骤四,验证程序恢复正常运行
- PING 数据库:`SELECT 1;` 确认连接成功,不过,
- A/B 测试接口:`curl -I http://yourservice/api/health` 检查返回 200。
- 日志检查:`tail -f /opt/yiwei/logs/app.log | grep -i "ERROR"` 确认无 DB 相关错误。
完整的 MySQL 基础操作教程
Create / Drop Database & Table
# 创建数据库
CREATE DATABASE yiwei_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;# 删除已有库
DROP DATABASE IF EXISTS yiwei_db;
# 切换到目标库
USE yiwei_db;# 创建示例表
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,name VARCHAR NOT NULL。email VARCHAR UNIQUE NOT NULL,created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
DML 基础操作
# 插入数据
INSERT INTO users VALUES;# 查询全部
SELECT * FROM users;# 更新数据
UPDATE users SET email='' WHERE name='Alice';# 删除记录
DELETE FROM users WHERE name='Alice';
Mysql 常用调整 & 参数调优
-
`innodb_buffer_pool_size`:
- `max_connections`:
- `slow_query_log` + `long_query_time`:
`query_cache_type` 已在新版 MySQL 中废弃,可通过外部缓存替代。 - `max_connections`:
再看SOP,从零搭建亿维项目所需的 MySQL 环境 & 配置流程
-
wget https://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm sudo rpm -Uvh mysql80-community-release-el7-5.noarch.rpm sudo yum install mysql-server -y
systemctl start mysqld && systemctl enable mysqld
grep 'temporary password' /var/log/mysqld.log
sudo mysql_secure_installation # 按提示更改 root 密码并完成安全加固
mysql -u root -p
CREATE USER 'yiweiuser'@'%' IDENTIFIED BY 'YourStrongP@ss!',GRANT ALL PRIVILEGES ON yiweidb.* TO 'yiwei_user'@'%';FLUSH PRIVILEGES;老实说,
示例 application.yml 片段:
yaml
从spring来看。datasource:
至于url,jdbc:mysql://10.0.0.20:3306/yiwei_db?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC
username: yiwei_user
password: ${DB_PASSWORD} # 环境变量方式管理,避免明文写入
bash
systemctl restart yiwei-web.service
systemctl restart yiwei-batch.service
bash
redis-cli FLUSHALL # 若使用 Redis 做配置信息缓存
bash
curl -I http://localhost:8080/api/health # 返回 HTTP 200 表示 OK
mysqladmin ping -u yiwei_user -pYourStrongP@ss!# 返回 mysqld is alive
-
至于每日全量备份,
mysqldump -u root -p --single-transaction --quick yiwei_db> /backup/yiwei_$.sql -
每周校验恢复演练:
mysql -u root -p test_db -
开启二进制日志 并结合
mysqlbinlog实现增量恢复。
Troubleshooting 快速排查清单
| 症状 / 错误码 | 排查步骤及方法 |
|---|
ALTER USER ... ACCOUNT UNLOCK;老实说,
- 清理缓存后再重新启动。
max_connections 参数
- 检查是否有泄漏连接未释放;建议使用连接池 并开启 leakDetectionThreshold.
A 小结 – 把“痛点”变成可执行 SOP 的关键要点
- 统一管理 DB 配置:推荐采用环境变量 + 配置中心双保险模式;话说回来,所有模块读取同一个键值。说起来,
- 修改密码后务必同步 两步① 更新配置文件② 清除缓存或强制刷新 Config Center。怎么说呢,
- 每次变更后跑一次健康检查脚本。确保业务服务能够正常连上 DB。
- 建立定期演练每月一次模拟密码失效场景,以验证 SOP 完整性。
这篇文章约 2100 字,预计阅读时间约 9 分钟。说起来,

