温馨提示×

Ubuntu中MariaDB配置步骤是什么

小樊
39
2025-11-09 01:30:59
栏目: 云计算

Ubuntu中MariaDB配置步骤

1. 安装MariaDB

首先更新系统软件包列表,确保所有组件为最新版本,然后通过APT包管理器安装MariaDB服务器及客户端:

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

安装完成后,MariaDB服务会自动启动。

2. 启动与自启设置

手动启动MariaDB服务,并设置为开机自动启动,确保系统重启后数据库服务持续运行:

sudo systemctl start mariadb
sudo systemctl enable mariadb

通过sudo systemctl status mariadb命令可验证服务状态(显示“active (running)”即为正常)。

3. 安全配置

运行mysql_secure_installation脚本,完成以下关键安全设置:

  • 设置root密码:若安装时未设置密码,按提示输入新密码(建议包含大小写字母、数字和特殊字符);
  • 移除匿名用户:避免未授权用户访问数据库;
  • 禁止root远程登录:降低远程攻击风险(生产环境建议仅允许本地登录);
  • 删除测试数据库:移除默认创建的测试数据库及权限;
  • 重新加载权限表:使上述更改立即生效。

4. 登录MariaDB

使用root用户登录MariaDB命令行客户端,验证安装是否成功:

mysql -u root -p

输入步骤3中设置的root密码,成功登录后将显示MariaDB [(none)]>提示符。

5. 基础配置(可选但推荐)

5.1 配置文件修改

MariaDB的主配置文件位于/etc/mysql/mariadb.conf.d/50-server.cnf,可通过编辑该文件调整核心参数:

  • 字符集设置:避免乱码,建议启用UTF-8编码:
    [mysqld]
    character-set-server=utf8mb4
    collation-server=utf8mb4_unicode_ci
    
  • 性能优化:调整InnoDB缓冲池大小(建议为系统内存的50%-70%,如2GB内存可设置为2G):
    innodb_buffer_pool_size=2G
    
  • 远程访问:若需允许远程连接,将bind-address从默认的127.0.0.1修改为0.0.0.0(生产环境需限制可信IP):
    bind-address=0.0.0.0
    

修改完成后,保存文件并重启MariaDB服务使配置生效:

sudo systemctl restart mariadb

5.2 创建数据库与用户

为应用创建专用数据库及用户,并授权访问(避免直接使用root用户):

-- 创建数据库(如“myapp_db”)
CREATE DATABASE myapp_db;

-- 创建用户(如“myapp_user”,密码“SecurePass123!”,仅限本地访问)
CREATE USER 'myapp_user'@'localhost' IDENTIFIED BY 'SecurePass123!';
 
-- 授权用户对数据库的所有权限
GRANT ALL PRIVILEGES ON myapp_db.* TO 'myapp_user'@'localhost';

-- 刷新权限表,使授权立即生效
FLUSH PRIVILEGES;

退出MariaDB命令行:EXIT;

6. 远程访问配置(可选)

若需从远程计算机访问MariaDB,需完成以下步骤:

  • 修改配置文件:确保bind-address=0.0.0.0(允许所有IP连接,生产环境建议限制为特定IP段);
  • 开放防火墙端口:Ubuntu系统使用ufw开放3306端口(MariaDB默认端口):
    sudo ufw allow 3306/tcp
    
  • 创建远程用户:为用户分配远程访问权限(如“remote_user”,密码“RemotePass456!”,允许所有IP连接):
    CREATE USER 'remote_user'@'%' IDENTIFIED BY 'RemotePass456!';
    GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'%' WITH GRANT OPTION;
    FLUSH PRIVILEGES;
    

通过上述配置,远程计算机可使用mysql -h [服务器IP] -u remote_user -p命令连接MariaDB。

0