MySQL bin log文件越来越大的问题

MySQL5.7版本默认开启保存二进制日志,文件以mysql-bin开头,时间一长,这些日志会越来会大,越来越多。

如果服务器空间有限或不需要保存二进制日志,如本地测试,则可以删除并在配置文件中关闭日志。

首先清除日志,最好不要直接清,而是通过以下命令

MySQL 5.6升级到5.7注意点

MySQL 5.6升级到5.7注意点。

千万记得备份!

1. 安装方式出现变化,5.7安装完后需要先`初始化`再开启`mysqld`服务,且初始化完成后修改`root`密码的方式变了。

2. 一些变量不再支持,如 `thread_concurrency`,如果你配置了这个变量,删除它,不然不能开启`mysqld`服务。

3. `sql_mode`默认是`NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES`,即严格模式。

MySQL修改用户密码

MySQL修改用户密码。

#### 方法1
适用于版本`<=5.6`的MySQL及已经重置过密码的MySQL5.7。 use mysql; update user set password=password('123') where user='root' and host='localhost'; flush privileges;

MySQL数据库优化总结

MySQL数据库优化总结。

1. 尽量将多次查询放到一条SQL语句里执行,避免循环中的SQL查询,特别是数据库和网站分离时。

2. 对于left join,如果只是为了查询right表的某个字段,可选择使用配置文件来代替left join,将right的字段放入一个数组中,把数组序列化到一个文件中,需要用的时候反序列化,根据key查找value。

3. 使用数据库的内置函数

4. 只select用到的字段,而非select *

MySQL事务隔离级别

MySQL事务隔离级别

数据不一致的情况

1. 脏读

A修改某行数据后,B读取,后A回滚,B再读,前后两次不一致。

2. 不可重复读

A多次读取某行数据,中间B修改数据并提交,A再读,数据不一致。

MySQL行锁

MySQL中`select`默认不加锁,但可以显式地给数据加上共享锁或排他锁。

共享锁

共享锁又称读锁,当一个事务给行加共享锁后,其它事务可以并发读取该行的数据,但任何事务都不能对该行进行写操作。

加共享锁写法:

豫ICP备19001387号-1