首页 > 数据库 >Oracle版面本的MySQL8.0的配置文件 my.cnf

Oracle版面本的MySQL8.0的配置文件 my.cnf

时间:2023-05-16 23:31:40浏览次数:51  
标签:log 配置文件 home work cnf innodb mysql 3306 MySQL8.0

##############################

创建用户和用户组:

groupadd work

useradd work

 

 

准备目录:

mkdir -p /home/work/mysql_3306
mkdir -p /home/work/mysql_3306/data
mkdir -p /home/work/mysql_3306/etc
mkdir -p /home/work/mysql_3306/tmp
mkdir -p /home/work/mysql_3306/log
mkdir -p /home/work/mysql_3306/binlog

 

 

 

 下载:

https://dev.mysql.com/downloads/mysql/

 选择:mysql-boost-8.0.32.tar.gz

Oracle版面本的MySQL8.0的配置文件 my.cnf_mysql

 

 安装依赖包:

yum -y update
yum -y install  ncurses ncurses-devel wget make  cmake cmake3  perl gcc gcc-c++ autoconf automake zlib libxml2 libxml2-devel libgcrypt libtool bison bison-devel  devtoolset-10-gcc devtoolset-10-gcc-c++ devtoolset-10-binutils openssl openssl-devel perl perl-devel libaio libaio-devel

#启用新版Gcc;

scl enable devtoolset-10 bash

 

设置cmake为cmake3:

mv /usr/bin/cmake  /usr/bin/cmake.bak
ln -s /usr/bin/cmake3 /usr/bin/cmake

 

 

 

解压:

# tar -pxzvf mysql-boost-8.0.32.tar.gz

mysql-8.0.32

 

 

预编译:

cmake . 
-DCMAKE_INSTALL_PREFIX=/home/work/mysql_3306
-DMYSQL_DATADIR=/home/work/mysql_3306/data
-DSYSCONFDIR=/home/work/mysql_3306/etc   
-DWITH_BOOST=boost
-DDEFAULT_CHARSET=utf8 
-DDEFAULT_COLLATION=utf8_general_ci 
-DEXTRA_CHARSETS=gbk,gb2312,utf8,ascii 
-DWITH_MYISAM_STORAGE_ENGINE=1 
-DWITH_INNOBASE_STORAGE_ENGINE=1 
-DMYSQL_TCP_PORT=3306 
-DENABLED_LOCAL_INFILE=1 
-DWITH_EMBEDDED_SERVER=OFF  
-DENABLED_LOCAL_INFILE=1 
-DWITH_PARTITION_STORAGE_ENGINE=1 
-DWITH_FEDERATED_STORAGE_ENGINE=1 
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 
-DWITHOUT_PARTITION_STORAGE_ENGINE=1 
-DWITH_FAST_MUTEXES=1 
-DWITH_DEBUG=0 
-DWITH_EMBEDDED_SERVER=1 
-DFORCE_INSOURCE_BUILD=1

 

 编译:

make -j4

 

安装:

make -j4 install

 

 

初始化:

/home/work/mysql_3306/bin/mysqld --defaults-file=/home/work/mysql_3306/etc/my.cnf --initialize --basedir=/home/work/mysql_3306 --datadir=/home/work/mysql_3306/data --user=work

 

启动:

/home/work/mysql_3306/bin/mysqld --defaults-file=/home/work/mysql_3306/etc/my.cnf &

 

配置文件my.cnf如下: 

[client]
port = 3306
socket = /home/work/mysql_3306/tmp/mysql.sock

[mysqld]
# 在mysql8.0以上版本默认为caching_sha2_password,为了与mysql5.7版本兼容,设为
default_authentication_plugin=mysql_native_password
user    = work
port = 3306

basedir = /home/work/mysql_3306
datadir = /home/work/mysql_3306/data
tmpdir = /home/work/mysql_3306/tmp
socket = /home/work/mysql_3306/tmp/mysql.sock
pid_file = /home/work/mysql_3306/tmp/mysql.pid
log-error = /home/work/mysql_3306/log/error.log
general_log = /home/work/mysql_3306/log/general.log
slow_query_log_file = /home/work/mysql_3306/log/slow.log
log-bin = /home/work/mysql_3306/binlog/mysql-bin
innodb_log_group_home_dir=/home/work/mysql_3306/data
innodb_undo_directory=/home/work/mysql_3306/data


default-time-zone = "+08:00"
performance_schema = 1
log_slave_updates
log_timestamps = SYSTEM
slow_query_log
long_query_time = 0.5
lock_wait_timeout    = 120# 注意:mysql8.0以上版本的sql_mode没有NO_AUTO_CREATE_USER这个值。
sql_mode = 'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'
table_open_cache_instances = 16 
##################################
optimizer_switch='index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=on,block_nested_loop=on,batched_key_access=off,materialization=on,semijoin=on,loosescan=on,firstmatch=on,subquery_materialization_cost_based=on,use_index_extensions=on'
super_read_only = off 
log_slow_slave_statements = on
log_slow_admin_statements = on
event-scheduler = off 
back_log = 1000 
skip_name_resolve
max_connections = 10240
max_user_connections = 4000
max_connect_errors = 1000
table_open_cache = 8192 
table_definition_cache = 65535
max_allowed_packet = 64M 
expire_logs_days = 7
max_heap_table_size = 1024M 
read_rnd_buffer_size = 512K 
group_concat_max_len = 1024000
sort_buffer_size = 256K 
read_buffer_size = 64K
join_buffer_size = 128K 
thread_cache_size = 256 
ft_min_word_len = 4 
default-storage-engine = INNODB
thread_stack = 192K 
transaction_isolation = REPEATABLE-READ
tmp_table_size = 1024M 
open_files_limit = 65536 
key_buffer_size = 32M 
bulk_insert_buffer_size = 64M 
myisam_sort_buffer_size = 128M 
myisam_max_sort_file_size = 1G 
max_allowed_packet = 64M
max_prepared_stmt_count = 1000000
#-----------------------------------------------------------------
#replication
server-id = 4545454545
binlog_rows_query_log_events = on 
log-slave-updates = 1
relay-log = relay-bin
#这个参数一般用在主主同步中,用来错开自增值, 防止键值冲突
#auto_increment_offset = 1           
#这个参数一般用在主主同步中,用来错开自增值, 防止键值冲突
# auto_increment_increment = 1   
#####################必须集群内互相兼容,建议全都保持一致并为 row
binlog_format = row

# Last_IO_Error: Got fatal error 1236 from master when reading data from binary log:Slave can not handle replication events with the checksum that master is configured to log; 
# the first event ‘mysql-bin.000001’ at 451, the last event read from ‘./mysql-bin.000001’ at 451, the last byte read from ‘./mysql-bin.000001’ at 120.’
# 这就是binlog_checksum变量设置成none的原因,以免因为主从数据库的版本不一致出现这个错误。
binlog_checksum = none 

binlog_cache_size = 16M 
max_binlog_cache_size = 2G
sync_binlog = 1
master_info_repository = TABLE
relay_log_info_repository = TABLE
relay_log_recovery = on
sync_master_info = 10000
sync_relay_log_info = 10000
sync_relay_log = 0
#slave_net_timeout    = 4
#slave-parallel-type = LOGICAL_CLOCK
#slave-parallel-workers = 16
slave_pending_jobs_size_max = 134217728
slave_preserve_commit_order = 0

#################################
## 下面这两个搞不好会导致启动失败,搞清楚原理再使用
#transaction_write_set_extraction = XXHASH64
#binlog_transaction_dependency_tracking = WRITESET
#####################MySQL5.7.7之后,默认改成60秒。该参数定义了从库从主库获取数据等待的秒数,超过这个时间从库会主动退出读取,中断连接,并尝试重连。
#slave_net_timeout=8
###############mysql版本在5.6之后才有该选项。
gtid_mode = on
enforce-gtid-consistency = on
#
##############################################################################################半同步复制插件,需要安装。mysql5.7版本之后才有。
##########################################。安装插件在主库上:install plugin rpl_semi_sync_master soname 'semisync_master.so'; --安装 semisync_master.so插件 
##########################################。安装插件在从库上:install plugin rpl_semi_sync_slave soname 'semisync_slave.so'; --安装 semisync_slave.so插件
#plugin_load = "rpl_semi_sync_master=semisync_master.so;rpl_semi_sync_slave=semisync_slave.so"
################################半同步复制插件,需要安装。mysql5.7版本之后才有。
#rpl_semi_sync_master_enabled = on
################################半同步复制插件,需要安装。mysql5.7版本之后才有。
#rpl_semi_sync_slave_enabled = on
################################半同步复制插件,需要安装。mysql5.7版本之后才有。
#rpl_semi_sync_master_wait_for_slave_count = 1
################################半同步复制插件,需要安装。mysql5.7版本之后才有。
#rpl_semi_sync_master_timeout = 1000
################################半同步复制插件,需要安装。mysql5.7版本之后才有。
#rpl_semi_sync_master_wait_point = after_sync

 
#undo
innodb_max_undo_log_size = 1024M 
innodb_undo_log_truncate = on 
innodb_undo_tablespaces = 3 #只能在初始化的时候设置
innodb_purge_rseg_truncate_frequency = 128

