| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> MySQL简要记录 -> 正文阅读 |
|
[系统运维]MySQL简要记录 |
零、前言
一、安装
yum源 :https://dev.mysql.com/downloads/repo/yum/
①启动并设置开机自启
②基本命令检验状态:
|
属性名 | 参考默认值(5.7) | 参考默认值(8.0) | 备注 |
---|---|---|---|
port | 3306 | 3306 | 客户端连接服务器端时使用的端口号 |
socket | /tmp/mysql.sock | /tmp/mysql.sock | 客户端套接字文件所在目录 |
default-character-set | utf8 | utf8mb4 | 客户端字符集 |
针对mysql应用
属性名 | 参考默认值(5.7) | 参考默认值(8.0) | 备注 |
---|---|---|---|
datadir | /var/lib/mysql | /var/lib/mysql | 数据库文件默认地址 |
basedir | 若非压缩包,可以忽略 | ||
port | 3306 | 3306 | 服务端占用的端口号 |
server-id | 设置主从时有用 | ||
socket | /var/run/mysql/mysql.sock | /var/run/mysqld/mysql.sock | 服务端套接字文件所在目录 |
skip-external-locking | 开启 | 开启 | 每个进程若要访问数据表,则必须等待之前的进程完成操作并解除锁定。(仅影响MyISAM,若关闭注释即可) |
character-set-serve | latin1 | utf8mb4 | ?服务器默认字符集 |
default-storage-engine | InnoDB | InnoDB | 设置默认的引擎,不表明引擎创库表的默认引擎 |
thread_stack | 256KB | 8.0.27+:1024KB;8.026-:280KB, | 线程堆栈大小,默认64位,跟着自动配置即可 |
属性名 | 参考默认值(5.7) | 参考默认值(8.0) | 备注 |
---|---|---|---|
innodb_buffer_pool_size | 128MB | 128MB | 缓冲池大小,提高查询效率 |
innodb_data_home_dir | 通常与datadir 一致 | 通常与datadir 一致 | 记得尾部增加斜杠 |
innodb_data_file_path | ibdata1:12M:autoextend | ibdata1:12M:autoextend | 定义系统表空间数据文件的名称、大小和属性,格式file_name:file_size[:autoextend[:max:max_file_size]] |
innodb_thread_concurrency | 0 | 0 | 定义允许的最大线程数,0为无限制,通常根据并发数对业务影响,以10为单位慢慢调整即可。 |
innodb_flush_log_at_trx_commit | 1 | 1 | ?默认设置为 1 是完全符合 ACID 所必需的。日志在每次事务提交时写入并刷新到磁盘。? ?如果设置为 0,则每秒将日志写入磁盘并刷新一次。尚未刷新其日志的事务可能会在崩溃中丢失。? ?如果设置为 2,则在每次事务提交后写入日志,并每秒刷新一次到磁盘。尚未刷新其日志的事务可能会在崩溃中丢失。? ?对于设置 0 和 2,不能 100% 保证每秒一次刷新。由于 DDL 更改和其他内部活动导致独立于??innodb_flush_log_at_trx_commit? ?设置刷新日志,刷新可能会更频繁地发生,有时由于计划问题而降低刷新频率。如果每秒刷新一次日志,则崩溃时最多可能会丢失一秒钟的事务。如果刷新日志的频率高于或低于每秒一次的频率,则可能丢失的事务量会相应地变化。? |
innodb_log_buffer_size | 16MB | 16MB | 写入日志的缓冲区大小,根据事务可以酌情减少 |
innodb_log_file_size | 48MB | 48MB | 推荐值为256MB,理论上崩溃恢复1G约等于3分钟左右,这个值相对合适 |
innodb_log_files_in_group | 2 | 2 | 以环型方式(circular fashion)写入文件。根据推荐数值 3 较为合适 |
innodb_log_group_home_dir | 用于恢复数据的日志文件的路径,可以定义一个适合的位置 | ||
innodb_max_dirty_pages_pct | 75 | 90 | 控制脏页百分比 |
innodb_lock_wait_timeout | 50 | 50 | 事务等待获取资源等待的最长时间,单位(秒) |
参考地址: MySQL :: MySQL 8.0 Reference Manual :: 13.4.2.1 CHANGE MASTER TO Statement
属性名 | 参考默认值(5.7) | 参考默认值(8.0) | 备注 |
---|---|---|---|
master-host | 主机ip | ||
master-user | 用于连接主机的用户名 | ||
master-password | 用于连接主机的用户名对应密码 | ||
master-port | 用于连接主机的端口号 | ||
replicate-do-db | 指定数据库名 | ||
master-connect-retry | 60 | 60 | 重连时间,单位:秒 |
slave-net-timeout | 60 | 60 | 重连等待连接时间,单位:秒 |
log-slave-updates | OFF | OFF | ?副本服务器从源服务器接收的更新是否应记录到副本自己的二进制日志中 |
relay-log | 中继日志路径,同步日志存放地方,eg:/var/mysql/slave/mysql-relay-bin | ||
relay-log-index | relaylog日志的索引文件,里面记录了所有当前有效的relaylog日志文件列表。eg:/var/mysql/slave/mysql-relay-bin.index | ||
relay-log | 中继日志路径,同步日志存放地方 | ||
??slave_compressed_protocol | OFF | replica_compressed_protocol(8.0.26版本后使用这个参数名) | 使用源/副本连接协议的压缩,1为开启,默认不启用(建议开启) |
slave-skip-errors | OFF | 8.0.26开始,使用replica_skip_errors? | 出现错误时忽略,以英文逗号分隔 all,所有错误ddl_exist_errors ,ddl的所有错误1007:数据库已存在,创建数据库失败 1008:数据库不存在,删除数据库失败 1050:数据表已存在,创建数据表失败 1051:数据表不存在,删除数据表失败 1054:字段不存在,或程序文件跟数据库有冲突 1060:字段重复,导致无法插入 1061:重复键名 1068:定义了多个主键 1094:位置线程ID 1146:数据表缺失,请恢复数据库 1053:复制过程中主服务器宕机 1062:主键冲突 Duplicate entry |
属性名 | 参考默认值(5.7) | 参考默认值(8.0) | 备注 | 动态 |
---|---|---|---|---|
general-log | 0 | 0 | 所有查询日志功能【建议调试时才开】 | 是 |
general_log_file | 1 | 1 | 日志存放地址,依赖于general-log ,当其为1时实际生效 | 是 |
skip-external-locking | 开启 | 开启 | 每个进程若要访问数据表,则必须等待之前的进程完成操作并解除锁定。(仅影响MyISAM,若关闭注释即可) | 否 |
log-bin | 通常需要配主从必备,若不配置则不启用,参数内容为存放路径 | 是 | ||
max_binlog_size | 1G | 1G | 单个日志文件最大容量· | 是 |
max_relay_log_size | 0 | 0 | 中继日志最大容量,也就是没有超过单个日志时的中继日志容量 | 是 |
sync_binlog | 1 | 1 | ?sync_binlog=0? ?:禁用 MySQL 服务器将二进制日志同步到磁盘。相反,MySQL服务器依赖于操作系统不时将二进制日志刷新到磁盘,就像它对任何其他文件所做的那样。此设置提供最佳性能,但在发生电源故障或操作系统崩溃时,服务器可能已提交尚未同步到二进制日志的事务。? ?sync_binlog=1? ?:启用在提交事务之前将二进制日志同步到磁盘。这是最安全的设置,但由于磁盘写入次数增加,可能会对性能产生负面影响。如果发生电源故障或操作系统崩溃,二进制日志中缺少的事务仅处于就绪状态。这允许自动恢复例程回滚事务,从而保证二进制日志中不会丢失任何事务。? ?sync_binlog=?* ?N?* ?,其中 ?*?N? *? 是 0 或 1 以外的值:收集二进制日志提交组后,二进制日志将同步到磁盘。如果发生电源故障或操作系统崩溃,服务器可能已提交尚未刷新到二进制日志的事务。由于磁盘写入次数增加,此设置可能会对性能产生负面影响。值越高,性能越高,但数据丢失的风险也会增加。?N |
属性名 | 参考默认值(5.7) | 参考默认值(8.0) | 备注 | myisam独有 |
---|---|---|---|---|
key_buffer_size | 8M | 8M | 只对MyISAM表起作用5.7版本之后默认临时存储INNODB引擎,可以忽略这个参数 (32位最大4g,默认8m,官方建议为总内存的25%) | 是 |
max_allowed_packet | 4M | 64M | 请求包的最大大小以及服务所能处理的最大的请求大小 | 否 |
table_definition_cache | 400 + (table_open_cache / 2) | MIN(400 + table_open_cache / 2, 2000) | 缓存表数,默认不配置,等其自适应即可 | 否 |
sort_buffer_size | 256KB | 256KB | 每个会话排序所需缓冲区,官方建议在256KB ~ 2M之间,若传输量大则忽略 | 否 |
read_buffer_size | 128KB | 128KB | 查询表的缓存区,通常根据最大数据量分配2M左右即可 | 否 |
read_rnd_buffer_size | 256KB | 256KB | sort查询后使用的读入缓存,建议与sort_buffer_size 一致 | 否 |
myisam_sort_buffer_size | 8M | 8M | 对排序索引操作时分配的缓冲区大小,普通查询也涵盖 | 是 |
thread_cache_size | 8 + (max_connections / 100) | 8 + (max_connections / 100) | 服务器缓存多少个线程以供重用 | 否 |
query_cache_size | 1M | 1M | 查询缓存大小(根据实际情况调整),8.0.3之后版本已经被去除 | 否 |
skip_name_resolve | 禁用域名解析,默认不开启,建议开启 | 否 | ||
lower_case_table_names | 0(unix),1(windows),2(macOs) | 0(unix),1(windows),2(macOs) | 表名是否区分大小写,1则忽略大小写 | 否 |
max_connections | 100 | 100 | 允许的同时客户的数量,默认数值是100,理论上默认500即可满足一般需求 | 否 |
back_log | 50 + (max_connections / 5) | 建议参考5.7版本 | 暂时停止回答新请求之前,短时间内可以被存在堆栈中连接数量 | 否 |
open_files_limit | 5000 | 4000 | 可以参考ulimit -n设置,但是设置65536就好 | 否 |
属性名 | 参考默认值(5.7) | 参考默认值(8.0) | 备注 |
---|---|---|---|
connect_timeout | 10 | 10 | 连接应用超时时间,建议设置为N分钟 |
interactive_timeout | 28800 | 28800 | 交互连接上可以等待行动的秒数,建议酌情设置为数分钟 |
wait_timeout | 28800 | 28800 | 等待连接后不操作的秒数,然后断开,建议酌情设置为数分钟 |
expire_logs_days | 0 | 0 | ?自动删除二进制日志文件的天数。默认值为 0,表示??“??无自动删除” |
属性名 | 参考默认值(5.7) | 参考默认值(8.0) | 备注 |
---|---|---|---|
query-cache-type | 5.7.20开始弃用 | MySQL 8.0中已删除 | 查询缓存类型 |
query_cache_size | 1M | 8.0.3之后版本已经被去除 | 查询缓存大小 |
slave_compressed_protocol | OFF | replica_compressed_protocol(8.0.26版本后使用这个参数名) | 使用源/副本连接协议的压缩,1为开启,默认不启用(建议开启) |
slave-skip-errors | OFF | 8.0.26开始,使用replica_skip_errors? | 出现错误时忽略,以英文逗号分隔 all,所有错误ddl_exist_errors ,ddl的所有错误1007:数据库已存在,创建数据库失败 1008:数据库不存在,删除数据库失败 1050:数据表已存在,创建数据表失败 1051:数据表不存在,删除数据表失败 1054:字段不存在,或程序文件跟数据库有冲突 1060:字段重复,导致无法插入 1061:重复键名 1068:定义了多个主键 1094:位置线程ID 1146:数据表缺失,请恢复数据库 1053:复制过程中主服务器宕机 1062:主键冲突 Duplicate entry |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 20:06:25- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |