温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Ubuntu下怎么安装配置MariaDB

发布时间:2022-01-24 15:09:50 来源:亿速云 阅读:555 作者:iii 栏目:开发技术
# Ubuntu下怎么安装配置MariaDB ## 前言 MariaDB作为MySQL的重要分支,因其开源、高性能和完全兼容MySQL的特性,已成为众多开发者和企业的首选数据库解决方案。本文将详细介绍在Ubuntu系统上从零开始安装、配置MariaDB的全过程,涵盖安全加固、用户管理、性能优化等实用内容,帮助您快速搭建生产级数据库环境。 --- ## 一、MariaDB简介与技术背景 ### 1.1 MariaDB与MySQL的关系 MariaDB由MySQL原开发团队打造,采用GPLv2开源协议,完全兼容MySQL的API和命令。其显著优势包括: - 默认使用更高效的Aria存储引擎 - 支持并行复制和Galera集群 - 包含更多性能优化和扩展功能 - 社区驱动的发展模式 ### 1.2 版本选择建议 - Ubuntu 20.04 LTS默认提供10.3版本 - Ubuntu 22.04 LTS默认提供10.6版本 - 生产环境建议使用LTS版本(当前最新为10.11 LTS) --- ## 二、安装前的系统准备 ### 2.1 系统更新与依赖检查 ```bash sudo apt update && sudo apt upgrade -y sudo apt install software-properties-common dirmngr apt-transport-https -y 

2.2 添加官方仓库(可选最新版)

sudo apt-key adv --fetch-keys 'https://mariadb.org/mariadb_release_signing_key.asc' sudo add-apt-repository 'deb [arch=amd64,arm64,ppc64el] https://mirrors.aliyun.com/mariadb/repo/10.11/ubuntu $(lsb_release -cs) main' 

三、详细安装步骤

3.1 通过APT安装

sudo apt update sudo apt install mariadb-server mariadb-client -y 

3.2 验证安装状态

systemctl status mariadb # 输出应显示"active (running)" 

3.3 初始化安全配置

sudo mysql_secure_installation 

执行后将依次设置: 1. root密码强度验证 2. 匿名用户删除 3. 禁止root远程登录 4. 移除test数据库 5. 立即应用权限变更


四、深度配置指南

4.1 主配置文件详解

/etc/mysql/my.cnf包含以下关键配置:

[mysqld] datadir = /var/lib/mysql bind-address = 127.0.0.1 # 生产环境应改为服务器IP default-storage-engine = InnoDB character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci # 内存优化(根据服务器配置调整) innodb_buffer_pool_size = 1G # 建议为物理内存的50-70% key_buffer_size = 256M query_cache_size = 0 # MariaDB 10.1.7+建议禁用 

4.2 创建专用配置目录

sudo mkdir /etc/mysql/conf.d/ echo "[mariadb]" | sudo tee /etc/mysql/conf.d/custom.cnf 

4.3 日志文件配置

slow_query_log = 1 slow_query_log_file = /var/log/mysql/mariadb-slow.log long_query_time = 2 log_error = /var/log/mysql/mariadb-error.log 

五、用户与权限管理

5.1 创建管理用户

CREATE USER 'admin'@'localhost' IDENTIFIED BY 'StrongPassword123!'; GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' WITH GRANT OPTION; FLUSH PRIVILEGES; 

5.2 数据库权限示例

CREATE DATABASE wordpress_db; CREATE USER 'wp_user'@'%' IDENTIFIED BY 'Wp@SecurePass456'; GRANT SELECT, INSERT, UPDATE, DELETE, CREATE ON wordpress_db.* TO 'wp_user'@'%'; 

5.3 查看用户权限

SHOW GRANTS FOR 'wp_user'@'%'; 

六、性能调优实战

6.1 关键状态检查

SHOW STATUS LIKE 'Threads_connected'; SHOW VARIABLES LIKE 'max_connections'; # 建议设置为Threads_connected的120% 

6.2 InnoDB优化参数

innodb_flush_log_at_trx_commit = 2 # 平衡性能与可靠性 innodb_log_file_size = 256M innodb_read_io_threads = 8 innodb_write_io_threads = 4 

6.3 定期维护命令

sudo mysqlcheck --all-databases --optimize --auto-repair 

七、备份与恢复方案

7.1 使用mysqldump

sudo mysqldump -u root -p --all-databases --single-transaction > full_backup_$(date +%F).sql 

7.2 二进制日志备份

[mysqld] log_bin = /var/log/mysql/mariadb-bin expire_logs_days = 7 

7.3 自动化备份脚本

#!/bin/bash BACKUP_DIR="/var/backups/mysql" find $BACKUP_DIR -type f -mtime +30 -delete mysqldump -u backup_user -p'password' --all-databases | gzip > $BACKUP_DIR/db_$(date +%F_%H-%M).sql.gz 

八、故障排查技巧

8.1 常见错误处理

  • 连接数耗尽

    SET GLOBAL max_connections = 500; 
  • 内存泄漏

    sudo journalctl -u mariadb --no-pager -n 50 

8.2 性能瓶颈定位

EXPLN ANALYZE SELECT * FROM large_table WHERE condition; 

九、进阶配置选项

9.1 启用Galera集群

[galera] wsrep_on = ON wsrep_provider = /usr/lib/galera/libgalera_smm.so wsrep_cluster_address = "gcomm://node1_ip,node2_ip" binlog_format = ROW 

9.2 配置MaxScale中间件

sudo apt install maxscale 

十、安全加固措施

10.1 防火墙规则

sudo ufw allow from 192.168.1.0/24 to any port 3306 

10.2 审计插件安装

INSTALL SONAME 'server_audit'; SET GLOBAL server_audit_events = 'CONNECT,QUERY'; 

结语

通过本文的详细指导,您已完成从基础安装到生产级配置的全过程。建议定期检查MariaDB官方安全公告,保持版本更新。对于大型企业部署,应考虑结合ProxySQL、HAProxy等工具构建高可用架构。

延伸学习资源: - MariaDB官方文档 - Percona性能优化指南 - MySQL vs MariaDB特性对比 “`

注:实际字符数约3800字(含代码块)。如需精确控制字数,可适当增减配置示例或优化建议部分的内容。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI