log文件

MySQL主从复制与读写分离

自作多情 提交于 2020-03-18 18:41:05
MySQL主从复制与读写分离的实现 转载 2013年01月17日 18:20:12 MySQL主从复制与读写分离 MySQL主从复制(Master-Slave)与读写分离(MySQL-Proxy)实践 Mysql作为目前世界上使用最广泛的免费数据库,相信所有从事系统运维的工程师都一定接触过。但在实际的生产环境中,由单台Mysql作为独立的数据库是完全不能满足实际需求的,无论是在安全性,高可用性以及高并发等各个方面。 因此,一般来说都是通过 主从复制(Master-Slave)的方式来同步数据,再通过读写分离(MySQL-Proxy)来提升数据库的并发负载能力 这样的方案来进行部署与实施的。 如下图所示: 下面是我在实际工作过程中所整理的笔记,在此分享出来,以供大家参考。 一、MySQL的安装与配置 具体的安装过程,建议参考我的这一篇文章: http://heylinux.com/archives/993.html 值得一提的是,我的安装过程都是源码包编译安装的,并且所有的配置与数据等都统一规划到了/opt/mysql目录中,因此在一台服务器上安装完成以后,可以将整个mysql目录打包,然后传到其它服务器上解包,便可立即使用。 二、MySQL主从复制 场景描述: 主数据库服务器:192.168.10.130,MySQL已经安装,并且无应用数据。 从数据库服务器:192.168.10

mysql误删除数据后如何恢复

随声附和 提交于 2020-03-18 17:55:10
Mysql 误删除是我最头痛的一件事,网络也有很多惨痛的教训,为了减少企业损失,应迅速恢复业务数据,后续在人员操作行为上建立完善的制度及流程,将风险扼杀在摇篮才是上上策。 本次使用的原美团开源Mysql 数据闪回工具 传送门:https://github.com/Meituan-Dianping/MyFlash 一,MyFlash简介 MyFlash的前身是binlong2,后续是由美团点评公司技术工程部开发维护的一个回滚DML操作的工具。该工具通过解析V4版本的二进制日志,完成回滚操作。相对已有的回滚工具,其增加了更多的过滤选项,让回滚更加容易。 该工具已经在美团点评内部使用 二,MyFlash使用限制 二进制日志格式必须为【row】行级模式 ,且binlog_row_image =full 仅支持5.6与5.7 (如果是低版本的mysql 二种方案 1,升级mysql 2,使用binlog2) [binlog2sql工具的下载地址:] 只能回滚DML(增,删,改) 三,详细说明 3.1 安装部署 git clone https://github.com/Meituan-Dianping/MyFlash.git cd MyFlash/ [root@gitlab MyFlash]# yum install glib2* [root@gitlab MyFlash]# gcc -w

<转>MySQL性能调优的10个方法

江枫思渺然 提交于 2020-03-18 14:30:50
文章原地址: http://mp.weixin.qq.com/s/oRXJRz_Y5drmIrcbxSKOcw 1. 选择合适的存储引擎: InnoDB 除非你的数据表使用来做只读或者全文检索 (相信现在提到全文检索,没人会用 MYSQL 了),你应该默认选择 InnoDB 。 你自己在测试的时候可能会发现 MyISAM 比 InnoDB 速度快,这是因为: MyISAM 只缓存索引,而 InnoDB 缓存数据和索引,MyISAM 不支持事务。 但是 如果你使用 innodb_flush_log_at_trx_commit = 2 可以获得接近的读取性能 (相差百倍) 。 1.1 如何将现有的 MyISAM 数据库转换为 InnoDB: mysql -u [USER_NAME] -p -e "SHOW TABLES IN [DATABASE_NAME];" | tail -n +2 | xargs -I '{}' echo "ALTER TABLE {} ENGINE=InnoDB;" > alter_table.sql perl -p -i -e 's/(search_[a-z_]+ ENGINE=)InnoDB//1MyISAM/g' alter_table.sql mysql -u [USER_NAME] -p [DATABASE_NAME] < alter_table

