如何在MySql中记录SQL日志(例如SqlServerProfiler)?
这个是一个典型的SQL on Hadoop使用场景,我在PPT里面也提到了解决方案。一般来说就是通过Sqoop任务把MySQL里面的表格导入HDFS上,然后在HDFS上和log进行各种查询操作。可以使用mapreduce也可以使用Hive,推荐使用Hive,因为你从MySQL里面导入的数据是结构化的。
MYSQL备份:启用二进制日志功能的MYSQL增量备份?
linux下,找到MySQL的配置文件,一般是/etc/my.cnf添加下面两行log-bin=mysql-binbinlog_format=mixed如果有标首‘[mysqld]’字样,就添加到[mysqld]下,不要添加到其他的下面。这样就开启了二进制日志,之后做的所有和修改数据表有关的操作都会被记录。修改 my.ini文件加入以下语句(在没有设置的前提下) 复制代码代码如下:log-error=d:/log/mysql/mysql_log_err.txtlog=d:/log/mysql/mysql_log.txt#log-bin=d:/log/mysql/mysql_log_binlog-slow-queries= d:/log/mysql/mysql_log_slow.txt使用以下命令查看是否启用了日志 复制代码代码如下:mysql>show variables like ’log_%’;
mysql怎么查看内存占用?
mysql查看内存占用方法:
1.打开慢查询日志,查询是否是某个SQL语句占用过多资源,如果是的话,可以对SQL语句进行优化,比如优化 insert 语句、优化 group by 语句、优化 order by 语句、优化 join 语句等等;
2.考虑索引问题;
3.定期分析表,使用optimize table;
4.优化数据库对象;
5.考虑是否是锁问题;
6.调整一些MySQL Server参数,比如key_buffer_size、table_cache、innodb_buffer_pool_size、innodb_log_file_size等等;
7.如果数据量过大,可以考虑使用MySQL集群或者搭建高可用环境。