#innodb
innodb_autoextend_increment = 64
innodb_concurrency_tickets = 5000
innodb_old_blocks_time = 1000
innodb_purge_batch_size = 300
innodb_stats_on_metadata = off
innodb_thread_sleep_delay = 10000 
innodb_adaptive_max_sleep_delay = 15000 
innodb_buffer_pool_dump_at_shutdown = on
innodb_buffer_pool_load_at_startup = on
innodb_flush_neighbors = 1
############################nnoDB使用后台线程处理数据页上写 I/O(输入)请求的数量。
innodb_write_io_threads = 8 
############################InnoDB使用后台线程处理数据页上读 I/O(输出)请求的数量。这里输出是输入的两倍。
innodb_read_io_threads = 16
innodb_print_all_deadlocks = on
innodb_buffer_pool_size = 1G
innodb_buffer_pool_instances = 8 
innodb_data_file_path = ibdata1:100M:autoextend # 这个参数在windows版本上没有这个参数
innodb_thread_concurrency = 48 
innodb_flush_log_at_trx_commit = 1
innodb_log_buffer_size = 64M
############################该值表示每个redo log文件大小,该值大小约为该mysql实例一个小时产生的日志大小,这里设置为4G,ib_logfile0和ib_logfile1文件都是4G,逻辑上ib_logfile被当成了一个文件。循环写入。
innodb_log_file_size = 4096M 
#############################配置redo log成多个文件,Redo log文件以ib_logfile[number]命名,日志目录通过参数innodb_log_group_home_dir控制,以顺序的方式写入文件文件,写满时则回溯到第一个文件,进行覆盖写。
innodb_log_files_in_group = 3 
###############################控制了 Dirty Page 在 Buffer Pool 中所占的比率。
innodb_max_dirty_pages_pct = 75 
innodb_max_dirty_pages_pct_lwm = 10 
innodb_flush_method = O_DIRECT   # 在windows上不行
innodb_lock_wait_timeout = 10 
#注意:innodb_file_per_table参数必须设置为1,否则xtrabackup工具无法单独备份某一个数据库。
innodb_file_per_table = 1
innodb_purge_threads = 4 
#########################该参数表示缓冲区刷新到磁盘时,刷新脏页数量。普通单个SATA可以设置200,对于SSD可以设置3000到5000,而拥有5个磁盘组成的RAID5可以设置成2000。
innodb_io_capacity = 5000
innodb_open_files = 65535 
innodb_online_alter_log_max_size = 5120M
innodb_sort_buffer_size = 4M
innodb_adaptive_hash_index_parts = 8 
innodb_buffer_pool_chunk_size = 128 
innodb_buffer_pool_dump_pct = 80 
innodb_deadlock_detect = on 
innodb_default_row_format = DYNAMIC 
innodb_fill_factor = 100 
innodb_flush_sync = off 
innodb_log_checksums = on 
innodb_log_write_ahead_size = 8192 
innodb_max_undo_log_size = 1073741824 
innodb_page_cleaners = 4 
innodb_purge_rseg_truncate_frequency = 128 
innodb_temp_data_file_path = ibtmp1:12M:autoextend

 

 

 

 

 安装validate_password 插件:

mysql> show variables like 'validate%';
Empty set (0.02 sec)

mysql> INSTALL COMPONENT 'file://component_validate_password';
Query OK, 0 rows affected (0.01 sec)

mysql> show variables like 'validate%';
+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password.check_user_name    | ON     |
| validate_password.dictionary_file    |        |
| validate_password.length             | 8      |
| validate_password.mixed_case_count   | 1      |
| validate_password.number_count       | 1      |
| validate_password.policy             | MEDIUM |
| validate_password.special_char_count | 1      |
+--------------------------------------+--------+
7 rows in set (0.01 sec)

 

 

Oracle版面本的MySQL8.0的配置文件 my.cnf_mysql_02

 

 

