一 、 服务器参数设置
vim /etc/my.conf
1. 通用设置
#数据文件存放目录
datadir=/var/lib/mysql
# mysql.socket表示server和client在同一台服务器,
# 并且使用localhost进行连接,就会使用socket进行连接
socket=/var/lib/mysql/mysql.socket
# 存储mysql的pid
# pid 可以去对应目录进行查找pid
# ps -ef |grep mysql 也可以查看pid
pid_file=/var/lib/mysql/mysql.pid
# 端口号
port=3306
#默认存储引擎 建表的时候可以指定存储引擎 这里就不用改了
default_storage_engine=innoDB
# 当忘记Mysql密码时,可以在配置文件中配置这个参数,就会跳过权限验证,
# 不需要密码就可以登录mysql
skip-grant-tables
2. 字符集
数据库字符集一般设置为:utf8mb4 -- UTF-8 Unicode# 客户端数据的字符集
character_set_client
#连接字符集 mysql处理客户端发来请求时会把字符转换成连接字符集
character_set_connection
# mysql发送给客户端结果集时使用的字符集
character_set_results
# 数据库默认字符集
character_set_database
# mysql server的默认字符集
character_set_server
3.连接
# 最大连接数
max_connections
# 查看默认最大连接数 我这默认是151
show variables like '%max_connections%'
# 临时修改最大连接数
set global max_connections = 1024;
# 查看 1024
show variables like '%max_connections%'# 限制每个用户连接个数
max_user_connections
# 查询 默认是0 不限制
show variables like '%max_user_connections%'# mysql能够暂存的连接数量,
# 当mysql的线程在一个很短时间内得到非常多的连接请求时,就会起作用,
# 如果mysql的连接数量达到max_connections时,新的请求会被存储在堆栈中,以等待某一个连接释放资源,
# 如果等待连接的数量超过back_log,则不再接受连接资源
#可以看下图 如果用户B 请求的时候用户A不释放连接的话 那么前俩就会被放到堆栈 最后一个连接请求就会被拒绝
# 跟线程池的阻塞队列一样 一样 的 (线程池有4中拒绝策略 可以自定义)
# 这个值如果太大 客户端等待就太多了 就阻塞了 响应慢了
back_log# mysql在关闭一个-----非交互的连接-----之前需要等待的时长
# 也就是类似连接池中的空闲时长
# 长连接 就是非交互的连接 一般项目中jar驱动连接mysql都是长连接
# 自己写连接池 8小时连接断开 就需要设置这个属性wait_timeout
wait_timeout# mysql在关闭一个-----交互的连接-----之前需要等待的时长
# 短连接 就是交互的连接 一般黑窗口交互就是tcp的 交互式连接
interactive_timeout
#
下一篇继续 sleep了