本文目錄一覽:
- 1、mysql查詢連續三天的數據,該如何優化查詢sql
- 2、Mysql中查詢(資料庫中的)縱向轉(查詢結果顯示為)橫向.
- 3、mysql資料庫如何實現定期刪除資料庫一些東西
- 4、如何通過mysql的日誌恢復資料庫 加急求救
mysql查詢連續三天的數據,該如何優化查詢sql
SELECT * FROM `curriculum` where cuc_class_date ‘2016-10-01’ and cuc_class_date = date_add(‘2016-10-01’, INTERVAL 3 day)
這樣可能會把10月1號非零點的也查出來,如果不想查出來在加date_format()函數格式一下時間
Mysql中查詢(資料庫中的)縱向轉(查詢結果顯示為)橫向.
1、在mysql環境,創建資料庫表,
create table test_data1(id int, name VARCHAR(20), day VARCHAR(20))
2、插入測試數據,
insert into test_data1 values(1,’liu’,1);
insert into test_data1 values(2,’liu’,3);
insert into test_data1 values(3,’wang’,1);
insert into test_data1 values(4,’wang’,2);
insert into test_data1 values(4,’wang’,4);
3、查詢表中數據,select * from test_data1;
4、編寫目標sql;
select name,
max(case when day=1 then 1 end) d_1,
max(case when day=2 then 2 end) d_2,
max(case when day=3 then 3 end) d_3,
max(case when day=4 then 4 end) d_4
from test_data1 t group by name
mysql資料庫如何實現定期刪除資料庫一些東西
MySQL 5.1以後版本中有 Event ,這是類似Oracle中的job 可以通過創建Event,然後在裡面調用刪除過期記錄的存儲過程即可實現 定時每天備份mysql並定時刪除上月記錄(腳本) ouwsh | September 3, 2009 10:41 | Linux/Unix相關 | 閱讀(1536) | 評論(0) shell腳本:
備份的腳本比較簡單:
#!/bin/bash
# 定義年 月 日
year=`date +%Y`
month=`date +%m`
day=`date +%d`
# 定義備份的目錄
BACKDIR=/bak_1/mysql/$year/$month/$day
# MySQL的root密碼
ROOTPASS=123456
# 建立目錄
mkdir -p $BACKDIR
# 獲取資料庫列表
DBLIST=`ls -p /var/lib/mysql | grep / | tr -d /`
# 備份
for dbname in $DBLIST
do
mysqlhotcopy $dbname -u root -p $ROOTPASS $BACKDIR | logger -t mysqlhotcopy
done
複製代碼上面的腳本將資料庫按”年/月/日”目錄結構備份,將腳本存為back.sh添加到cron里每天凌晨3點執行
crontab -e
00 03 * * * root /root/back.sh
下面的是每月3號刪除上個月的備份,存為del_bak.sh,每月3號3點3分執行
03 03 03 * * root /root/del_bak.sh
注意腳本上傳後,要chmod一下許可權,比如
chmod 755 /root/back.sh
#!/bin/bash
# 定義年 月 日
year=`date +%Y`
month=`date +%m`
#day=`date +%d`
# 取上一個月
month=`expr $month – 1`
# 如果是1月,則上一月為12,並且年也減1
if [ $month -eq 0 ]; then
month=12
day=31
year=`expr $year – 1`
fi
# 因為備份時小於10月的月份有前導零,所以這裡判斷如果小於10月,則加前導零
if [ $month -lt 10 ]; then
pre=0
fi
#獲取要刪除的目錄名
BACKDIR=/bak1/mysql/$year/$pre$month
#刪除了
rm -rf $BACKDIR
重新啟動crond
/etc/rc.d/init.d/crond restart
如何通過mysql的日誌恢復資料庫 加急求救
1、首先確定my.ini(Win系統)或my.cnf(Linux系統)是否有如下配置
[mysqld]
log-bin=mysql-bin
等號後面是文件名或者路徑加文件名。
或者
用命令看是否開啟binlog配置:
mysql show master logs;
mysql show binlog events g;
2、提供故障時點描述信息
3、如果開啟了binglog那就可以按故障還原點或者時間點進行還原操作了
mysqlbinlog –start-position=
mysqlbinlog –start-datetime=
這裡語法是進一步查詢的線索,不知道你是什麼OS、開發還是生產庫?不能亂指揮。
【備份:做故障還原及數據恢復前切忌做好備份(數據文件以及日誌文件)】
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/305008.html