mysql-proxy实现读写分离

江枫思渺然 提交于 2020-03-18 14:23:40
其中Amoeba for MySQL也是实现读写分离 环境描述: 操作系统:CentOS6.5 32位 主服务器Master:192.168.179.146 从服务器Slave:192.168.179.147 调度服务器MySQL-Proxy:192.168.179.142 由于电脑配置不行,安装了三台虚拟机,就卡死了,只能将就一下,由于是一主 一从,所以,导致读写都在master上,有机会,再弄两台slave来测试 一.mysql主从复制,参考:http://www.cnblogs.com/lin3615/p/5679828.html 二、mysql-proxy实现读写分离 1、安装mysql-proxy 实现读写分离是有lua脚本实现的,现在mysql-proxy里面已经集成,无需再安装 下载:http://dev.mysql.com/downloads/mysql-proxy/ 一定要下载对应的版本 tar zxvf mysql-proxy-0.8.5-linux-glibc2.3-x86-32bit.tar.gz mv mysql-proxy-0.8.5-linux-glibc2.3-x86-32bit /usr/local/mysql-proxy 2、配置mysql-proxy,创建主配置文件 cd /usr/local/mysql-proxy mkdir lua

mysql proxy 读写分离

限于喜欢 提交于 2020-03-18 14:23:26
环境描述: 操作系统:CentOS6.5 32位 主服务器Master:192.168.179.146 从服务器Slave:192.168.179.147 调度服务器MySQL-Proxy:192.168.179.142 由于电脑配置不行,安装了三台虚拟机,就卡死了,只能将就一下,由于是一主 一从,所以,导致读写都在master上,有机会,再弄两台slave来测试 一.mysql主从复制,参考:http://www.cnblogs.com/lin3615/p/5679828.html 二、mysql-proxy实现读写分离 1、安装mysql-proxy 实现读写分离是有lua脚本实现的,现在mysql-proxy里面已经集成,无需再安装 下载:http://dev.mysql.com/downloads/mysql-proxy/ 一定要下载对应的版本 tar zxvf mysql-proxy-0.8.5-linux-glibc2.3-x86-32bit.tar.gz mv mysql-proxy-0.8.5-linux-glibc2.3-x86-32bit /usr/local/mysql-proxy 2、配置mysql-proxy,创建主配置文件 cd /usr/local/mysql-proxy mkdir lua #创建脚本存放目录 mkdir logs #创建日志目录

清理SQL SERVER事务日志

人盡茶涼 提交于 2020-03-18 09:04:38
今天发现数据库事务日志竟然达到500多M,这也难怪,修改数据如此频繁 想要清理,发现没有办法,上GOOGLE上一搜,在ZDNET上找到答案也 先分离数据库,然后删掉日志文件,接下来再attach数据库,SQL会显示日志文件丢失,按确定ATTACH的时候,会提示你创建新的日志文件,只要确定即可完成,简单方便 不过,需要提醒的是,第一,在删除日志前,最好将老的日志文件全都备份一下 第二,如果你的事务日志存放于多个物理文件中,那么,上面的方面就没办法帮你清理喽 不过,下面的方法绝对快 backup log db_name with no_log dbcc shrinkfile (northwind_log,5) 来源: https://www.cnblogs.com/Heroman/archive/2004/12/15/77572.html

Amazon EC2安装mysql多实例并配置主从复制

