記錄赤峯項目數據庫異常處理辦法

一、查看磁盤空間,100%mysql

df -h

二、查找大文件,刪除之sql

du -h --max-depth=1 

 

三、查看mysql沒法啓動,日誌中出現異常,修改/etc/my.cnf緩存

innodb_force_recovery=4

從新啓動,成功session

 

 四、備份數據ide

date_str=`date +%Y%m%d`

mkdir -p /data2/backup

cd
/data2/backup
mysqldump
-h localhost -uroot --password=***** -R -E -e dsideal_db > /data2/backup/dsideal_db_$date_str.sql

 

五、清庫從新導入優化

 
# 從新初始化
cd /usr/local/mysql
scripts/mysql_install_db --user=mysql --datadir=/usr/local/db/mysql/data

service mysql start
mysqladmin -u root password 'DsideaL147258369'
mysql -uroot -pDsideaL147258369
GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "DsideaL147258369";
flush privileges;
 
#建立新的
create database dsideal_db;

cd /data2/backup/


mysql -uroot -p******

use dsideal_db;

# 禁用binlog
set session sql_log_bin=0;

# 設置批量插入緩存爲256MB
SET session BULK_INSERT_BUFFER_SIZE=1024*1024*256;

# 批量插入優化
set global innodb_flush_log_at_trx_commit=0;

# 禁用外鍵

SET foreign_key_checks = 0;

# 導入數據包
source dsideal_db_20190428.sql;

# 恢復外鍵
SET foreign_key_checks = 1; 

# 啓用binlog
set session sql_log_bin=1;

# 批量插入優化結束
set global innodb_flush_log_at_trx_commit=2;
 

 # 只還原部分表的辦法idea

# 備份的指令
mysqldump -h127.0.0.1 -uroot -pDsideaL147258369  -R -E -e shl_db  > /usr/local/Backup/shl.sql

#從全庫備份中抽取出t表的表結構
sed -e'/./{H;$!d;}' -e 'x;/CREATE TABLE `t_kq_info`/!d;q' /usr/local/Backup/shl.sql

# 抽出
grep 'INSERT INTO `t_kq_info`'  /usr/local/Backup/shl.sql >>  /usr/local/Backup/t_kq_info.sql
相關文章
相關標籤/搜索