Mysql的日志类型与设置。
1.普通log
记录所有sql操作,包括select,show语句。
设置
默认是不打开此log。
打开时可以指定目录,不指定时保存在数据库录目录下。
[mysqld]
log = /data/logs/mysql.log #此方式为指定文件
log = 1 #此文件默认保存在数据库目录下
log-output = TABLE,FILE #加上此参数可以同时把日志存储到数据表中,mysql库下。一般为CVS格式 ,当然可选其中一个参数就行
#默认是FILE值
2.错误日志
设置
[mysqld_safe] #此节点设置了会优先读此节点,[mysqld]着节点会无效,不知道为啥?
log-error=/data/logs/mysqld-err.log #同样可以指定目录,不指定默认存储在数据库目录下 xxx.err
3.慢查日志
设置
[mysqld]
log_slow_queries = /data/logs/mysql-slow.log #不指定默认为 msyql-slow.log
long_query_time = 1 #此值默认为10,最小为1,5.1有个google的补丁可以准确的毫秒。
log_queries_not_using_indexes = 1 #没使用索引的查询,存储过程会认为没使用索引而记录下来,默认是0。
4.二进制日志
特别说明: 二进制日志 并不记录select,show等不改变数据的sql语句,它主要功能是用于:数据恢复与数据复制。其带来的性能消耗远不如普通 日志高。默认是不打开的。如果使用事务型数据引擎InnoDB会有自己的二进制日志。特别是服务器使用主从架构时,必需开二进制日志,在机群情况下。
设置
[mysql]
log-bin = mysql-binlog #生成格式为 mysql-binlog.00000X 形式。这里不要写完整目录,写个名字就行,日志会存储在数据库目录下。
使用 show variables like '%log%'; 命令可以查看当前日志相关设置。
mysql> show variables like 'log%';
+---------------------
相关文档:
我有一个表
CREATE TABLE `test1` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(20) NOT NULL,
`desc` varchar(100) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
(1)以下查询会报错误:[Err] 1221 - Incorrect usage of UNION and ORDE ......
一、事务处理(myisam引擎不支持事务,innodb引擎支持事务)
(1)start transaction
(2)commit
(3)rollback,rollback to [savepoint name]
(4)savepoint [savepoint name]
(5)set autocommit=0 or 1
(6)release savepoint [savepoint name]
注意:create、drop等操作,不能回退
二、字符集
1.字符编码 ......
net start mysql //启动mysql服务
net stop mysql //停止mysql服务
mysqld-nt --remove //删除mysql后台服务
mysqld-nt --install //安装mysql后台服务
mysqld-nt可以换成mysqld-max-nt或mysqld
mysql -u root ......
mysql> show variables like "autocommit";
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| autocommit | ON |
+---------------+-------+
1 row in set (0.00 sec)
mysql>
设置完之后看看该值
你要开启一个事务,直接发送begin 。。。。commit就可以,何必要去 ......
gcc 强大的编译器就不作介绍了
linux下用gcc命令编译多线程C程序文件和含有MySql数据库操作文件
1.编译多线程文件
gcc -o mylti_thread.o multi_thread.c -lpthread
其中的multi_thread.c表示源文件,mylti_thread.o表示编译产生的目标文件,-lpthread表示引入多线程库,在《Using the GNU Compiler Collection》gcc 4. ......