云计算百科
云计算领域专业知识百科平台

Linux运维:MariaDB知识点总结

MariaDB知识点总结

MariaDB是MySQL的分支,CentOS7默认数据库,端口3306,核心包含进程、安装加固、配置文件、库表SQL操作、用户权限、密码故障处理、备份恢复、主从复制。

1. 双进程模型

  • mysqld_safe:守护监控进程:启动、监控mysqld,主进程崩溃自动重启;管理错误日志与启动参数。
  • mysqld:数据库核心主进程:监听3306端口,处理客户端连接、SQL读写、事务、磁盘数据操作。
  • 关系:mysqld_safe生成mysqld子进程;直接kill mysqld会被守护进程拉起;systemctl停止mariadb两个进程同时关闭。

    2. 安装与安全加固

  • 软件包:mariadb‑server服务端,mariadb客户端工具。
  • 启动:systemctl enable –now mariadb;防火墙放行mysql服务。
  • 加固脚本mysql_secure_installation交互式完成:设置root密码、禁止root远程登录、删除匿名账号、删除test测试库。
  • 3. 配置文件体系

    • /etc/my.cnf:主配置,优先级最高。
    • /etc/my.cnf.d/细分配置目录
      • server.cnf:[mysqld]/[mysqld_safe],控制数据库服务端(端口、监听地址、数据目录、引擎、日志)
      • client.cnf、mysql‑clients.cnf:控制mysql客户端连接参数。

    4. 数据库库操作SQL

    功能命令
    查看所有库 SHOW DATABASES;
    创建库 CREATE DATABASE [IF NOT EXISTS] 库名;
    删除库 DROP DATABASE [IF EXISTS] 库名;
    切换库 USE 库名;
    查看当前库 SELECT DATABASE();

    5. 数据表操作SQL

  • 基础:SHOW TABLES;查看表;DESCRIBE 表名;查看表结构;CREATE TABLE建表;DROP TABLE删表。
  • DML数据操作
    • 查询:SELECT,支持指定列、WHERE条件、ORDER BY排序;运算符:> < = != BETWEEN AND IN LIKE AND OR。
    • 聚合函数:COUNT、SUM、AVG、MAX、MIN,搭配GROUP BY分组统计。
    • 插入:INSERT INTO 表(列) VALUES(值)
    • 更新:UPDATE 表 SET 列=值 WHERE条件,不加WHERE会更新全表。
    • 删除:DELETE FROM 表 WHERE条件,不加WHERE清空整张表数据。
  • 6. 用户与权限管理

  • 用户格式:'用户名'@'登录主机';主机支持localhost、IP、网段通配符%。
  • 常用命令
    • 创建用户:CREATE USER 'user'@'host' IDENTIFIED BY '密码';
    • 删除用户:DROP USER 'user'@'host';
    • 授权:GRANT 权限 ON 范围 TO 用户@主机;范围:*.*全局、库.*库级别、库.表表级别,还支持列级权限。
    • 回收权限:REVOKE 权限 ON 范围 FROM 用户@主机;
    • 查看权限:SHOW GRANTS FOR 'user'@'host';
    • 修改密码:SET PASSWORD FOR 'user'@'host' = PASSWORD('新密码');
    • 授权回收之后执行 FLUSH PRIVILEGES;刷新权限生效。
  • 权限分类:全局权限、数据库权限、数据表权限、列粒度权限;遵循最小权限原则。
  • 7. 故障处理

    ① root密码忘记

  • 修改/etc/my.cnf.d/server.cnf的[mysqld]段添加skip‑grant‑tables=1,跳过权限校验。
  • 重启mariadb,无密码登录修改mysql.user表root密码。
  • 注释掉skip‑grant‑tables,再次重启数据库恢复权限校验。
  • ② root权限被误回收 / root账号被误删除

    同样借助skip‑grant‑tables跳过权限,修改mysql.user系统表,恢复权限或者重建root账号,之后注释参数重启服务。

    8. 备份与恢复

    物理备份(直接拷贝数据目录)

    • 备份:停止mariadb,拷贝/var/lib/mysql目录。
    • 恢复:拷贝回原路径,必须修改属主为mysql:mysql,启动服务。

    逻辑备份(mysqldump,SQL语句导出)

  • 备份
  • #单库(不包含建库语句)
    mysqldump -u root -p 库名 > xxx.sql
    #带建库语句
    mysqldump -u root -p –databases 库名 > xxx.sql
    #全部库
    mysqldump -u root -p –all‑databases > all.sql

  • 恢复两种方式
  • mysql -u root -p < xxx.sql
    #进入数据库内部执行
    source xxx.sql

    9. MariaDB主从异步复制

    异步复制:主库执行写操作立刻返回客户端,不需要等待从库同步完成。

  • 工作流程
    • Master主库:写数据,变更记录到binlog二进制日志。
    • Slave从库:IO线程拉取主库binlog,写入本地relay‑log中继日志;SQL线程回放中继日志SQL,实现数据同步。
  • 配置要点
    • server‑id全局唯一:主库一般1,从库2,不能重复;开启log_bin二进制日志;binlog格式推荐ROW行级复制。
    • 主库:创建专门复制账号repl,授予REPLICATION SLAVE、REPLICATION CLIENT权限;show master status\\G拿到binlog文件名和position偏移量。
    • 从库:change master to填写主库IP、复制账号密码、binlog文件、position;执行start slave启动同步。
    • 校验:show slave status\\G,Slave_IO_Running:Yes、Slave_SQL_Running:Yes代表同步正常。
  • 易错提示:

  • SQL语句末尾必须带;,漏分号进入->多行等待提示符,输入\\c放弃当前SQL;\\q才是退出客户端。
  • UPDATE、DELETE一定要写WHERE条件,否则全表数据遭殃。
  • 主从复制server‑id不能重复,binlog的File和Position必须和主库保持一致。
  • mysqldump逻辑备份账号至少需要select权限,视图需要show view权限
  • 赞(0)
    未经允许不得转载:网硕互联帮助中心 » Linux运维:MariaDB知识点总结
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!