前言 有了keepalived和mysql upgrade的技术作基础,可以结合两者完成无逢升级 下面分享一下我的 Best Practice Of Mysql Migration ---- 概要 --...-- 准备工作 下面步骤最好作为准备工作,提前完成,这样可以更有效进行切换,和减少窗口期 挂载NFS 安装软件包的收集(mysql,xtrabackup,keepalived) 安装keepalived
上篇文章说了mvcc保证事务隔离性,隔离有脏读,不可重复读,幻读,而mysql有四种隔离级别,read uncommit,read commit,repeatable read,serializable...,解决这些问题,mysql新版本默认是可重复读,利用mvcc解决幻读,read view链表组成有m_ids活跃事务id,最大事务id和最小事务id以及当前事务id,解决的是快照读,当前读还是会存在一定问题...Mvcc--mysql详解(十一) Mysql锁 首先我们知道读的时候是不需要加锁的,当几个线程同时写入的时候,操作同一条数据,修改数据的那个事务就会生成锁。...表的颗粒分为行锁和表锁,行锁上的就是s锁和x锁,当整个表上锁的时候,其他事务应该也是不可以访问的,这时候怎么知道他上了表锁呢,或者循环他吗,当然不是,mysql设置了意向锁,is锁和ix锁,当表上了ix...Lock_gap锁:前面说过mysql在repeatable read隔离下解决幻读要么加锁,要么mvcc读加写锁,但是加锁的时候还会存在问题,防止在两个值得间隙插入锁,这个锁又叫间隙锁。
一、执行计划(EXPLAIN) MySQL 提供了一个 EXPLAIN 命令,它「可以对 sql语句进行分析,并输出sql执行的详细信息」,可以让我们有针对性的优化。...例如: explain select * from student where id > 2; 这里需要注意一下版本差异 「MySQL 5.6.3」 MySQL 5.6.3以前只能 EXPLAIN...SELECT ;MYSQL 5.6.3以后可以 EXPLAIN SELECT,UPDATE,DELETE 「MySQL 5.7」 MySQL 5.7以前想要显示 partitions 需要使用...子句中索引列使用了表达式,包括函数表达式 #对应(age)索引 explain select id from user order by abs(age); 5.3排序算法 filesort有两种排序算法:双路排序和单路排序...双路排序:需要两次磁盘扫描读取,得到最终数据。第一次将排序字段读取出来,然后排序;第二 次去读取其他字段数据。 单路排序:从磁盘查询所需的所有列数据,然后在内存排序将结果返回。
[root@slave01 data]# cd /var/lib/mysql/ [root@slave01 mysql]# ls livedb slave01-relay-bin.000308...javadb ijavadb mysql-bin.000154 mysql-bin.000159 relay-log.info backup-my.cnf slave01-relay-bin....000309 ibdata1 wavedb mysql-bin.000155 mysql-bin.000160 functiondb mysqltest_his slave01...-relay-bin.index ib_logfile0 master.info mysql-bin.000156 mysql-bin.index test mysqltestt_db...ib_logfile2 mysql mysql-bin.000158 keydb [root@slave01 mysql]# rm -rf * [root@slave01 mysql
]# chown -R mysql.mysql /var/lib/mysql/ [root@slave02 mysql]# ll total 5916780 drwx------ 2 mysql mysql...---- 2 mysql mysql 36864 Dec 9 03:57 mysqltestt_db drwx------ 2 mysql mysql 4096 Dec 9 03...drwx------ 2 mysql mysql 4096 Dec 9 02:52 ijavadb drwx------ 2 mysql mysql 12288 Dec 9...4096 Dec 9 02:45 mysql drwx------ 2 mysql mysql 4096 Dec 9 02:49 testdb drwx------ 2 mysql mysql...mysql mysql 20480 Dec 9 03:08 /data/mysql/ [root@slave02 mysql]#
新版master上安装并启动keepalived 安装并启动keepalived [root@new-master ~]# yum -y install ke...
修改zabbix统计数据过期时间 [root@new-master mysql]# vim /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh...[root@new-master mysql]# grep 120 /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh if...[ `expr $TIMENOW - $TIMEFLM` -gt 120 ]; then [root@new-master mysql]# 修改之前是300,也就是5分钟,这个监控粒度太粗,所以改为...-4.013-3.el6.x86_64 has missing requires of libmysqlclient.so.16()(64bit) perl-DBD-MySQL-4.013-3.el6....x86_64 has missing requires of libmysqlclient.so.16(libmysqlclient_16)(64bit) php-mysql-5.3.3-40.el6_
myisam_recover_options [testuser@slave01 etc]$ innodb_additional_mem_pool_size 也已经被弃用了,如果有要注释掉 ---- 将zabbit加入mysql...组以方便监控 [root@new-master mysql]# vim /etc/group [root@new-master mysql]# id zabbix uid=496(zabbix) gid...=493(zabbix) groups=493(zabbix),492(mysql) [root@new-master mysql]# /etc/init.d/zabbix-agent restart...]# ---------- [root@zabbix-server ~]# zabbix_get -s new-master -p 10050 -k "mysql.slowlog[100,/var/lib.../mysql/new-master-slow.log]" 2.98465 [root@zabbix-server ~]#
innobackupex: Backup created in directory '/data/nfs/test_full_backup/2015-12-09_00-53-03' innobackupex: MySQL...binlog position: filename 'mysql-bin.000004', position 8299670 151209 02:06:09 innobackupex: Connection
要确保mysql 数据库的 datadir是清空的,否则会报错 [root@slave02 data]# cat restore.log nohup: ignoring input Warning:.../usr/bin/innobackupex version 2.3.2 based on MySQL server 5.6.24 Linux (x86_64) (revision id: 306a2e0...) Original data directory /var/lib/mysql is not empty!...) Original data directory /var/lib/mysql is not empty!...开头的文件 如: .bash_history .lesshst .mysql_history .viminfo 要指明删,如 rm -rf .bash_history .lesshst .mysql_history
如何选购及管理腾讯云 MySQL 数据库?有了腾讯云计算作为基础,我们可以把这些复杂的底层操作交给云计算去完成,而我们只要集中精力去实现业务就可以了。...购买前需要实名认证,完成腾讯云个人账号实名认证 一、云数据库 MySQL页面 点我直达腾讯云数据库 MySQL控制台,在实例列表点击新建进入购买页。 在购买页选择如下配置。...更多参考腾讯云 二、管理 MySQL 数据库 云数据库 MySQL 初始化完成后,在实例列表单击实例名,或在操作列单击【管理】,可以进入实例管理页面。
观察到数据库的连接比如 :3306 在数据库里可以使用 show processlist 来看连接 (必要的时候可以停止原master数据库) [root@origin-master ~]# /etc/init.d/mysql...stop Shutting down MySQL........................................[ OK ].
更新slave mysql版本 [root@slave02 src]# rpm -e Percona-Server-client-51-5.1.73-rel14.11.603.rhel6.x86_64...rhel6.x86_64 Percona-Server-shared-51-5.1.73-rel14.11.603.rhel6.x86_64 error: Failed dependencies: mysql...-4.013-3.el6.x86_64 libmysqlclient.so.16()(64bit) is needed by (installed) php-mysql-5.3.3-40.el6_6....-4.013-3.el6.x86_64 libmysqlclient.so.16(libmysqlclient_16)(64bit) is needed by (installed) php-mysql...SONAME 'libfnv1a_udf.so'" mysql -e "CREATE FUNCTION fnv_64 RETURNS INTEGER SONAME 'libfnv_udf.so'" mysql
目的是为了降低业务风险,和数据丢失的风险 通过监控历史数据可以确定这个时间窗口 ---- 关闭原集群mha 由于集群软件在侦测到主服务器失效后会干预相关资源,造成备机身份切换和IP飘移,为了避免这种影响,要关掉集群 [mysql...masterha_check_status --conf=/etc/app1.cnf app1 (pid:18911) is running(0:PING_OK), master:origin-master [mysql...[mysql@slave02 bin]$ masterha_check_status --conf=/etc/app1.cnf app1 is stopped(2:NOT_RUNNING)....[mysql@slave02 bin]$ ps faux | grep manager mysql 27192 0.0 0.0 103244 864 pts/2 S+ 00:23...0:00 \_ grep manager [mysql@slave02 bin]$ ---- 关闭原slave上keepalived
领取专属 10元无门槛券
手把手带您无忧上云