Mysql操作(待續)

前提是需要開啓表的binlog日誌
log-bin=test-bin

一、查看binlog的起始位置和結束位置,Pos是起始,End_log_pos是結束
[root@slave mysql]# mysql -uroot -e "use test;show binlog events"
+-----------------+-----+-------------+-----------+-------------+-------------------------------------------------------------+
| Log_name | Pos | Event_type | Server_id | End_log_pos | Info |
+-----------------+-----+-------------+-----------+-------------+-------------------------------------------------------------+
| test-bin.000001 | 4 | Format_desc | 134 | 245 | Server ver: 5.5.52-MariaDB, Binlog ver: 4 |
| test-bin.000001 | 245 | Query | 1 | 360 | use test; create table t44(id int not null,name char(20)) |
| test-bin.000001 | 360 | Query | 134 | 465 | use test; DROP TABLE t44 / generated by server / |
| test-bin.000001 | 465 | Stop | 134 | 484 | |
+-----------------+-----+-------------+-----------+-------------+-------------------------------------------------------------+
[root@master mysql]# mysqlbinlog test-bin.000002

Mysql操作(待續)
以上這個截圖操作是根據binlog位置進行數據恢復

二、全備份
[root@master mysql]mysqldump -uroot -p -B -F -R -x --master-data=2 ops|gzip >/opt/backup/ops_$(date +%F).sql.gz
Enter password:
[root@master mysql]# ls /opt/backup/
ops_2016-09-25.sql.gz

參數說明:
-B:指定數據庫
-F:刷新日誌
-R:備份存儲過程等
-x:鎖表
--master-data:在備份語句裏添加CHANGE MASTER語句以及binlog文件及位置點信息

三、查詢連接的IP幾多
select SUBSTRING_INDEX(host,':',1) as ip , count(*) from information_schema.processlist group by ip;

四、查詢鎖表情況
show status like 'Table%';
Mysql操作(待續)
Table_locks_immediate表示立即釋放表鎖數,Table_locks_waited表示需要等待的表鎖數,
如果Table_locks_immediate / Table_locks_waited > 5000,最好採用InnoDB引擎,
因爲InnoDB是行鎖而MyISAM是表鎖,對於高併發寫入的應用InnoDB效果會好些。
示例中的服務器Table_locks_immediate / Table_locks_waited = 235,MyISAM就足夠了。

五、關於報錯
Mysql操作(待續)
這個的報錯是權限的問題,因爲互爲主備的存放的binlog數不同,我直接從另一個庫那裏傳過去,沒改權限導致。
Mysql操作(待續)
Mysql操作(待續)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章