ubuntu

MariaDB在Ubuntu上的最佳实践是什么

小樊
36
2025-06-25 14:54:12
栏目: 云计算

在Ubuntu上安装和配置MariaDB时,遵循以下最佳实践可以帮助确保数据库的高性能、安全性和可维护性:

安装MariaDB

  1. 更新系统

    在开始安装之前,确保系统包管理器是最新的:

    sudo apt update
    
  2. 添加MariaDB仓库

    添加MariaDB的官方仓库以获取最新版本的软件包:

    sudo apt install software-properties-common
    sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 0xF1656F24C74CD1D8
    sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://mirrors.neusoft.edu.cn/mariadb/repo/10.3/ubuntu $(lsb_release -sc) main'
    
  3. 安装MariaDB服务器

    使用以下命令安装MariaDB服务器:

    sudo apt install mariadb-server
    
  4. 启动和启用MariaDB服务

    安装完成后,启动MariaDB服务并设置为开机自启:

    sudo systemctl start mariadb
    sudo systemctl enable mariadb
    
  5. 运行安全配置脚本

    运行 mysql_secure_installation 脚本以设置root密码和其他安全选项:

    sudo mysql_secure_installation
    
    • 设置root密码
    • 删除匿名用户
    • 禁止root用户远程登录
    • 删除测试数据库
    • 启用二进制日志
    • 限制访问本地文件系统的权限
  6. 验证安装

    使用以下命令登录MariaDB,验证安装是否成功:

    mysql -u root -p
    

    输入之前设置的root密码,进入MariaDB命令行界面后,可以运行 SELECT version(); 来确认MariaDB的版本信息。

配置MariaDB

  1. 修改配置文件

    编辑MariaDB的配置文件 /etc/mysql/mariadb.conf.d/50-server.cnf,进行以下修改:

    • 基本设置

      [mysqld]
      bind-address = 0.0.0.0  # 允许远程访问
      socket = /var/run/mysqld/mysqld.sock
      
    • 性能优化

      innodb_buffer_pool_size = 70% of total RAM
      innodb_log_file_size = 256M
      innodb_flush_log_at_trx_commit = 2
      innodb_thread_concurrency = 16
      innodb_flush_method = O_DIRECT
      query_cache_size = 64M
      query_cache_type = 1
      max_connections = 500
      slow_query_log = 1
      slow_query_log_file = /var/log/mysql/slow-queries.log
      long_query_time = 2
      table_open_cache = 2000
      table_definition_cache = 1000
      
  2. 重启MariaDB服务

    保存配置文件后,重启MariaDB服务以使更改生效:

    sudo systemctl restart mariadb
    

性能优化

  1. 硬件优化

    • 增加内存
    • 使用SSD
    • 多核CPU
  2. 索引优化

    • 创建索引:为经常查询的列创建索引。
    • 复合索引:对于多列查询,考虑创建复合索引。
    • 删除不必要的索引:过多的索引会增加写操作的开销。
  3. 查询优化

    • 使用EXPLAIN分析查询计划,找出性能瓶颈。
    • 避免SELECT ***:只选择需要的列。
    • 使用JOIN代替子查询:在某些情况下,JOIN比子查询更高效。
    • 分页查询:对于大数据量的分页查询,使用LIMIT和OFFSET。
  4. 定期维护

    • 优化表:定期运行 OPTIMIZE TABLE 命令来整理表碎片。
    • 清理日志:定期清理二进制日志和慢查询日志。

安全设置

  1. 限制远程访问

    /etc/mysql/mariadb.conf.d/50-server.cnf 文件中,将 bind-address 设置为 0.0.0.0 以允许远程连接,然后重启MariaDB服务:

    # 注释掉或修改以下行
    # bind-address = 127.0.0.1
    
  2. 创建新的数据库和用户

    创建一个新的数据库和用户,并赋予相应的权限:

    CREATE DATABASE mydatabase;
    CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword';
    GRANT ALL PRIVILEGES ON mydatabase.* TO 'myuser'@'localhost';
    FLUSH PRIVILEGES;
    
  3. 监控和调优

    使用监控工具如Prometheus、Grafana等监控数据库性能。定期检查数据库的性能指标,及时发现并解决问题。

通过遵循上述最佳实践,您可以在Ubuntu上成功安装、配置和优化MariaDB,确保其高性能、安全性和可维护性。

0
看了该问题的人还看了