mysql日志滾動(dòng)
更新時(shí)間:2014年01月24日 09:55:32 作者:
日志滾動(dòng)解決日志文件過(guò)大問(wèn)題,比如我開(kāi)啟了general_log,這個(gè)日志呢是記錄mysql服務(wù)器上面所運(yùn)行的所有sql語(yǔ)句;比如我開(kāi)啟了mysql的慢查詢
1,查看log情況
復(fù)制代碼 代碼如下:
mysql> show global variables like '%log%';
+---------------------------------+---------------------------------+
| Variable_name | Value |
+---------------------------------+---------------------------------+
| back_log | 50 |
| binlog_cache_size | 32768 |
| binlog_format | MIXED |
| expire_logs_days | 0 |
| general_log | ON |
| general_log_file | /usr/local/mysql/mysql.log |
| log | ON |
| log_bin | ON |
| log_bin_trust_function_creators | OFF |
| log_bin_trust_routine_creators | OFF |
| log_error | /var/log/mysqld.log |
| log_output | FILE |
| log_queries_not_using_indexes | OFF |
| log_slave_updates | OFF |
| log_slow_queries | ON |
| log_warnings | 1 |
| max_binlog_cache_size | 4294963200 |
| max_binlog_size | 1073741824 |
| max_relay_log_size | 0 |
| relay_log | |
| relay_log_index | |
| relay_log_info_file | relay-log.info |
| relay_log_purge | ON |
| relay_log_space_limit | 0 |
| slow_query_log | ON |
| slow_query_log_file | /usr/local/mysql/mysql-slow.log |
| sql_log_bin | ON |
| sql_log_off | OFF |
| sql_log_update | ON |
| sync_binlog | 0 |
+---------------------------------+---------------------------------+
30 rows in set (0.00 sec)
上面主要有三個(gè)日志文件,mysql.log,mysqd.log,mysql-slow.log,除了mysqld.log不能通過(guò)mysqladmin flush-logs來(lái)刷新日志外,其他的都可以,mysqld.log是服務(wù)器啟動(dòng)程序mysqld產(chǎn)生的。
2,生成日志刷新用戶
復(fù)制代碼 代碼如下:
mysql> GRANT RELOAD ON *.* TO 'log'@'localhost' IDENTIFIED BY 'log';
Query OK, 0 rows affected (0.07 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.03 sec)
用root賬戶登錄進(jìn)去,添加一個(gè)log的用戶。分開(kāi)清楚一點(diǎn)。
3,日志滾動(dòng)腳本,只保留一個(gè)星期的日志
復(fù)制代碼 代碼如下:
[root@linux ~]# vim log.sh //添加以下內(nèi)容
#!/bin/sh
# log refresh
if [ -f $1 ];
then
echo "refresh ok" 1>&2
else
echo "log file do not exist;"
exit 1
fi
LOG=$1
DB_USER="log"
DB_PASS="log"
# Others vars
DATE=`date +%w`
BIN_DIR="/usr/local/mysql/bin"
mv ${LOG} ${LOG}_${DATE}
${BIN_DIR}/mysqladmin -ulog -plog flush-logs
添加可執(zhí)行權(quán)限chmod +x log.sh
腳本很簡(jiǎn)單,不過(guò)有一點(diǎn)要解釋一下,就是mv ${LOG} ${LOG}_${DATE},第一周會(huì)產(chǎn)生7個(gè)文件,第二周會(huì)覆蓋上周的,星期一覆蓋星期一,星期二覆蓋星期二,以此內(nèi)推。
4,日志滾動(dòng)
復(fù)制代碼 代碼如下:
[root@linux ~]# ./log.sh /usr/local/mysql/mysql.log
refresh ok
[root@linux ~]# ls /usr/local/mysql/ |grep mysql
mysql.log
mysql.log_1
相關(guān)文章
解決Linux下Tomcat向MySQL插入數(shù)據(jù)中文亂碼問(wèn)題
本文給大家介紹的是如何解決win平臺(tái)下開(kāi)發(fā)的項(xiàng)目移植到Linux平臺(tái)后,向MySQL插入數(shù)據(jù)時(shí)中文出現(xiàn)亂碼的問(wèn)題,非常的簡(jiǎn)單實(shí)用,有需要的小伙伴可以參考下2018-04-04MYSQL導(dǎo)入導(dǎo)出sql文件簡(jiǎn)析
這篇文章主要介紹了MYSQL導(dǎo)入導(dǎo)出.sql文件的相關(guān)資料,內(nèi)容包括MYSQL的命令行模式的設(shè)置、命令行進(jìn)入MYSQL的方法、數(shù)據(jù)庫(kù)導(dǎo)出數(shù)據(jù)庫(kù)文件、從外部文件導(dǎo)入數(shù)據(jù)到數(shù)據(jù)庫(kù),感興趣的小伙伴們可以參考一下2016-04-04MySQL實(shí)現(xiàn)樂(lè)觀鎖的方式詳解
在 MySQL 中,可以通過(guò)使用樂(lè)觀鎖來(lái)實(shí)現(xiàn)并發(fā)控制,以避免數(shù)據(jù)沖突和并發(fā)更新問(wèn)題,樂(lè)觀鎖是一種樂(lè)觀的思想,它假設(shè)并發(fā)操作不會(huì)導(dǎo)致沖突,只有在提交更新時(shí)才會(huì)檢查是否發(fā)生沖突,本文給大家介紹了Mysql如何實(shí)現(xiàn)樂(lè)觀鎖,需要的朋友可以參考下2023-09-09