没有合适的资源?快使用搜索试试~ 我知道了~
MySQL DBA运维笔记 超详细
5星 · 超过95%的资源 需积分: 31 566 下载量 182 浏览量
2017-06-23
15:15:53
上传
评论 19
收藏 2.95MB PDF 举报
温馨提示
试读
108页
强烈推荐MySQL DBA运维笔记 超详细,可以感受到作者超强的正能量。
资源推荐
资源详情
资源评论
mysql 总结 ........................................................................................................................................ 6
1.1 数据库的种类 ........................................................................................................... 6
1.1.1 关系型数据库介绍 ................................................................................................. 6
1.1.2 非关系型数据库介绍 ............................................................................................. 7
1.1.3 非关系型数据库种类 ............................................................................................. 7
1.1.4 关系型数据库产品介绍 ......................................................................................... 8
1.1.5 常用非关系型数据库产品介绍 ............................................................................. 8
1.2 mysql 多实例安装实战 ...................................................................................................... 9
1.2.1 什么是 mysql 多实例? ......................................................................................... 9
1.2.2 mysql 的多实例结构图 ......................................................................................... 10
1.2.3 实战安装 mysql 多实例需要的依赖包 ............................................................... 10
1.2.4 安装编译 mysql 需要的软件 ............................................................................... 10
1.2.5 安装 mysql 软件 ................................................................................................... 11
1.2.6 创建存放两个 mysql 实例的数据目录 ............................................................... 11
1.2.7 创建两个 mysql 多实例的配置文件 ................................................................... 12
1.2.7.1 3306 的实例 ................................................................................................ 12
1.2.7.2 3307 的实例 ................................................................................................ 16
1.2.7.3 多实例本地登录 mysql ............................................................................. 20
1.2.7.4 远程连接登录 mysql 多实例 .................................................................... 20
1.3 mysql 基础安全 ................................................................................................................ 21
1.3.1 启动程序设置 700,属主和用户组为 mysql ..................................................... 21
1.3.2 为 mysq 超级用户 root 设置密码 ........................................................................ 21
1.3.3 登录时尽量不要在命令行暴漏密码,备份脚本中如果有密码,给设置 700,
属主和用户组为 mysql 或 root ...................................................................................... 21
1.3.4 删除默认存在的 test 库 ....................................................................................... 21
1.3.5 初始删除无用的用户,只保留 root 127.0.0.1 和 root localhost ........................ 21
1.3.6 授权用户对应的主机不要用%,权限不要给 all,最小化授权,从库只给 select
权限 ................................................................................................................................. 21
1.3.7 不要给一个用户管所有的库,尽量专库专用户 ............................................... 21
1.3.8 清理 mysql 操作日志文件~/mysql_history ......................................................... 21
1.3.9 禁止开发获取到 web 连接的密码,禁止开发连接操作生产对外的库........... 21
1.4.0 服务器禁止设置外网 IP ...................................................................................... 21
1.4.1 防 SQL 注入(WEB), php.ini 配置文件里面设置 .......................................... 21
1.4.2 mysql 的备份的脚本给 700 的权限,并且属主和属组为 root .......................... 21
1.4 关于 mysql 的启动与关闭 .............................................................................................. 21
1.4.1 单实例 MySQL 启动与关闭方法 ........................................................................ 21
1.4.2 多实例 MySQL 启动与关闭方法示例 ................................................................ 21
1.5 生产环境关闭 mysql 的命令 .......................................................................................... 22
1.5.1 生产环境不能用强制命令关闭 mysql 服务 ....................................................... 22
1.5.2 下面来介绍优雅关闭数据库方法: ................................................................... 22
1.6 登录 mysql 方法 .............................................................................................................. 22
1.6.1 单实例 MySQL 登录的方法 ................................................................................ 22
1.6.2 多实例 MySQL 的登录方法 ................................................................................ 22
1.7 关于 mysql 管理员设置 .................................................................................................. 22
1.7.1 为管理员 root 用户设置密码并修改方法之一 ................................................... 22
1.7.2 修改管理员 root 密码法二(sql 语句修改) ..................................................... 22
1.7.3 找回丢失的 mysql root 用户密码(单实例和多实例) .................................... 23
1.8 SQL 结构化查询语言 ...................................................................................................... 23
1.8.1 什么是 SQL? ...................................................................................................... 23
1.8.2 SQL 语句最常见的分类一般就是 3 类 ............................................................... 24
1.9 数据库的管理应用 .......................................................................................................... 24
1.9.1 创建数据库 ........................................................................................................... 24
1.9.2 查看库的字符集及校队规则 ............................................................................... 24
1.9.3 企业场景创建什么字符集的数据库呢? ........................................................... 26
1.9.4 显示数据库 ........................................................................................................... 26
1.9.5 删除数据库 ........................................................................................................... 26
1.9.6 进入数据库中指定的库 ....................................................................................... 27
1.9.7 查看进入当前数据库的用户 ............................................................................... 27
1.9.8 删除数据库多余的账号 ....................................................................................... 27
1.9.9 查看数据库的用户 ............................................................................................... 27
2.0.0 创建 MySQL 用户及赋予用户权限 ............................................................................ 27
2.0.1 使用语法: .............................................................................................................. 27
2.0.2 第一种创建用户及授权方法: ........................................................................... 28
2.0.3 第二种创建用户及授权方法: ........................................................................... 28
2.0.4 创建用户及授权哪个网段的主机可以连接 oldboy_gbk 库 .............................. 29
2.0.4.1 第一种方法: ............................................................................................. 29
2.0.4.2 第二种方法: ............................................................................................ 29
2.0.5 关于 mysql 回收某个用户权限 ........................................................................... 29
2.0.6 企业生产环境如何授权用户权限(mysql 主库) ............................................ 30
2.1 数据库表操作 .................................................................................................................. 31
2.1.1 以默认字符集 latin1 建库 .................................................................................... 31
2.1.2 建立表并查看表的结构 ....................................................................................... 31
2.1.3 mysql 表的字符类型 ............................................................................................. 32
2.1.3.1 数字类型 ..................................................................................................... 32
2.1.3.2 日期和时间类型 ......................................................................................... 32
2.1.3.3 字符串类型 ................................................................................................ 33
2.1.3.4 关于字符类型小结 .................................................................................... 33
2.1.4 为表的字段创建索引 ........................................................................................... 33
2.1.4.1 为表创建主键索引的方法 ........................................................................ 33
2.1.4.2 查看 student 表的结构 .............................................................................. 34
2.1.4.3 怎么删除一个表的主键 ............................................................................ 34
2.1.4.4 利用 alter 命令修改 id 列为自增主键列 .................................................. 34
2.1.4.5 建表后利用 alter 增加普通索引 ............................................................... 34
2.1.4.6 对表字段的前 n 个字符创建普通索引 .................................................... 36
2.1.4.7 为表的多个字段创建联合索引 ................................................................ 38
2.1.4.8 为表的多个字段的前 n 个字符创建联合索引 ........................................ 38
2.1.4.9 主键也可以联合多列做索引 .................................................................... 39
2.1.5.0 统计一个字段列的唯一值个数 ................................................................ 40
2.1.5.1 创建唯一索引(非主键) ........................................................................ 41
2.1.5.2 索引列的创建及生效条件 ........................................................................ 42
2.1.5 往表中插入数据 ................................................................................................... 42
2.1.6 往表中删除一条数据 ........................................................................................... 44
2.1.7 查询数据 ................................................................................................................ 44
2.1.7.1 查询表的所有数据行 ................................................................................ 44
2.1.7.2 查看 mysql 库的用户 ................................................................................ 45
2.1.7.3 根据指定条件查询表的部分数据 ............................................................ 45
2.1.7.4 根据固定条件查数据 ................................................................................ 46
2.1.7.5 指定固定条件范围查数据 ........................................................................ 46
2.1.7.6 根据顺序查看列数据 ................................................................................ 46
2.1.6.7 在表中根据条件导出数据至文件中 ........................................................ 47
2.1.8 多表查询 ............................................................................................................... 47
2.1.8.1 创建学生表 ................................................................................................ 47
2.1.8.2 在学生表里插入数据 ................................................................................. 47
2.1.8.3 创建课程表 ................................................................................................ 47
2.1.8.4 在课程表里插入数据 ................................................................................ 48
2.1.8.5 创建选课表 ................................................................................................ 48
2.1.8.6 联表查询命令 ............................................................................................ 49
2.1.9 使用 explain 查看 select 语句的执行计划 .......................................................... 49
2.1.9.1 用查询语句查看是否使用索引情况 ........................................................ 49
2.1.9.2 为该列创建索引,再用查询语句查看是否走了索引 ............................ 50
2.2.0 使用 explain 优化 SQL 语句(select 语句)的基本流程 .................................. 50
2.2.1 用命令抓取慢 SQL 语句,然后用 explain 命令查看查询语句是否走的索
引查询 ..................................................................................................................... 50
2.2.2 设置配置参数记录慢查询语句 ................................................................... 51
2.2.3 对抓取到的慢查询语句用 explain 命令检查索引执行情况 ..................... 51
2.2.4 对需要建索引的条件列建立索引 ............................................................... 51
2.2.5 切割慢查询日志,去重分析后发给大家 ................................................... 51
2.2.1 修改表中数据 ....................................................................................................... 51
2.2.1.1 修改表中指定条件固定列的数据 ............................................................ 51
2.2.2 删除表中的数据 ................................................................................................... 52
2.2.2.1 实践删除表中的数据 ................................................................................ 52
2.2.2.2 通过 update 伪删除数据 ........................................................................... 53
2.2.3 增删改表的字段 ................................................................................................... 53
2.2.3.1 命令语法及默认添加演示 ........................................................................ 53
2.2.4 更改表名 ............................................................................................................... 55
2.2.5 删除表名 ............................................................................................................... 56
2.2.6 mysql 数据库的备份与恢复 ................................................................................. 56
2.2.6.1 备份单个数据库练习多种参数使用 ........................................................ 56
2.2.6.2 查看数据库 oldboy 的内容 ....................................................................... 56
2.2.6.3 执行备份的命令 ........................................................................................ 57
2.2.6.4 查看备份的结果 ........................................................................................ 57
2.2.6.5 mysqldump 备份时加上-B 参数时的备份,然后比较不加-B 备份的不同
................................................................................................................................. 57
2.2.6.6 删除数据库中备份过的库 oldboy,然后将备份的数据重新导入数据库
................................................................................................................................. 58
2.2.6.7 利用 mysqldump 命令对指定的库进行压缩备份 ................................... 59
2.2.6.8 利用 mysqldump 命令备份多个库(-B 参数后可以指定多个库) ...... 59
2.2.6.9 分库备份(对 mysql、oldboy、oldboy_gbk、wordpress 库进行备份)
................................................................................................................................. 60
2.2.7.0 对一个库的多个表备份 ............................................................................ 60
2.2.7.1 备份多个表 ................................................................................................ 61
2.2.7.2 备份单个表 ................................................................................................ 61
2.2.7.3 关于 mysqldump 的参数说明 ................................................................... 61
2.2.7.4 刷新 binglog 的参数 .................................................................................. 62
2.2.7.5 生产场景不同引擎 mysqldump 备份命令 ............................................... 62
2.2.8 恢复数据库实践 ................................................................................................... 63
2.2.8.1 数据库恢复事项 ........................................................................................ 63
2.2.8.2 利用 source 命令恢复数据库 ................................................................... 63
2.2.8.3 利用 mysql 命令恢复(标准) ................................................................ 64
2.2.8.4 针对压缩的备份数据恢复 ........................................................................ 66
2.2.9 实现和 mysql 非交互式对话 ............................................................................... 66
2.2.9.1 利用 mysql –e 参数查看 mysql 数据库的库名 ........................................ 66
2.2.9.2 利用 mysql –e 参数查看 mysql 数据库的线程状态 ................................ 66
2.2.9.3 mysql sleep 线程过多的问题案例 ............................................................ 66
2.2.9.4 查看 mysql 配置文件有没有在数据库中生效 ........................................ 67
2.2.9.5 不重启数据库修改数据库参数 ................................................................ 68
2.2.9.6 不重启数据库更改数据库参数小结 ........................................................ 69
2.3.0 查看 mysql 状态的信息(利用 zabbix 可以监控其状态信息) ....................... 69
2.3.1 mysqladmin 的命令 ............................................................................................... 75
2.3.2 mysql 工具 mysqlbinlog ........................................................................................ 76
2.3.2.1 mysql 的 binlog 日志是什么? .................................................................. 76
2.3.2.2 mysql 的 binlog 日志作用是什么? .......................................................... 76
2.3.2.3 mysqlbinlog 工具解析 binlog 日志实践 .................................................... 76
2.3.2.4 解析指定库的 binlog 日志 ........................................................................ 76
2.3.3 mysql 数据库的服务日志 ..................................................................................... 77
2.3.3.1 错误日志(error log)介绍与调整 .......................................................... 77
2.3.3.2 普通查询日志(general query log)介绍与调整(生产环境中不用) 77
2.3.3.3 慢查询日志介绍与调整 ............................................................................ 78
2.3.3.4 二进制日志介绍与调整 ............................................................................ 78
2.3.4 mysql 的 binlog 有三种模式 ................................................................................. 78
2.3.4.1 row level ...................................................................................................... 78
2.3.4.2 statement level(默认) .................................................................................. 79
2.3.4.3 Mixed .......................................................................................................... 79
2.3.5 企业场景如何选择 binlog 的模式 ....................................................................... 79
2.3.6 设置 mysql binlog 的格式 .................................................................................... 79
2.3.7 mysql 生产备份实战应用指南 ............................................................................. 80
2.3.7.1 全量备份 .................................................................................................... 80
2.3.7.2 增量备份 .................................................................................................... 80
2.3.7.3 企业场景和增量的频率是怎么做的? .................................................... 81
2.3.7.4 mysql 增量恢复必备条件 .......................................................................... 81
2.3.7.5 实战模拟凌晨 00 点对 oldboy 库做个全备,早上 10 点左右删除了 oldboy
库,下面是其恢复过程 ......................................................................................... 81
2.3.7.6 实战模拟凌晨 00 点对 oldboy 库做个全备,早上 10 点左右更新了 oldboy
库的 test 表中所有字段数据,下面是其恢复过程(update 表中的数据的时候,
把表中的字段换成了一个相同的内容,这时候要停库) ................................. 83
2.3.8 mysql 的主从复制的结构图 ................................................................................. 85
2.3.8.1 单向的主从复制图,此架构只能在 master 端进行数据写入(生产环境
可以使用) ............................................................................................................. 85
2.3.8.2 双向的主主同步逻辑图,此架构可以在 master1 端或 master2 端进行数
据写入(生产环境不建议使用) ......................................................................... 85
2.3.8.3 线性级联单向双主同步逻辑图,此架构只能在 master1 端进行数据写入
(生产环境可以使用) ......................................................................................... 86
2.3.8.4 环状级联单向多主同步逻辑图,任意一个都可以写入数据(生产环境
不建议使用) ......................................................................................................... 86
2.3.8.5 环状级联单向多主多从同步逻辑图,此架构只能在任意一个 master 端
进行数据写入(生产环境不建议使用) ............................................................. 86
2.3.9 mysql 主从复制的原理 ......................................................................................... 86
2.4.0 mysql 主从复制的原理图 ..................................................................................... 87
2.4.1 mysql 主从复制的实践 ......................................................................................... 87
2.4.1.1 环境准备 .................................................................................................... 87
2.4.1.2 分别查看 3306 和 3307 不同数据库有哪些库 ........................................ 87
2.4.1.3 全量备份 3306 数据库的库,然后到 3307 数据库中 ............................ 88
2.4.1.4 在 3306 数据库上授权用户可以到 3306 数据库上复制 binlog ............. 89
2.4.1.5 在 3307 数据库上开启复制 3306 的 binlog 开关,并查看是否处于同步
状态 ......................................................................................................................... 89
2.4.1.6 在 3306 上创建数据库 zhangxuan,看 3307 上是否同步过来 .............. 91
2.4.2 关于主从复制出现故障怎么解决 ....................................................................... 92
2.4.3 主从复制延迟问题原因及解决方案 ................................................................... 92
2.4.3.1 一个主库的从库太多,导致复制延迟 .................................................... 92
2.4.3.2 从库硬件比主库差,导致复制延迟 ........................................................ 92
2.4.3.3 慢 SQL 语句过多 ...................................................................................... 92
2.4.3.4 主从复制的设计问题 ................................................................................ 93
2.4.3.5 主从库之间的网络延迟 ............................................................................ 93
2.4.3.6 主库读写压力大,导致复制延迟 ............................................................ 93
2.4.4 通过 read-only 参数让从库只读访问 .................................................................. 93
2.4.5 web 用户专业设置方案:mysql 主从复制读写分离集群 .................................. 93
2.4.6 让 mysql 从库记录 binlog 日志方法 ................................................................... 94
2.4.7 mysql 主从复制集群架构的数据备份策略 ......................................................... 94
2.4.8 mysql 一主多从,主库宕机,从库怎么接管 ..................................................... 95
2.4.8.1 半同步从库(谷歌半同步插件 5.5 版本自带) ..................................... 95
剩余107页未读,继续阅读
jiangsucsdn001
- 粉丝: 47
- 资源: 231
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
前往页