本文目錄一覽:
mysql 遠程寫入 老是丟數據怎麼辦
具體的解決步驟如下,希望能幫助遇到同樣問題的同學們:
找到並修改my.cnf文件。在不同的Linux系統下,my.cnf放在不同的位置。這裡以Ubuntu Server做示例,其他系統請根據情況自行找到my.cnf的路徑。一般只會存放在/etc/my.cnf或者/etc/mysql/my.cnf下。
首先用vim打開my.cnf:
vim /etc/mysql/my.cnf
看看是否有綁定本地迴環地址的配置,如果有,注釋掉下面這段文字:(在文字之前加上#號即可)
bind-address = 127.0.0.1
然後找到[mysqld]部分的參數,在配置後面建立一個新行,添加下面這個參數:
skip-name-resolve
保存文件並重啟MySQL:
/etc/init.d/mysql restart
這樣就會發現,問題已經解決了!遠程連接不會丟失了。
補充 mysql連接不原因
1. 首先要排查網路問題和防火牆的問題
這個是必須的, 你要是連MySQL的伺服器都連不上, 那還訪問什麼? 怎麼檢查呢? ping一下
ping 192.168.0.11 ping 的通的話, 再去檢查一下 3306埠是不是被防火牆給擋掉了
ping 192.168.0.11:3306 或者乾脆把防火牆關掉,service iptables stop (Redhat ) 或 ufw disable(ubuntu)
這一步沒問題的話, 開始下一步:
2. 要排查有沒有訪問許可權 說到訪問許可權, MySQL分配用戶的時候會指定一個host, 比如我的 host 指定為 192.168.0.5 , 那麼這個賬號就只能 5 這一台機器訪問, 其他的機器用這個賬號訪問會提示沒有許可權。 host 指定為 % 則表示允許所有的機器訪問。
一般來說出於安全方面的考慮,遵循最小許可權原則, 許可權的問題就不多講了, 不會的自己查手冊。 確定了許可權沒問題的話進行下一步:
3. 要排查MySQL的配置
檢查mysql的配置文件, Linux下MySQL的配置文件叫 my.cnf windows下的叫 my.ini,檢查這個配置項: –bind-address=IP
故障分析 | MySQL 數據」丟失」事件之 binlog 解析應用一則
備註:考慮信息敏感性,以下分析場景測試環境模擬,相關數據做以下說明
發現了一些端倪,在mysql-bin.000004中有對該表的2次truncate操作,等等,好像發現了什麼,那條丟失的數據也是在這個mysql-bin.000004文件中,梳理下邏輯,難道那條記錄在2次truncate之間,於是單獨對這個binlog做詳細解析,得到以下信息
到此基本了解了這條記錄為何會詭異丟失了 ,與客戶確認跑批灌數據的邏輯,了解到會對該表做truncate,但由於 誤操作 ,在跑批開始後,又觸發了一輪truncate行為,導致已經插入到該表的部分數據再次被清理了,也就導致了在解析binlog時部分記錄丟失了,但並未觀測到有刪除的行為,而是被truncate方式清理.
備註 :雖然binlog記錄的信息足夠多,但當故障原因定位後,由於其並未記錄 對該操作的IP及用戶 信息,如果不開審計,也只能知道發生了該行為,但無法具體定位觸發該行為的”人”.
mysql資料庫突然丟失怎麼回事
一般不會丟失的,出現丟失的可能性
修改配合文件了,改變了data文件夾;
重新安裝mysql,設置了新的存儲路徑;
被別人執行刪除操作了;
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/186335.html