Variable 'log_bin' is a read only variable
时间: 2024-05-20 09:13:36 浏览: 420
The variable 'log_bin' is a system variable in MySQL that controls binary logging. It is set as read-only to prevent accidental changes that could lead to data loss or corruption. If you need to modify this variable, you can do so by changing the configuration file of your MySQL server or by using the command line option '--log-bin' when starting the server. However, you should only do so if you have a good understanding of the implications of binary logging and the potential risks involved in modifying this variable.
相关问题
#!/bin/bash #变量不能为空 if [ "$1" = "" -a "$2" = "" -a "$3" = "" -a "$4" = "" -a "$5" = "" ];then echo "please specify variable bfe_log_dir mysqlHost mysqlPort mysqlDBName time" exit 0 fi loadDataFile="./time_consuming.log" logFilesDir="./log_files.txt" fileDate=$(date -d $5' minute ago' +'%Y-%m-%d %H:%M:%S') nowDate=$(date '+%Y-%m-%d %H:%M:%S') if [ ! -f $logFilesDir ];then touch $logFilesDir echo "create log_files success." else echo "log_files ready" fi find $1 -type f -newermt "$fileDate" ! -newermt "$nowDate" -name 'access_2.log.*' > $logFilesDir if [ ! -f $loadDataFile ];then touch $loadDataFile echo "create load date file success." else echo "load date file ready" fi echo > $loadDataFile #start read bfe log file while read line do echo "read bfe log file: "$line #采集Link-trace-id,backendDur字段信息 cat $line | grep "type\[Req\]" | awk -F"]" '{print $1,$12}' | awk -F"[\[ ]" '{print $2","$5}' |awk -F , '{if($1!="-")print}' >> $loadDataFile done < $logFilesDir echo "backent dur write file success." #将采集信息插入到数据库中 loadCommand="load data local infile '$loadDataFile' into table ai_backend_dur_log fields terminated BY ',' lines terminated BY '\n' (trace_id,backend_dur);" mysql --local-infile=1 -u gzaipbc -pGzaipbc@123 -h $2 -P $3 $4 -e "$loadCommand" exit 0
这是一个 Bash 脚本,主要功能是从指定目录中读取符合时间范围内的日志文件,提取其中的特定字段信息,然后将这些信息插入到指定的 MySQL 数据库表中。具体流程如下:
1. 首先判断是否传入了必要的参数,如果没有就提示用户输入。
2. 创建用于记录符合时间范围内的日志文件名的文件 log_files.txt。
3. 使用 find 命令查找指定目录中符合时间范围内的日志文件,将其文件名写入 log_files.txt 中。
4. 创建用于记录采集到的信息的文件 time_consuming.log。
5. 读取 log_files.txt 中的每个日志文件,使用 grep 和 awk 命令从中提取出 Link-trace-id 和 backendDur 两个字段的信息,将其写入 time_consuming.log 文件中。
6. 将 time_consuming.log 文件中的信息通过 load data 命令插入到指定的 MySQL 数据库表中。
注意,脚本中的参数依次为:bfe_log_dir(指定的目录)、mysqlHost(MySQL 主机名)、mysqlPort(MySQL 端口号)、mysqlDBName(MySQL 数据库名)、time(时间范围,单位为分钟)。另外,脚本中的 MySQL 用户名和密码都是写死的,需要根据具体情况修改。
阅读全文