日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

两台服务器之间mysql数据库怎么做同步_mysql数据库占满磁盘导致服务器无法运行...

發(fā)布時(shí)間:2025/3/11 数据库 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 两台服务器之间mysql数据库怎么做同步_mysql数据库占满磁盘导致服务器无法运行... 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

第一次查找問(wèn)題,記錄一下查找過(guò)程

首先查看數(shù)據(jù)庫(kù)的磁盤(pán)使用情況: df -hl

然后查看每個(gè)文件所占容量:du -h --max-depth=1,然后發(fā)現(xiàn)/usr的文件夾占了32G的磁盤(pán),然后一級(jí)一級(jí)的進(jìn)入文件夾執(zhí)行du -h --max-depth=1,最后發(fā)現(xiàn)mysql的data文件夾占了30G,于是進(jìn)入data文件夾中,發(fā)現(xiàn)里面有很多的mysql-bin.000011的文件,每個(gè)文件有1G的大小,

1.1G mysql-bin.000152 1.1G mysql-bin.000153 1.1G mysql-bin.000154

這個(gè)binlog是mysql用來(lái)構(gòu)建復(fù)制時(shí)候用的文件。默認(rèn)是不開(kāi)啟的。如果需要開(kāi)啟在my.ini文件中寫(xiě)入log_bin=mysql_bin,重啟服務(wù)。

為了知道m(xù)ysql-bin.000152是存放了上面東西,首先一般bin-log日志文件不能打開(kāi)查看的,需要用到mysql的工具進(jìn)行。該工具在mysql的bin目錄下。

[mysql]mysqlbinlog mysql-bin.000011 -d db1 > db1.sql

執(zhí)行完畢后在當(dāng)前目錄會(huì)生成db1.sql的文件,這時(shí)可以用vim/vi來(lái)打開(kāi)文件。

打開(kāi)文件是這個(gè)樣子

發(fā)現(xiàn)這些文件中thread_id=363每秒都在執(zhí)行,于是查找mysql中正在進(jìn)行的進(jìn)程。

查看數(shù)據(jù)庫(kù)中的進(jìn)程有三種方式:

1.進(jìn)入mysql/bin目錄下輸入mysqladmin processlist;

2.啟動(dòng)mysql,輸入show processlist;

如果有SUPER權(quán)限,則可以看到全部的線(xiàn)程,否則,只能看到自己發(fā)起的線(xiàn)程(這是指,當(dāng)前對(duì)應(yīng)的MySQL帳戶(hù)運(yùn)行的線(xiàn)程)。

mysql> show processlist;

+-------+-----------+---------------------+----------+---------+------+-------+------------------+

| Id | User | Host | db | Command | Time | State | Info |

+-------+-----------+---------------------+----------+---------+------+-------+------------------+

| 19161 | test_user | 171.8.216.253:63583 | tbkttest | Sleep | 685 | | NULL |

| 19164 | test_user | 171.8.216.253:63677 | tbkttest | Sleep | 297 | | NULL |

| 19165 | root | localhost | tbkttest | Query | 0 | NULL | show processlist |

| 19166 | root | localhost | NULL | Sleep | 36 | | NULL |

+-------+-----------+---------------------+----------+---------+------+-------+------------------+

4 rows in set (0.00 sec)

3.使用Navicat結(jié)束mysql數(shù)據(jù)庫(kù)服務(wù)進(jìn)程

點(diǎn)擊【工具】菜單,選擇【服務(wù)器監(jiān)控】下的【MySql】,此時(shí)可以查看mysql進(jìn)程列表。

找到id,db是操作的數(shù)據(jù)庫(kù)名。

MySQL bin-log 作用

1.數(shù)據(jù)恢復(fù):如果你的數(shù)據(jù)庫(kù)出問(wèn)題了,而你之前有過(guò)備份,那么可以看日志文件,找出是哪個(gè)命令導(dǎo)致你的數(shù)據(jù)庫(kù)出問(wèn)題了,想辦法挽回?fù)p失。

2.主從服務(wù)器之間同步數(shù)據(jù):主服務(wù)器上所有的操作都在記錄日志中,從服務(wù)器可以根據(jù)該日志來(lái)進(jìn)行,以確保兩個(gè)同步。

3.在什么時(shí)間會(huì)刪除過(guò)期日志?

每次進(jìn)行 LOG flush的時(shí)會(huì)自動(dòng)刪除過(guò)期的日志,那么什么時(shí)間才能觸發(fā)log flush,手冊(cè)上的解釋為:

  • 重啟 MySQL
  • bin-log 文件大小達(dá)到參數(shù) max_binlog_size 限制;
  • 手工執(zhí)行清理命令
  • 自動(dòng)清理方法1:(修改配置文件和在mysql內(nèi)設(shè)置參數(shù)可無(wú)需重啟服務(wù))

    vim my.cnf

    expire_logs_days = 7 // 表示日志保留7天,超過(guò)7天則設(shè)置為過(guò)期的

    # mysql -u root -p > show binary logs; > show variables like '%log%'; > set global expire_logs_days = 7;

    手動(dòng)清理方法2:(推薦)

    如果沒(méi)有主從復(fù)制,可以通過(guò)下面的命令重置數(shù)據(jù)庫(kù)日志,清除之前的日志文件:

    reset master

    但是如果存在復(fù)制關(guān)系,應(yīng)當(dāng)通過(guò) PURGE 的名來(lái)清理 bin-log 日志,語(yǔ)法如下:

    # mysql -u root -p

    > purge master logs to 'mysql-bin.010’; //清除mysql-bin.010日志

    > purge master logs before '2016-02-28 13:00:00'; //清除2016-02-28 13:00:00前的日志

    > purge master logs before date_sub(now(), interval 3 day); //清除3天前的bin日志

    注意,不要輕易手動(dòng)去刪除binlog,會(huì)導(dǎo)致binlog.index和真實(shí)存在的binlog不匹配,而導(dǎo)致expire_logs_day失效

    總結(jié)

    以上是生活随笔為你收集整理的两台服务器之间mysql数据库怎么做同步_mysql数据库占满磁盘导致服务器无法运行...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。