资讯专栏INFORMATION COLUMN

​Mysql双主配置及安装部署

IT那活儿 / 452人阅读
​Mysql双主配置及安装部署

点击上方“IT那活儿”公众号,关注后了解更多内容,不管IT什么活儿,干就完了!!!



  
由于在工作中客户要求安装Mysql并进行双主配置,Mysql的双主配置在生产环境中也是常用到的,下面我来介绍一下Mysql的安装与双主的配置,有不对的地方,欢迎大家指出!!



部署安装

1.1 获取安装介质

https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.23-linux-glibc2.12-x86_64.tar.xz

1.2 创建用户

groupaddmysql

useradd-r -g mysql -s /bin/false mysql

1.3 解压安装包

cd/usr/local

chown-R mysql:mysql  mysql-8.0.23-linux-glibc2.12-x86_64.tar.xz
tar-xvf mysql-8.0.23-linux-glibc2.12-x86_64.tar.xz
chown-R mysql:mysql mysql-8.0.23-linux-glibc2.12-x86_64
ln-s mysql-8.0.23-linux-glibc2.12-x86_64 mysql
chown-R mysql:mysql mysql

1.4 创建数据文件目录

mkdir-p /mysqldata/data

mkdir-p /mysqldata/log

mkdir-p /mysqldata/sys

chown-R mysql:mysql  /mysqldata/

chmod-R 750 /mysqldata/

1.5 配置环境变量(写到/etc/profile)

exportPATH=/usr/local/mysql/bin:$PATH

source/etc/profile

1.6 编辑参数文件

  • 主库

vi/etc/my.cnf
[mysql]
prompt=[u@h][d]>\_
socket=/mysqldata/sys/mysql.sock

[mysqld]
user=mysql
datadir=/mysqldata/data/
socket=/mysqldata/sys/mysql.sock
character_set_server=utf8mb4
transaction_isolation=read-committed
explicit_defaults_for_timestamp=1
max_allowed_packet=16777216
event_scheduler=1
server_id=212211
lower_case_table_names=1

interactive_timeout=1800
wait_timeout=1800
skip_name_resolve=1
max_connections=2000
max_connect_errors=100000

table_open_cache=4096
table_definition_cache=4096
table_open_cache_instances=64

read_buffer_size=6M
read_rnd_buffer_size=16M
sort_buffer_size=16M
tmp_table_size=64M
join_buffer_size=64M
thread_cache_size=64

log_error=/mysqldata/log/alert.log
log_bin=/mysqldata/log/binlog
master_info_repository=table
relay_log_info_repository=table
sync_binlog=1
gtid_mode=on
enforce_gtid_consistency=1
log_slave_updates=1
binlog_format=row
binlog_rows_query_log_events=1
relay_log=/mysqldata/log/relay.log
relay_log_recovery=1
#slave_rows_search_algorithms=index_scan,hash_scan

innodb_buffer_pool_size=16G
innodb_buffer_pool_instances=4
innodb_buffer_pool_load_at_startup=1
innodb_buffer_pool_dump_at_shutdown=1
innodb_lru_scan_depth=2048
innodb_flush_method=o_direct
innodb_open_files=4096
innodb_log_file_size=1024000000
  • 从库

    从库的参数基本上跟主库的参数一致,只需要改变一个server_id,这个配置双主的时候不能一样。

1.7 初始化数据库

cd/usr/local/mysql

bin/mysqld--initialize --lower-case-table-names=1 -user=mysql

1.8 启动数据库

cd/usr/local/mysql

bin/mysqld_safe--user=mysql &

1.9 进入mysql修改密码

mysql-uroot -p(初始密码在error.log里

VKgfkfqUA0,7

alteruser root@localhost identified by My1qaz@WSX;

flushprivileges;

1.10 添加服务到系统

cd/usr/local/mysql

cpsupport-files/mysql.server /etc/init.d/mysql

chmod+x /etc/init.d/mysql

chkconfig--add mysql

chkconfig--list mysql

1.11 测试

servicemysql start


双主配置

2.1 192.168.245.138->192.168.245.139方向

1)创建复制用户(主库:192.168.245.138)

createuser repl@% identified with mysql_native_password by "2w3e@W#E";

grantfile on *.* to repl@%;

grantreplication slave on *.* to repl@%;

flushprivileges;

2)开启复制进程(从库:192.168.245.139)

changemaster 
tomaster_host=192.168.245.138,master_port=3306,master_user
=repl,master_password=2w3e@W#E,master_auto_position=1;

startslave;

3)检查slave状态

showslave statusG

2.2 192.168.245.139->192.168.245.138方向

1)创建复制用户(主库:192.168.245.139)

createuser sysadmin@% identified with mysql_native_password by"1q2w!Q@W";

grantall on *.* to sysadmin@%;

flushprivileges;

2)开启复制进程(从库:192.168.245.138)

changemaster tomaster_host=192.168.245.139,master_port=3306,master_user=repl,master_password=2w3e@W#E,master_auto_position=1;

startslave;

3)检查slave状态

showslave statusG


测试

3.1 192.168.245.138->192.168.245.139方向

192.168.245.138
CREATEDATABASE `gohealth-plat` CHARACTER SET utf8mb4 COLLATEutf8mb4_general_ci;
usegohealth-plat;

createtable product(
product_idint(10) not NULL,
product_namevarchar(100) not NULL,
product_tyepvarchar(32) not NULL,
sale_priceint(10) default 0,
input_priceint(10) default 0,
regist_timedate,
primarykey (product_id));

192.168.245.139
showdatabases;
usegohealth-plat;
showtables;

3.2 192.168.245.139->192.168.245.138方向

192.168.245.139
usegohealth-plat;
insertinto product values(555,sdfsd,sdfd,54,215,null);
select* from product;

192.168.245.138
select* from product;

MySQL软件安装以及双主配置还是非常简单的,如果在启动复制过程中报错,可以使用showslave status进行查看是什么原因导致的,好了,今天的分享就到此结束了!!


本文作者:关 莹(上海新炬王翦团队)

本文来源:“IT那活儿”公众号

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/129271.html

相关文章

  • MySQL集群搭建(6)-双主+keepalived高可用

    摘要:双主是一个比较简单的高可用架构,适用于中小集群,今天就说说怎么用做的高可用。缺点也比较明显,就是增加从节点的情况下,从节点不会主动切换同步对象,而且脚本需要自己实现,有一定风险。 双主 + keepalived 是一个比较简单的 MySQL 高可用架构,适用于中小 MySQL 集群,今天就说说怎么用 keepalived 做 MySQL 的高可用。 1 概述 1.1 keepalive...

    CarlBenjamin 评论0 收藏0
  • MySQL集群搭建(6)-双主+keepalived高可用

    摘要:双主是一个比较简单的高可用架构,适用于中小集群,今天就说说怎么用做的高可用。缺点也比较明显,就是增加从节点的情况下,从节点不会主动切换同步对象,而且脚本需要自己实现,有一定风险。 双主 + keepalived 是一个比较简单的 MySQL 高可用架构,适用于中小 MySQL 集群,今天就说说怎么用 keepalived 做 MySQL 的高可用。 1 概述 1.1 keepalive...

    lily_wang 评论0 收藏0

发表评论

0条评论

IT那活儿

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<