若如初见. 提交于 2020-03-18 08:04:44
1、MySQL安装: EC2直接使用yum安装mysql非常方便: yum install mysql mysql-server mysql-libs 此处安装了三个包 完事之后能够直接使用 service mysqld start 启动mysql服务 改动root密码: mysqladmin -u root -p password “root” 2、使用mysqld_multi安装多实例mysql: vim /etc/my.cnf 加入实例的配置信息 [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock symbolic-links=0 [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid 以上是默认的配置信息,在mysqld下加入例如以下配置: #开启慢查询日志, 记录查询过长的 sql 语句。以便于优化 log_slow_queries=/var/log/mysql/mysql-slow.log #开启 bin-log 日志,不用log-bin=xxx。试验时这样子无法启动mysql服务,不知为何 log-bin #分配serverid。不要和以下的从服务器冲突就可以 server-id=1

有效配置MySQL参数

喜夏-厌秋 提交于 2020-03-18 07:15:22
1 .获取当前配置参数 要优化配置参数,首先要了解当前的配置参数以及运行情况。使用下列命令可以获得目前服务器使用的配置参数: mysqld –verbose –help mysqladmin variables extended-status –u root –p 在 MySQL 控制台里面,运行下列命令可以获取状态变量的值: mysql> SHOW STATUS; 如果只要检查某几个状态变量,可以使用下列命令: mysql> SHOW STATUS LIKE ‘[ 匹配模式 ]’; ( 可以使用 % 、 ? 等 ) 2 .优化参数 参数优化基于一个前提,就是在我们的数据库中通常都使用 InnoDB 表,而不使用 MyISAM 表。 在优化 MySQL 时,有两个配置参数是最重要的,即 table_cache 和 key_buffer_size 。 table_cache table_cache 指定表高速缓存的大小。 每当 MySQL 访问一个表时,如果在表缓冲区中还有空间,该表就被打开并放入其中,这样可以更快地访问表内容。通过检查峰值时间的状态值 Open_tables 和 Opened_tables ,可以决定是否需要增加 table_cache 的值。如果你发现 open_tables 等于 table_cache ,并且 opened_tables 在不断增长

Mysql主从配置

我只是一个虾纸丫 提交于 2020-03-18 07:15:09
试验环境 :   主服务器 IP:192.168.17.99   从服务器 IP:192.168.17.88 配置 : 一、主库 1.1、创建一个复制用户,具有replication slave 权限。 mysql > grant all on *.* to ‘jack@’192.168.17.88′ identified by ‘123; 1.2、编辑my.cnf文件   vi /etc/my.cnf   添加   server-id=88 # 标记不同数据库,不能与其他数据库一样   并开启 log-bin二进制日志文件   log-bin=mysql-bin   注 :需要把默认的server-id=1去掉   关闭 mysql   [root@cent] /usr/local/mysql/bin/mysqladmin -uroot -p shutdown 1.3、启动mysql数据库 /usr/local/mysql/bin/mysqld_safe –user=mysql & 1.4 、得到 binlog日志文件名和偏移量 mysql > show master status; +——————+———-+————–+——————+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +——————+———-+————–

journalctl 清理journal日志

柔情痞子 提交于 2020-03-18 05:19:34
在CentOS 7开始使用的systemd使用了journal日志,这个日志的管理方式和以往使用syslog的方式不同,可以通过管理工具维护。 使用 df -h 检查磁盘文件,可以看到 /run 目录下有日志目录 /run/log/journal ,占用了数G空间 Filesystem Size Used Avail Use% Mounted on /dev/mapper/centos-root 8.5G 4.2G 4.4G 49% / tmpfs 16G 1.6G 15G 11% /run 在日志目录下有很多历史累积的日志。 检查当前journal使用磁盘量 journalctl --disk-usage 清理方法可以采用按照日期清理,或者按照允许保留的容量清理 journalctl --vacuum-time=2d journalctl --vacuum-size=500M 如果要手工删除日志文件,则在删除前需要先轮转一次journal日志 systemctl kill --kill-who=main --signal=SIGUSR2 systemd-journald.service 要启用日志限制持久化配置,可以修改 /etc/systemd/journald.conf SystemMaxUse=16M ForwardToSyslog=no 然后重启 systemctl