在Ubuntu上安装和配置MariaDB时,遵循以下最佳实践可以帮助确保数据库的高性能、安全性和可维护性:
更新系统:
在开始安装之前,确保系统包管理器是最新的:
sudo apt update
添加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'
安装MariaDB服务器:
使用以下命令安装MariaDB服务器:
sudo apt install mariadb-server
启动和启用MariaDB服务:
安装完成后,启动MariaDB服务并设置为开机自启:
sudo systemctl start mariadb
sudo systemctl enable mariadb
运行安全配置脚本:
运行 mysql_secure_installation
脚本以设置root密码和其他安全选项:
sudo mysql_secure_installation
验证安装:
使用以下命令登录MariaDB,验证安装是否成功:
mysql -u root -p
输入之前设置的root密码,进入MariaDB命令行界面后,可以运行 SELECT version();
来确认MariaDB的版本信息。
修改配置文件:
编辑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
重启MariaDB服务:
保存配置文件后,重启MariaDB服务以使更改生效:
sudo systemctl restart mariadb
硬件优化:
索引优化:
查询优化:
定期维护:
OPTIMIZE TABLE
命令来整理表碎片。限制远程访问:
在 /etc/mysql/mariadb.conf.d/50-server.cnf
文件中,将 bind-address
设置为 0.0.0.0
以允许远程连接,然后重启MariaDB服务:
# 注释掉或修改以下行
# bind-address = 127.0.0.1
创建新的数据库和用户:
创建一个新的数据库和用户,并赋予相应的权限:
CREATE DATABASE mydatabase;
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword';
GRANT ALL PRIVILEGES ON mydatabase.* TO 'myuser'@'localhost';
FLUSH PRIVILEGES;
监控和调优:
使用监控工具如Prometheus、Grafana等监控数据库性能。定期检查数据库的性能指标,及时发现并解决问题。
通过遵循上述最佳实践,您可以在Ubuntu上成功安装、配置和优化MariaDB,确保其高性能、安全性和可维护性。