MySQL 5.7 优化

1、开启bin-log
[mysqld] 下增加:

server-id = 1
log-bin=/data/db/mysql/mysql-bin

重启MySQL,检查

show variables like '%log_bin%';

log-bin为ON即开启了bin-log

2、参数优化

#允许客户端并发连接的最大数量,默认值是151,一般将该参数设置为500-2000
max_connections = 2000
max_allowed_packet = 64M
max_heap_table_size = 256M
tmp_table_size = 256M
#二进制日志自动删掉的时间间隔。默认值为0,代表不会自动删除二进制日志。
#记录二进制日志不是没有开销的。所以,例如是一个复制关系中的从节点,建议禁用二进制日志。
expire_logs_days = 10
#二进制日志文件的最大容量
max_binlog_size = 512M

#慢日志,2秒
slow_query_log = 1
slow_query_log_file = /usr/local/mysql/logs/mysql-slow.log
long_query_time = 2

#记录下没有使用索引的query
log_queries_not_using_indexes = ON

InnoDB 相关参数

default_storage_engine = InnoDB
innodb_buffer_pool_size = 8G
innodb_buffer_pool_chunk_size = 384M
innodb_buffer_pool_instances = 8
innodb_thread_concurrency = 16
#(核心交易系统设置为1,默认为1,其他2或者0)
innodb_flush_log_at_trx_commit=2

3、mysqlbinlog
备份为sql

mysqlbinlog --no-defaults mysql-bin.000001 >test.sql

4、权限

CREATE USER 'user'@'localhost' IDENTIFIED BY 'passwd';
grant select on testdb.* to user@'testdb';
CREATE USER 'user'@'134.%' IDENTIFIED BY 'passwd';
grant select on testdb.* to user@'124.%';
CREATE USER 'user'@'172.171.%' IDENTIFIED BY 'passwd';
grant select on testdb.* to user@'172.17.%';
flush privileges;

你可能感兴趣的:(Linux,数据库)