ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Linux运维:MariaDB知识点总结

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 userhost IDENTIFIED BY 密码;删除用户DROP USER userhost;授权GRANT 权限 ON 范围 TO 用户主机范围*.*全局、库.*库级别、库.表表级别还支持列级权限。回收权限REVOKE 权限 ON 范围 FROM 用户主机;查看权限SHOW GRANTS FOR userhost;修改密码SET PASSWORD FOR userhost PASSWORD(新密码);授权回收之后执行FLUSH PRIVILEGES;刷新权限生效。权限分类全局权限、数据库权限、数据表权限、列粒度权限遵循最小权限原则。7. 故障处理① root密码忘记修改/etc/my.cnf.d/server.cnf的[mysqld]段添加skip‑grant‑tables1跳过权限校验。重启mariadb无密码登录修改mysql.user表root密码。注释掉skip‑grant‑tables再次重启数据库恢复权限校验。② root权限被误回收 / root账号被误删除同样借助skip‑grant‑tables跳过权限修改mysql.user系统表恢复权限或者重建root账号之后注释参数重启服务。8. 备份与恢复物理备份直接拷贝数据目录备份停止mariadb拷贝/var/lib/mysql目录。恢复拷贝回原路径必须修改属主为mysql:mysql启动服务。逻辑备份mysqldumpSQL语句导出备份#单库不包含建库语句mysqldump-uroot-p库名xxx.sql#带建库语句mysqldump-uroot-p--databases库名xxx.sql#全部库mysqldump-uroot-p--all‑databasesall.sql恢复两种方式mysql-uroot-pxxx.sql#进入数据库内部执行sourcexxx.sql9. 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\GSlave_IO_Running:Yes、Slave_SQL_Running:Yes代表同步正常。易错提示SQL语句末尾必须带;漏分号进入-多行等待提示符输入\c放弃当前SQL\q才是退出客户端。UPDATE、DELETE一定要写WHERE条件否则全表数据遭殃。主从复制server‑id不能重复binlog的File和Position必须和主库保持一致。mysqldump逻辑备份账号至少需要select权限视图需要show view权限
返回列表