一.开启二进制日志 1)未开启二进制日志之前: mysql> show variables like 'log_bin'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | log_bin | ON | #二进制日志是关闭的 +---------------+-------+ row in set (0.00 sec) mysql> 2)开启二进制日志 修改my.cnf并且将以下参数加…
                                                     MySQL备份方案-->(利用mysqldump以及binlog二进制日志) 随着数据不断增加,而且为了兼容以后的innodb存储引擎, 所以考虑采用mysqldump全备+日志增量备份的策略.使用mysqldump对于mysql大部分mysql存储引擎比如myisam.innodb都有很好的支持. 方案一:mysqldump全备份+日志增量备份 1, mysqldump备份方案: 周一凌晨…
最近才开始将部分MySQL 5.6升级到MySQL 5.7, 在开启MySQL的二进制日志时,发现MySQL 5.7 与MySQL 5.6已有细微区别.如果在my.cnf配置文件中,只设置了全局系统变量log_bin,没有设置全局系统变量server_id的话,那么MySQL启动不了,而且错误日志没有任何错误信息. 查了一下官方文档16.1.6.4 Binary Logging Options and Variables,如下所示, 如果没有设置全局系统变量server_id,那么MySQL就不…
需求描述: 开启mysql的binlog即binary log日志功能,在此记录下. 版本描述: mysql版本:5.7.21-log 操作过程: 1.修改my.cnf并且将以下参数加入其中,重启mysql实例 server-id=11 #由于bug,所以需要设置该参数.否则无法启动mysql实例 log-bin = mysql-bin #其中mysql-bin代表的是basename就是生成二进制日志文件的前缀部分,默认的位置在datadir目录下,也可以设置为其他的路径 2.查看binlog…
已Mac系统为例,文件:/usr/local/mysql/support-files/my-default.cnf 是mysql的默认配置文件,你可以直接修改这个文件但是不推荐,你可以在/etc/my.cnf里写入自己想配置的文件,当然首先你要创建这个文件. 在my-default.cnf已经写得很清楚,MySQL5.7版本的二进制文件配置方式为:log_bin=***** 不要再用什么 bin-log 和 bin_log 之类的了,肯定是不好使的,而且还会报下列错误: 1.如果你直接运行mys…
打开xhell进入系统 进入mysql配置文件目录 执行 cd /etc/mysql 首先找到my.cnf这个配置文件,然后使用vim进入文件编辑 放开我标记的地方. 注意我标记的地方,其实这个就是在引用 etc/mysql/mysql.conf这个配置文件.之前我就没注意,很多配置我都是在mysql.conf这个里去修改,但是重启mysql始终没有变化.最后我就在这个my.cnf发现这个是注释了的,没有放开. 然后进入/etc/mysql/mysql.conf.d文件中去. 注意server-…
mysql的查询日志,慢查询日志,错误日志,网上的设置方法是正确的.但在二进制日志上设置有问题.正确的设置方法如下, 在/etc/my.cnf文件中[mysqld]下加上: server-id = 1 (在整个Mysql集群中保证唯一) log-bin = binlog  log-bin-index = binlog.index 重启Mysql:…
破解MySQL密码 一.MySQL5.7.5之前 只要有系统root密码就可以破解: [root@host- ~]# vim /etc/my.cnf //在配置文件中加入如下内容 [mysqld] skip-grant-tables [root@host- ~]# systemctl restart mysqld //重启MySQL服务 [root@host- ~]# mysql mysql> update mysql.user set password=password("Yanglt4…
安装好Navicat之后远程连接MySQL数据库出现以下报错截图: 出现以上截图怀疑是mysql用户权限不够: GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.*.*' IDENTIFIED BY 'yanglt' WITH GRANT OPTION; 如果出现以下问题,一般是防火墙端口没有开放: 如果服务器时windows服务器 那么看参考此链接:怎么解决mysql远程连接报10038的错误_360新知  http://xinzhi.wenda.s…
彻底卸载Yum安装的MySQL数据库 在我第二章MySQL数据库基于Centos7.3-部署过程中,因为以前安装过其它的版本所以没有卸载干净影响后期安装 一.卸载Centos7自带的Maridb数据库 卸载maridb: [root@host- ~]# rpm -qa | grep mariadb mariadb-libs--.el7.x86_64 [root@host- ~]# yum -y remove mari* [root@host- ~]# rm -rf /var/lib/mysql/…
MySQL的启动函数在 sql/main.cc 文件中. main.cc: extern int mysqld_main(int argc, char **argv); int main(int argc, char **argv) { return mysqld_main(argc, argv); } 主函数中只进行了调用mysqld_main函数这么一个操作. 从这个函数开始到结束,就完成了mysqld的启动操作. mysqld_main函数位于 sql/mysqld.cc 文件内,其中的重…
做数据库的一向来都会很注意请求的次数还有语句.这关系到很多性能的问题. 因此在使用EF的时候如果不了解原理很可能会搞出很糟糕的请求. 所以呢,在还没有搞懂EF前最基本的是你得"看得见",EF为我们生成了什么样的 SQL语句,和访问了多少次SQL 其实有很多很好的工具可以实现这些东西,但是我懒的去找来试,所以呢找了一个简单又勉强可以用用的. 这个是微软本身的日志 参考 : http://msdn.microsoft.com/en-us/data/jj556606 -Logging Dat…
二进行日志的格式为row mysql> show variables like 'binlog_format'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | binlog_format | ROW | +---------------+-------+ row in set (0.00 sec) 在testdb库下执行 mysql> select * from t1; +----…
本文出处:http://www.cnblogs.com/wy123/p/6956464.html 本文仅模拟使用mysqldump和log-bin二进制日志进行简单测试,仅作为个人学习笔记,可能离实际应用还有很大差距,仅参考. 开启MySQL的bin-log二进制日志 模拟还原是需要mysqldump出来的文件和log-bin,因此需要开始log-bin二进制日志. mysql5.7.18在开启二进制日志的时候除了要设置log-bin的位置之外,另外需要设置一个server-id,MySQL之前…
1.错误日志文件 MySQL的错误日志文件记录错误信息,还会记录mysqld进程的关闭和启动的信息,但也不是什么错误信息都会记录,只记录mysqld进程运行过程中发生的关键性错误. 错误日志的启动,可以在启动mysqld进程时,通过log-error选项来指定错误日志文件名和存放位置,或者my.ini配置文件中配置log-error参数,如果没有指定文件名的话,会自动生成一个[hostname].err文件保存在{datadir}文件夹下. 在删除错误日志后,会把错误日志重建到[hostname…
一:测试环境介绍 主从复制测试环境是ubuntu+mysql5.7,master服务器ip是192.168.71.135,slave服务器ip是192.168.71.137,ubuntu环境是从一台已配置好环境的服务器克隆的. 二:mysql主从配置 1:)  master配置 a 在mysql 目录下(/etc/mysql),mysql.cnf文件中添加server-id和Log-bin.主从服务器的server-id不能相同 log-bin=mysql-bin server-id=100 设…
二进制日志(BINLOG)记录了所有的ddl和dml语句,但不包括数据查询语句.语句以“事件”的形式保存,描述数据更改过程. 环境:win8   mysql5.6.23 1.mysql开启二进制日志 默认情况下不开启二进制日志,开启时需要修改my.ini配置文件 我的my.ini文件是在C:\ProgramData\MySQL\MySQL Server 5.6 , 而不是在C:\Program Files (x86)\MySQL\MySQL Server 5.6需要在my.ini文件mysqld…
一.MySQL的复制是将主数据库(master)的数据复制到从(slave)数据库上,专业一点讲就是将主数据库DDL和DML操作的二进制日志传到从库上,然后从库对这些二进制日志进行重做,使得主数据库与从数据库的数据保持同步. 二.MySQL复制的一些优点: 可以将大部分的查询任务放在从库上进行,降低主库的负载,提高性能,但要注意实时性要求高的数据仍需在主库上读取. 如果主库出现了宕机,可以快速切换到从库上,提高了可用性. 可以在从库上进行数据备份,降低在备份期间对主库的影响. 将数据挖掘和分析等…
数据备份 1.物理备份与逻辑备份 物理备份 物理备份就是将数据库的数据文件,配置文件,日志文件等复制一份到其他路径上,这种备份速度一般较快,因为只有I/O操作.进行物理备份时,一般都需要关闭mysql服务器,或者对需要备份的对象进行锁定,要不很容易造成备份的不一致性,恢复时可能会丢失数据.物理备份的方式有很多,如操作系统命令copy(cp),scp,mysqlbackup,以及MyISAM表的mysqlhotcopy. 逻辑备份 逻辑备份是对数据库的逻辑结构(create database,cr…
binary log 作用:主要实现三个重要的功能:用于复制,用于恢复,用于审计.binary log 相关参数:log_bin设置此参数表示启用binlog功能,并指定路径名称log_bin_index设置此参数是指定二进制索引文件的路径与名称binlog_do_db此参数表示只记录指定数据库的二进制日志binlog_ignore_db此参数表示不记录指定的数据库的二进制日志max_binlog_cache_size此参数表示binlog使用的内存最大的尺寸binlog_cache_size此…
本文出处:http://www.cnblogs.com/wy123/p/7182356.html (保留出处并非什么原创作品权利,本人拙作还远远达不到,仅仅是为了链接到原文,因为后续对可能存在的一些错误进行修正或补充,无他) 今天无意中发现了一个云栖社区举行的MySQL“第一季:挑战玄惭之 慢SQL性能优化赛”,在测试服务器上执行其测试脚本写入数据的时候报错提示如下,Multi-statement transaction required more than 'max_binlog_cache_…
一.什么是二进制日志 二进制日志主要记录mysql数据库的变化,二进制日志包含所有更新了数据或者潜在更新了数据(如没有匹配到任何行的delete语句),语句以时间的形式保存,描述了数据的更改.二进制日志还包含执行每个更新数据库语句的时间信息,使用二进制日志的主要目的是最大可能的恢复数据库.因为二进制日志包含备份后进行的所有更新,不记录没有修改任何数据的语句. 开启二进制日志对性能的开销很小,带来的好处远大于坏处 二.开启和设置二进制日志 1.默认情况下二进制日志是关闭的,通过配置文件来启动和设置…
MySQL二进制日志(Binary Log)   a.它包含的内容及作用如下:    包含了所有更新了数据或者已经潜在更新了数据(比如没有匹配任何行的一个DELETE)    包含关于每个更新数据库(DML)的语句的执行时间信息    不包含没有修改任何数据的语句,如果需要启用该选项,需要开启通用日志功能    主要目的是尽可能的将数据库恢复到数据库故障点,因为二进制日志包含备份后进行的所有更新    用于在主复制服务器上记录所有将发送给从服务器的语句    启用该选项数据库性能降低1%,但保障…
MySQl Study学习之--MySQl二进制日志管理 MySQL二进制日志(Binary Log)   a.它包括的内容及作用例如以下:     包括了全部更新了数据或者已经潜在更新了数据(比方没有匹配不论什么行的一个DELETE)     包括关于每一个更新数据库(DML)的语句的运行时间信息     不包括没有改动不论什么数据的语句,假设须要启用该选项,须要开启通用日志功能     主要目的是尽可能的将数据库恢复到数据库故障点,由于二进制日志包括备份后进行的全部更新     用于在主复制…
(一)什么是二进制日志 二进制日志(binlog)记录了数据库中所有的DDL和DML操作,但是不包括select语句,语句以"事件"的形式保存,记录了数据库的更改变化,在主从复制(replication)和数据恢复中起着重要的作用.对比来看,MySQL的二进制日志作用相当于Oracle数据库的redo log + archive log. (二)开启二进制日志及参数配置 二进制日志开启需要在配置文件里面配置相关参数,然后重启数据库,或者开启数据库的时候添加相关参数.主要参数如下: (2…
一.恢复到某个二进制文件 1.开启二进制日志 在mysqld的配置节点下添加如下配置 log-bin="E:/Mysql57BinLog/binlog"(windows下的路径,linux下自行修改路径)  expire_logs_days=10 max_binlog_size=100M 2.重启mysql服务 使用命令show VARIABLES like '%log_bin%';查看 3.创建库和表 create database mytest; use mytest; creat…
同大多数关系型数据库一样,日志文件是MySQL数据库的重要组成部分. MySQL有几种不同的日志文件.通常包括错误日志文件,二进制日志,通用日志,慢查询日志,等等.这些日志能够帮助我们定位mysqld内部发生的事件.数据库性能故障,记录数据的变更历史.用户恢复数据库等等. 二进制日志,也叫binary log.是MySQL Server中最为重要的日志之中的一个,本文主要描写叙述二进制日志. 1.MySQL日志文件系统的组成   a.错误日志:记录启动.运行或停止mysqld时出现的问题.   …
二进制日志简单介绍 MySQL的二进制日志(binary log)是一个二进制文件,主要用于记录修改数据或有可能引起数据变更的MySQL语句.二进制日志(binary log)中记录了对MySQL数据库执行更改的所有操作,并且记录了语句发生时间.执行时长.操作数据等其它额外信息,但是它不记录SELECT.SHOW等那些不修改数据的SQL语句.二进制日志(binary log)主要用于数据库恢复和主从复制,以及审计(audit)操作. 官方文档关于二进制日志(binary log)的介绍如下: T…
1 定义 bin-log日志记录了所有的DDL和DML的语句,但不包括查询的语句,语句以事件的方式保存,描述了数据的更改过程,此日志对发生灾难时数据恢复起到了极为重要的作用. 2 开启 mysql默认是没有开发bin-log日志,首先我们需要开启bin-log日志,在my.cnf中修改 [mysqld] log_bin = mysql-bin datadir=/var/lib/mysql //指定数据文件存放目录,如二进制日志文件 查看二进制日志文件 cd /var/lib/mysql ls 由…
MySQL从3.23版本开始引入了二进制日志,用于的数据复制, 二进制日志根据MySQL的版本不同,目前有4个版本: https://dev.mysql.com/doc/internals/en/binlog-version.html Version 1: supported statement based replication events. Version 2: can be ignored as it was only used in early alpha versions of My…