linux

如何用Linux管理MariaDB

小樊
57
2025-08-27 15:51:40
栏目: 云计算

以下是在Linux上管理MariaDB的核心操作,涵盖安装、配置、日常管理及工具使用:

一、安装与基础配置

  1. 安装MariaDB

    • Ubuntu/Debian:
      sudo apt update && sudo apt install mariadb-server
      
    • CentOS/RHEL:
      sudo yum install mariadb-server
      
    • 启动服务并设置开机自启:
      sudo systemctl start mariadb
      sudo systemctl enable mariadb
      
  2. 安全初始化
    运行安全脚本,设置root密码、移除匿名用户、禁止远程root登录等:

    sudo mysql_secure_installation
    

二、数据库与用户管理

  1. 登录MariaDB

    sudo mysql -u root -p
    
  2. 数据库操作

    • 查看所有数据库:
      SHOW DATABASES;
      
    • 创建数据库:
      CREATE DATABASE db_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
      
    • 删除数据库:
      DROP DATABASE db_name;
      
  3. 用户管理

    • 创建用户并授权(允许远程访问需将localhost改为%):
      CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
      GRANT ALL PRIVILEGES ON db_name.* TO 'username'@'localhost';
      FLUSH PRIVILEGES;
      
    • 删除用户:
      DROP USER 'username'@'localhost';
      

三、备份与恢复

  1. 备份数据库

    • 单库备份(使用mysqldump):
      mysqldump -u root -p db_name > db_backup.sql
      
    • 全量备份(使用mariabackup,官方推荐):
      sudo apt install mariadb-backup  # Debian/Ubuntu
      sudo yum install mariadb-backup  # CentOS/RHEL
      mariabackup --user=root --password=xxx --backup --target-dir=/backup/path
      
  2. 恢复数据库

    • 单库恢复:
      mysql -u root -p db_name < db_backup.sql
      
    • 全量备份恢复(需先停止服务):
      sudo systemctl stop mariadb
      mariabackup --prepare --target-dir=/backup/path
      sudo rsync -aP /backup/path/ /var/lib/mysql/
      sudo chown -R mysql:mysql /var/lib/mysql
      sudo systemctl start mariadb
      

四、服务与权限管理

  1. 服务控制

    sudo systemctl start mariadb    # 启动
    sudo systemctl stop mariadb     # 停止
    sudo systemctl restart mariadb  # 重启
    sudo systemctl status mariadb   # 查看状态
    
  2. 配置文件修改
    编辑/etc/mysql/mariadb.conf.d/50-server.cnf(Ubuntu)或/etc/my.cnf(CentOS),调整如bind-address(允许远程访问需设为0.0.0.0)、端口等参数,修改后重启服务生效。

五、工具推荐

六、安全注意事项

以上操作基于Linux主流发行版(Ubuntu/CentOS),可根据具体系统调整命令细节。

0
看了该问题的人还看了