单文件mysql-Multi-Instance

初始化多实例:
mysqld --initialize-insecure --user=mysql --datadir=/data/mysql/datadir/3306/data
mysqld --initialize-insecure --user=mysql --datadir=/data/mysql/datadir/3307/data
mysqld --initialize-insecure --user=mysql --datadir=/data/mysql/datadir/3308/data

启动多实例:
mysqld_multi start 3306
mysqld_multi start 3307
mysqld_multi start 3308

创建实例密码:
mysqladmin -uroot -p password cyh123@ -S /data/mysql/datadir/3306/data/mysql.sock
mysql -uroot -p -S /data/mysql/datadir/3306/data/mysql.sock

以下为多实例选项文件
其中注意: 【client】中的socket要跟【mysqld3306】中的socket要一样。否则【mysqld3306】是无法开启的
除非:不启用3306这个端口的实例!

[client]
port=3306
socket=/data/mysql/datadir/3306/data/mysql.sock

[mysqld_multi]
mysqld = /data/mysql/installdir/bin/mysqld_safe
mysqladmin = /data/mysql/installdir/bin/mysqladmin
user = root
password = cyh123@
log = /data/mysqld_multi.log

[mysqld3306]
port=3306
user=mysql
socket=/data/mysql/datadir/3306/data/mysql.sock
pid-file=/data/mysql/datadir/3306/data/mysql.pid
basedir=/data/mysql/installdir
datadir=/data/mysql/datadir/3306/data
explicit_defaults_for_timestamp = true
tmpdir=/data/mysql/tmpdir
log_error=/data/mysql/logdir/3306/error_log/mysql3.err
server-id = 1
log_bin = /data/mysql/logdir/3306/bin_log/binlog
general_log_file=/data/mysql/logdir/3306/general_log/general.log
general_log = 1
slow_query_log = ON
long_query_time = 2
slow_query_log_file = /data/mysql/logdir/3306/query_log/query.log
log_queries_not_using_indexes = ON
binlog-ignore-db=mysql
binlog_cache_size=512M
expire_logs_days=0
#gtid
gtid_mode = ON
enforce_gtid_consistency = ON
master_info_repository = TABLE
relay_log_info_repository = TABLE
binlog_checksum = NONE
log_slave_updates = ON
binlog_format = ROW
#group replication
transaction_write_set_extraction = XXHASH64
loose-group_replication_group_name = ‘aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaa1’
loose-group_replication_start_on_boot = off
loose-group_replication_local_address = ‘10.6.248.199:33061’
loose-group_replication_group_seeds = ‘10.6.248.199:33061,10.6.248.199:33062,10.6.248.199:33063’
loose-group_replication_bootstrap_group = off
loose-group_replication_single_primary_mode = FALSE
loose-group_replication_enforce_update_everywhere_checks = on
auto_increment_increment=10
auto_increment_offset=1

[mysqld3307]
port=3307
user=mysql
socket=/data/mysql/datadir/3307/data/mysql.sock
pid-file=/data/mysql/datadir/3307/data/mysql.pid
basedir=/data/mysql/installdir
datadir=/data/mysql/datadir/3307/data
explicit_defaults_for_timestamp = true
tmpdir=/data/mysql/tmpdir07
log_error=/data/mysql/logdir/3307/error_log/mysql3.err
server-id = 2
log_bin = /data/mysql/logdir/3307/bin_log/binlog
general_log_file=/data/mysql/logdir/3307/general_log/general.log
general_log = 1
slow_query_log = ON
long_query_time = 2
slow_query_log_file = /data/mysql/logdir/3307/query_log/query.log
log_queries_not_using_indexes = ON
binlog-ignore-db=mysql
binlog_cache_size=512M
expire_logs_days=0
#gtid
gtid_mode = ON
enforce_gtid_consistency = ON
master_info_repository = TABLE
relay_log_info_repository = TABLE
binlog_checksum = NONE
log_slave_updates = ON
binlog_format = ROW
#group replication
transaction_write_set_extraction = XXHASH64
loose-group_replication_group_name = ‘aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaa1’
loose-group_replication_start_on_boot = off
loose-group_replication_local_address = ‘10.6.248.199:33062’
loose-group_replication_group_seeds = ‘10.6.248.199:33061,10.6.248.199:33062,10.6.248.199:33063’
loose-group_replication_bootstrap_group = off
loose-group_replication_single_primary_mode = FALSE
loose-group_replication_enforce_update_everywhere_checks = on
auto_increment_increment=10
auto_increment_offset=2

[mysqld3308]
port=3308
user=mysql
explicit_defaults_for_timestamp=true
socket=/data/mysql/datadir/3308/data/mysql.sock
pid-file=/data/mysql/datadir/3308/data/mysql.pid
basedir=/data/mysql/installdir
datadir=/data/mysql/datadir/3308/data
tmpdir=/data/mysql/tmpdir08
log_error=/data/mysql/logdir/3308/error_log/mysql3.err
server-id = 3
log_bin = /data/mysql/logdir/3308/bin_log/binlog
general_log_file=/data/mysql/logdir/3308/general_log/general.log
general_log = 1
slow_query_log = ON
long_query_time = 2
slow_query_log_file = /data/mysql/logdir/3308/query_log/query.log
log_queries_not_using_indexes = ON
binlog-ignore-db=mysql
binlog_cache_size=512M
expire_logs_days=0
#gtid
gtid_mode = ON
enforce_gtid_consistency = ON
master_info_repository = TABLE
relay_log_info_repository = TABLE
binlog_checksum = NONE
log_slave_updates = ON
binlog_format = ROW
#group replication
transaction_write_set_extraction = XXHASH64
loose-group_replication_group_name = ‘aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaa1’
loose-group_replication_start_on_boot = off
loose-group_replication_local_address = ‘10.6.248.199:33063’
loose-group_replication_group_seeds = ‘10.6.248.199:33061,10.6.248.199:33062,10.6.248.199:33063’
loose-group_replication_bootstrap_group = off
loose-group_replication_single_primary_mode = FALSE
loose-group_replication_enforce_update_everywhere_checks = on
auto_increment_increment=10
auto_increment_offset=3

多实例的命令:
mysqld_multi start/stop/restart [port]
mysqld_multi report 查看各实例的状态

查看实例3306的选项配置文件
my_print_defaults mysqld_multi mysqld3306
如果增加了user=root
password=
其中密码在默认情况下是加密的!

如何关闭多实例:
在【mysqld_multi】下增加
user = root
password = cyh123@
且每个实例中都有一个root 用户且密码为:cyh123@
并更改 /data/mysql/installdir/bin/mysqld_multi 命令文件
cat /data/mysql/installdir/bin/mysqld_multi
my $com= join ’ ', ‘my_print_defaults’, @defaults_options, $group;
改为如下:
my $com= join ’ ', ‘my_print_defaults -s’, @defaults_options, $group;

猜你喜欢

转载自blog.csdn.net/weixin_43292394/article/details/84137347