
Mysql—基础功能学习
Mysql基础,多多指教
翔之天空
很懒,什么都没留下
展开
-
Mysql内存管理_Buffer Pool
--innodb_buffer_pool的内存管理,官方文档:https://dev.mysql.com/doc/refman/5.7/en/innodb-buffer-pool.html https://dev.mysql.com/doc/ref...原创 2019-01-21 10:27:47 · 1521 阅读 · 0 评论 -
Mysql内存管理_Change Buffer
插入缓冲,官方文档:https://dev.mysql.com/doc/refman/5.7/en/innodb-change-buffer.html 阿里内核月报:http://mysql.taobao.org/monthly/2015/07/01/ 使用条件:辅助索引(二级索引) 且 非唯一索引 使用范围:包括 insert、update、delete ...原创 2019-01-21 11:04:38 · 902 阅读 · 0 评论 -
Mysql内存管理_Mysql缓冲池内存预热
在关闭实例重新启动数据库时,可以预热上次关闭时的内存数据,防止磁盘读增加I/O,可以配置如下参数 在关闭实例时dump一个ib_buffer_pool文件 来存放上次关闭时的内存数据 再次启动实例时加载进去 --1、参数配置如下:#启动MySQL服务时,MySQL将本地热数据加载到InnoDB缓冲池中 预热#innodb_buffer_pool_load_at_startu...原创 2019-01-21 17:48:20 · 863 阅读 · 0 评论 -
Mysql磁盘管理_Undo Tablespace
undo表空间基本配置,官方文档:https://dev.mysql.com/doc/refman/5.7/en/innodb-undo-tablespaces.html 回滚段,逻辑日志,相反操作mvcc 实现非锁定读--配置几个undo表空间,默认不创建,放在ibdata 共享表空间--必须初始化实例的时候配置,且不能改变:The number of undo tables...原创 2019-01-21 17:39:22 · 683 阅读 · 0 评论 -
Mysql检查点CheckPoint、LSN、redo日志 的刷新关系
官方文档:https://dev.mysql.com/doc/refman/5.7/en/innodb-checkpoints.html 检查点:为了刷新buffer pool的数据page到磁盘中,使得持久化数据page之前相应的redo log可以失效掉 节约出空间可以被覆盖,也同时加快了 crash时 redo log恢复的速度 即从检查点恢复即可。 ...原创 2019-01-21 17:44:15 · 3952 阅读 · 0 评论 -
Mysql双写_DoubleWrite
目的:防止页损坏,原理:在内存中开辟了 doublewrite buffer 内存空间(2M),将脏页复制到doublewrite buffer 内存空间后, 先把doublewrite buffer的页数据写入到共享表空间ibdata1磁盘上,复制了页的副本完成之后, 再将 doublewrite buffer的页数据写入到各个表空间文件中。 数据页默认16k,一次写入512字节,防...原创 2019-01-21 17:37:32 · 3655 阅读 · 1 评论 -
Mysql内部XA、两阶段提交、组提交(group commit)
--5.6及以后 binlog和redo log 两个日志都会组提交(group commit) --先写事务的redo 但不事务提交,然后写binlog,最后提交事务 --两阶段提交(红色为事务,绿色为二进制日志)1、prepare阶段:存储引擎(innodb redo)事务 redo写完 但未提交 返回OK状态 写入二进制日志的顺序和存储引擎(innodb re...原创 2019-01-21 18:35:56 · 871 阅读 · 0 评论 -
Mysql服务的启动&关闭
Mysqld 服务器Mysql 客户端--mysqld方式关闭mysql数据库服务[root@hostmysql-m pt-index-usage]# service mysqld stopStopping mysqld: [ OK ]--查看mysql数据库服务状态[root@host...原创 2019-01-21 17:50:49 · 360 阅读 · 0 评论 -
Mysql连接数据库时host和user的匹配规则
--连接数据库时,host和user的匹配规则 官方文档:https://dev.mysql.com/doc/refman/5.7/en/connection-access.html--host和user的匹配规则如下:--是host为明确的最先匹配,host带%模糊的时候最后匹配,但host为''(空)位于%之后才匹配--相同的host时候,比较user为明确的最先匹配,us...原创 2018-12-07 01:18:07 · 11712 阅读 · 0 评论 -
Mysql重置root用户密码
官方文档:https://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html B.6.3.2.3 Resetting the Root Password: Generic Instructions --skip-grant-tables跳过权限表的认证,任意用户可进入mysql可配合--skip-networ...原创 2019-01-21 17:52:31 · 313 阅读 · 0 评论 -
Mysql隐藏的风险文件
Mysql隐藏的风险文件 有两个 1:.mysql_history 文件,记录mysql在主机的所有操作(包括有密码修改等)2:.mysql_secret 文件,记录初始的root密码--在安装mysql用户的当前目录下,查看两个文件[root@hostmysql-m ~]# ll .mysql*-rw------- 1 root root 33830 Oct 25 1...原创 2019-01-21 17:54:16 · 528 阅读 · 0 评论 -
Mysql隔离级别与锁
原创 2018-10-25 13:01:15 · 260 阅读 · 0 评论 -
Mysql_innodb行锁检测
Mysql_innodb行锁检测手段--常用命令:mysql> show processlist\Gmysql> show engine innodb status\Gmysql> select * from innodb_locks\Gmysql> select * from innodb_lock_waits\Gmysql> sele...原创 2019-01-21 17:57:50 · 581 阅读 · 0 评论 -
Mysql索引
参考:《MySQL高性能》第五章 《MySQL技术内幕:innodb存储引擎》第五章B+tree树索引聚簇索引(一级索引):主键(无主键时指定一个唯一非空索引代替,无唯一非空索引时隐式的指定主键rowid代替),叶子节点中存储行的所有数据辅助索引(二级索引):普通索引,叶子节点只存储索引列对应的数据和主键列(用于去聚簇索引查找数据)...原创 2019-06-27 17:52:49 · 412 阅读 · 0 评论 -
Mysql统计信息
--Mysql的统计信息 官方文档:https://dev.mysql.com/doc/refman/5.7/en/innodb-persistent-stats.html--统计信息可以持久化保存在数据库的表中--持久化保存的条件 :参数innodb_stats_persistent=on(默认为on) 或者 建表时加上 STATS_PERSISTENT=1mysql>...原创 2019-01-21 18:19:34 · 726 阅读 · 0 评论 -
Mysql慢查询日志
官方文档介绍:https://dev.mysql.com/doc/refman/5.7/en/slow-query-log.html 作用:慢日志可以查询执行慢的sql,用于处理sql性能问题。 参数:slow_query_log参数控制是否开启慢日志查询记录,具体是记录执行时间大于long_query_time参数 而且查询行数不少于min_examined_row_li...原创 2018-10-15 14:48:38 · 811 阅读 · 0 评论 -
Mysql语句性能消耗_profiling
profiling的官方文档:https://dev.mysql.com/doc/refman/5.7/en/show-profile.html--查看profiling参数,默认offmysql> SHOW VARIABLES LIKE '%profiling%';+------------------------+-------+| Variable_name ...原创 2019-01-21 18:20:44 · 397 阅读 · 0 评论 -
Mysql等待事件
--查看配置表如下:mysql> SELECT table_name FROM information_schema.tables t WHERE t.table_schema='performance_schema' AND t.table_name LIKE 'setup%' ;+-------------------+| t...原创 2019-01-21 18:15:59 · 3642 阅读 · 0 评论 -
Mysql优化器的sql跟踪_optimizer_trace
--查看优化器跟踪是否状态mysql> SHOW VARIABLES LIKE '%optimizer_trace%';+------------------------------+----------------------------------------------------------------------------+| Variable_name ...原创 2019-01-21 18:22:38 · 1056 阅读 · 0 评论 -
mysqlbinlog
--基本信息--开启mysql> show variables like 'log_bin';+---------------+-------+| Variable_name | Value |+---------------+-------+| log_bin | ON |+---------------+-------+1 row in set...原创 2019-01-21 18:33:58 · 779 阅读 · 0 评论 -
Mysqldump 的 --dump-slave 参数理解
在mysqldump工具中,有个--dump-slave参数,用于在从服务器导出dmp文件的同时 记录主服务器的二进制文件及位置,便于执行时间点恢复操作但这里有个地方需要注意,就是在导出的过程中,会中断从服务器的sql_thread进程,导出结束后再启动sql_thread进程。需要注意的是 在mysqldump导出异常时 就不会再自动的启动sql_thread进程了。具体测试如下(mys...原创 2018-12-07 00:51:05 · 3063 阅读 · 1 评论 -
mysqlpump
mysql5.7推出了新的逻辑导入导出工具 mysqlpump mysqlpump features include: Parallel processing of databases, and of objects within databases, to speed up the dump process Better control over which d...原创 2019-01-21 18:24:24 · 829 阅读 · 0 评论 -
mydumper
特性如下: Parallelism (hence, speed) and performance (avoids expensive character set conversion routines, efficient code overall) Easier to manage output (separate files for tables, dump metada...原创 2019-01-21 18:27:35 · 1308 阅读 · 0 评论 -
mysql的xtrabackup备份恢复基本操作
演示环境:操作系统:Linux-x86-64数据库版本:5.7.19本次演示包括:xtrabackup软件的安装, 全量备份,增量备份,恢复 操作附:官方软件及文档下载地址:https://www.percona.com/software/mysql-database/percona-xtrabackup1、安装xtrabackup软件--查看软件[root@single-instance or...原创 2018-04-16 22:50:27 · 1511 阅读 · 0 评论 -
Mysql_清除binlog
--1、过期自动清除日志文件参数 这里设置7天mysql> show variables like 'expire_logs_days';+------------------+-------+| Variable_name | Value |+------------------+-------+| expire_logs_days | 7 |+---...原创 2019-01-21 18:32:30 · 399 阅读 · 0 评论 -
Mysql的主从复制功能
本次演示Mysql的主从复制及主从切换功能。 本次演示基于条件:两台虚机服务器,都安装了mysql-5.6.26,并已启动。 演示环境:操作系统版本:linux-6.6-x86_64数据库版本:mysql-5.6.26-x86_64 演示的主从服务器:主服务器ip:192.168.103.106,主机名:oggsource从服务器ip:192.168.103原创 2015-09-13 22:54:35 · 552 阅读 · 1 评论 -
Mysql的主从复制功能(用innobackupex备份创建从库)
演示环境:操作系统版本:linux-7.3-x86_64数据库版本:mysql-5.7.19-x86_64master主服务器: 192.168.56.13slave从服务器: 192.168.56.14--192.168.56.13 master 操作--用户innobackupex 全量备份, 拖到slave(192.168.56.14)上。[原创 2018-04-23 11:24:47 · 1360 阅读 · 0 评论 -
Mysql半同步机制
mysql5.5之后引入的半同步机制。 默认的异步同步是 主服务器把binlog扔到从服务器后就不管了 不管从服务器是否接受到。 半同步是 至少有一台从服务器接受到主服务器binlog日志并且应用到自己的relaylog中,然后给主服务器反馈 告诉已接受完毕 ,这时主服务器才返回给当前session操作完成。 当超时(rpl-semi-sync-master-timeo...原创 2018-12-28 17:21:23 · 808 阅读 · 0 评论 -
Mysql的gtid复制
--1、GTID基本特性主服务器产生GTID,并保存到binlog中,发送binlog到从库上 存储在relay log中,从库读取gtid并设置gtid_next值为该gtid值,从库执行gtid事务,从库不生成gtid--2、动态的传统复制变为GTID复制,所有服务器统一设置如下:#所有事物可违反GTID事务一致性#mysql> set global enforce_gt...原创 2019-01-08 18:12:32 · 629 阅读 · 0 评论 -
Mysql Group Replication(MGR) 组复制
基于Mysql 5.7.23版本,建立MGR组复制, 默认的一主多从模式 0、配置信息#操作系统版本 #[root@hostmysql-s ~]# more /etc/redhat-releaseCentOS release 6.7 (Final)#Mysql数据库版本#mysql> select version();+------------+| versio...原创 2019-01-08 18:18:35 · 1306 阅读 · 0 评论