勿以恶小而为之,勿以善小而不为---- 刘备
在linux下面安装mysql 如果在/etc下面没有存在my.cnf配置文件
在 linux 服务器上 执行:
1.通过which mysqld命令来查看mysql的安装位置
which mysqld
在 /usr/sbin/mysqld
- 通过 /usr/sbin/mysqld --verbose --help |grep -A 1 ‘Default options’
命令来查看mysql使用的配置文件默认路径,(注意红色标注的是通过步骤1的命令获取到的mysql安装目录路径)
/usr/sbin/mysqld --verbose --help |grep -A 1 'Default options'
- 在 /etc 创建 my.cnf 文件
[mysqld]
performance_schema_max_table_instances=400 #影响不大
table_definition_cache=500 #最小400,对内存占用影响大
table_open_cache=500 #影响不大
slow_query_log = ON
# linux
slow_query_log_file = /var/lib/mysql/tmp_slow.log
long_query_time = 0.5
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove the leading "# " to disable binary logging
# Binary logging captures changes between backups and is enabled by
# default. It's default setting is log_bin=binlog
# disable_log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
#
# Remove leading # to revert to previous value for default_authentication_plugin,
# this will increase compatibility with older clients. For background, see:
# https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_default_authentication_plugin
# default-authentication-plugin=mysql_native_password
# 设置不设置密码登录
#skip-grant-tables
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
Linux 系统 配置
[mysql]
[mysqld]
max_binlog_size= 512M
thread_cache_size = 32
local-infile=0
innodb_buffer_pool_size=1024M
innodb_flush_log_at_trx_commit=2
binlog_format = row
server-id=1
expire_logs_days=3
character-set-server=utf8
transaction_isolation=READ-COMMITTED
binlog-do-db = demo
binlog-ignore-db = information_schema,mysql
slave-skip-errors = 1062,1053,1146,1213,1264,1205,1396
auto-increment-offset = 1 #初始字段ID为1
slave-skip-errors = all #忽略所有复制产生的错误
sync_binlog=1000
skip-host-cache
skip-name-resolve
pid-file=/var/run/mysqld/mysqld.pid
socket=/var/run/mysqld/mysqld.sock
datadir=/var/lib/mysql
lower_case_table_names = 1
symbolic-links=0
sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE
max_connections=1536
innodb_buffer_pool_size=1024M
max_allowed_packet=24M
character-set-server=utf8
default_storage_engine=InnoDB
#innodb_force_recovery=6
log-bin = mysql-bin
[mysqldump]
quick
quote-names
[client]
default-character-set=utf8
Mysql Windows 系统配置 my.ini
[client]
port = 3306
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=D:\job\mysql5.7.33
# 设置mysql数据库的数据的存放目录
datadir=D:\job\mysql5.7.33\data
# 允许最大连接数
#lower_case_table_names=0
#设置连接数
max_connections=1000
max_user_connections=500
max_allowed_packet=128M
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 忽略密码
skip-grant-tables
# 添加日志的处理
log-bin=mysql-bin
sync_binlog=1
binlog-format=Row
#监听同步哪些数据库
binlog-do-db=springboot_1
# 服务器的id ,唯一
server-id=100
#屏蔽系统库同步
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
binlog-ignore-db=performance_schema
binlog-ignore-db=sys
#自动清理 7 天前的log文件,可根据需要修改
expire_logs_days=7
log_error=D:/job/mysql5.7.33/logs/error.err
long_query_time=1
slow_query_log=ON
slow_query_log_file=D:/job/mysql5.7.33/logs/slow.log
general_log=ON
general_log_file=D:/job/mysql5.7.33/logs/general.log
#开启profile的分析
#profiling=ON
#修改属性
sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
- 重启 Mysql 服务器
systemctl restart mysqld