MySQL/MariaDB 数据库手册

版本选择建议

银河麒麟服务器默认仓库提供的是 MariaDB(MySQL 的完全兼容分支)。对于绝大多数 Web 应用,MariaDB 性能更优且更贴合开源规范。

1. 安装与基础加固

1

安装服务

sudo yum install -y mariadb-server
2

初始化安全设置

强烈建议执行,它可以帮您移除匿名用户并设置强 Root 密码

sudo mysql_secure_installation

2. 运维常用 SQL 及命令

创建数据库并指定 UTF8MB4 编码
CREATE DATABASE my_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
创建远程管理账号
CREATE USER 'admin'@'%' IDENTIFIED BY '强密码';
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
备份整个数据库
mysqldump -u root -p my_db > backup.sql
导入/还原数据库
mysql -u root -p my_db < backup.sql

3. 性能优化 (my.cnf)

编辑 /etc/my.cnf.d/server.cnf 进行简单优化:

[mysqld]
# 缓冲池大小(建议设为内存的 50%-75%)
innodb_buffer_pool_size = 4G
# 日志文件大小
innodb_log_file_size = 512M
# 最大连接数
max_connections = 1000
# 慢查询日志开启
slow_query_log = 1
slow_query_log_file = /var/lib/mysql/slow.log
long_query_time = 2

常见问题解答

Q: 远程连不上数据库?

A: 1. 检查防火墙是否开启 3306 端口; 2. 检查配置文件中是否有 bind-address = 127.0.0.1,若有则需改为 0.0.0.0; 3. 确认账号授权的主机范围是否包含客户端 IP。

Q: 忘记 MySQL Root 密码?

A: 配置文件 [mysqld] 下添加 skip-grant-tables,重启后免密登录重置密码,然后再移除该配置重启。