Oracle版面本的MySQL8.0的配置文件 my.cnf_同步复制_03

 

 

 

 

 

 

 

 

 

 

 

################################


标签:log,配置文件,home,work,cnf,innodb,mysql,3306,MySQL8.0
From: https://blog.51cto.com/u_13912516/6288016

相关文章

  • Spring Boot加载配置文件的顺序
    在SpringBoot中,配置文件的加载顺序如下:1.配置文件的默认位置:SpringBoot首先尝试加载位于classpath根目录下的`application.properties`或`application.yml`文件作为默认的配置文件。2.`spring.config.name`属性:如果存在`spring.config.name`属性,SpringBoot会尝试加载与该属......
  • 本人NAS中常用docker配置文件分享
    由于重装系统的时候,备份docker备份有误,现在所有的docker都得重新安装,想着在安装的时候顺便分享一下使用的镜像吧系统:Ubuntu23.04(GNU/Linux6.2.0-20-genericx86_64)配置:cpu:8700tes内存:16g*2固态:1t机械:4t+4t+12t+8tGPU:Teslap4机箱:T48......
  • 搜狗输入法(Windows版)快速输入直角引号「」的方法(修改配置文件,将方头括号“[”更为”「
    注意⚪以下代替方案,是将[]修改为「」,而并非修改“”。⚪修改后,在搜狗浏览器中文半角模式下,可按[,打出「」将来如需打出[],可以在搜狗浏览器的设置中,自定义短语实现:替换步骤打开:%USERPROFILE%\AppData\LocalLow\SogouPY.users\00000001\punctures.ini若该路径无此文件,请参......
  • shell中任务递交后修改循环配置文件效果
     001、投递该任务(base)[b20223040323@admin1test]$lsa.txtrecord.sh(base)[b20223040323@admin1test]$cata.txt##循环配置文件110000000002500000000(base)[b20223040323@admin1test]$catrecord.sh##测试程序#!/bin/bashcata.......
  • macos13 m1 安装 mysql8.0.32
    1、下载安装包选择MySQLCommunityServer版本MySQL::DownloadMySQLCommunityServer(ArchivedVersions)2、可视化安装选择强密码策略3、环境变量配置cat.zshrcexportPATH=$PATH:/usr/local/mysql-8.0.32-macos13-arm64/binexportPATH=$PATH:/usr/local/mysq......
  • mysql8.0.33的安装教程
    1、1 MySQL有四种不同的版本:community版、standard版、enterprise版和cluster版。Community版Community版是MySQL最常用的免费版本,它是基于GPL(GNU通用公共许可证)许可协议发布的。它是开源的,可以利用社区的贡献来维护和改进。有非常多的支持和帮助,可以从官方网站下载。Standar......
  • 第三十八天 字符编码与配置文件,数据类型,约束条件
    一、数据库的分类关系型数据库 有固定的表结构、表与表之间可以建立数据库层面的关系 MySQLPostgreSQLMariaDBSQLserversqlitedb2非关系型数据库 没有固定的表结构、表与表之间没有数据库层面的关系 redismongodbmemcache二、环境变量的搭建1.环境变量2.系统服......
  • 总结:Qt读写ini配置文件(QSettings)
    声明:资料整理自网络资源,未能全部注明引用来源,如有侵权请联系。一、ini文件介绍.ini文件是InitializationFile的缩写,即初始化文件。INI文件被用来对操作系统或特定程序初始化或进行参数设置,以实现不同用户的要求。一般不用直接编辑这些.ini文件,应用程序的图形界面即可操作以实现......
  • Vue2项目中,在编译打包后通过读取配置文件,任意修改接口地址
    可以按照以下步骤进行操作: 1.在项目根目录下创建一个名为`config`的文件夹,并在该文件夹下创建一个名为`index.js`的文件,用来存放配置文件,如: ```javascriptmodule.exports={  apiRoot:'http://api.example.com'}``` 这里定义了一个`apiRoot`属性,用来存放接口地......
  • SpringBoot 配置文件加载优先级
    我们在使用springboot开发的时候,经常会从外部获取属性值,为了记住这些规则,特此做如下记录~~~一、为什么要做外部化配置本地开发的时候,上传文件的时候,每个人想上传的路径不一样,使用外部配置,就可以单独设置自己的上传路径项目部署的时候,不同的环境使用不同的配置,使用外部挂载配置这......