Mysql一主多从如何部署
发表于:2025-11-06 作者:千家信息网编辑
千家信息网最后更新 2025年11月06日,这篇文章主要介绍"Mysql一主多从如何部署"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"Mysql一主多从如何部署"文章能帮助大家解决问题。下载tar.gz
千家信息网最后更新 2025年11月06日Mysql一主多从如何部署
这篇文章主要介绍"Mysql一主多从如何部署"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"Mysql一主多从如何部署"文章能帮助大家解决问题。
下载tar.gz包
选择redhat版本
安装
1.linux系统上创建mysql1用户
useradd mysql1
2.将tar.gz包上传到服务器上并且解压
tar -zxvf mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz
3.将mysql-5.7.31-el7-x86_64目录下的文件mv到 /home/mysql1下
4.mkdir -p /home/mysql1/data 文件存储mysql1数据目录
mkdir -p /home/mysql1/data
5.将/etc/my.cfg文件复制到mysql家目录下
cp /etc/my.cnf /home/mysql1/
6.对/home/mysql1下赋权
chmod -R 755 /home/mysq1lchown mysql:mysql -R /home/mysql1/datachmod 777 /home/mysql1/data
7.修改mysql配置文件
vi /home/mysql1/my.cnf
[mysqld]user = port = 3307basedir = /home/mysql1datadir = /home/mysql1/datasocket = /home/mysql1/mysql.sockpid_file = /home/mysql1/mysql.pidlog_error = /home/mysql1/data/error.log#binlog日志文件log_bin = /home/mysql1/data/mysql-binrelay_log = /home/mysql1/data/relay-binslow_query_log_file = /home/mysql1/data/slow.log#binlog过期清理时间expire_logs_days = 15log-slave-updates = 1log_bin_trust_function_creators = 1lower_case_table_names = 1max_connections = 3000max_connect_errors = 1000000 # 每个实例的id都设置成不一样的,比如a主机,3307 b主机设置成23307,c主机设置成33307,后面1主2从会用到server-id = 3307 autocommit = 1# pool_size根据实际情况进行更新innodb_buffer_pool_size = 40Ginnodb_buffer_pool_instances = 8innodb_write_io_threads = 16innodb_read_io_threads = 16#mysql复制主要有三种方式:基于SQL语句的复制(statement-based replication, SBR),基于行的复制(row-based replication, RBR),混合模式复制(mixed-based replication, MBR)。对应的,binlog的格式也有三种:STATEMENT,ROW,MIXEDbinlog_format = ROWgtid_mode = onenforce_gtid_consistency = 1innodb_flush_log_at_trx_commit = 1 #add 2 innodb_thread_concurrency = 20innodb_print_all_deadlocks = 1innodb_flush_method = O_DIRECTinnodb_io_capacity = 8000innodb_io_capacity_max = 15000enforce_gtid_consistency = 1binlog_rows_query_log_events = 1character_set_server = utf8mb4default-storage-engine = INNODBtransaction_isolation = READ-COMMITTEDmax_allowed_packet = 67108864event_scheduler = 1slow_query_log = onexplicit_defaults_for_timestamp = 1 master_info_repository = TABLErelay_log_info_repository = TABLErelay_log_recovery = 1relay_log_purge = 0 slave_rows_search_algorithms = 'INDEX_SCAN,HASH_SCAN'slave_parallel_type = LOGICAL_CLOCKslave_parallel_workers = 16slave_preserve_commit_order = 1slave_transaction_retries = 64sync_relay_log = 0sync_relay_log_info = 0sync_master_info = 0sync_binlog = 1collation_server = utf8mb4_binskip_name_resolve = 1 plugin-load = "rpl_semi_sync_master=semisync_master.so;rpl_semi_sync_slave=semisync_slave.so"rpl-semi-sync-master-enabled = 1rpl-semi-sync-slave-enabled = 1
8.数据文件初始化
1.初始化
./mysqld --defaults-file=/home/mysql1/my.cnf --initialize --basedir=/home/mysql1 --datadir=/home/mysql1/data --user=mysql1
2.启动
./mysqld_safe --defaults-file=/home/mysql1/my.cnf --user=mysql1 &
查看mysql进程已经起来,并且监听3307接口
3.本机登陆,root的初始密码可以在errorlog中找到
cat error.log | grep "temporary password"
4.本机登录指定sock文件以及指定端口及输入临时密码
./mysql -uroot -P3307 -S /home/mysql1/mysql.sock -p
5. 登录后修改root密码
set password=password('XXXXXXXX'); 修改密码flush privileges;6. 赋予权限
grant all privileges on *.* to 'root'@'%' identified by 'XXXXXXX' with grant option;flush privileges;
7. 停止服务
./mysqladmin shutdown -uroot -p******** -S /home/mysql1/mysql.sock
使用mysql客户端datagrip连接mysql成功
通过如上相同操作安装从库,只修改配置文件相关信息,并且初始化,并且客户端连接
在master数据库上执行
1.创建repl用户并且赋予同步权限
CREATE USER 'repl' IDENTIFIED BY 'slavepass';GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%' identified by 'slavepass';flush privileges;
2.查看master状态
SHOW MASTER STATUS\G;
在slave上面执行
1.配置slave从节点的master节点以及binlog偏移位置等
CHANGE MASTER TO MASTER_HOST='master地址',MASTER_USER='repl',MASTER_PASSWORD='slavepass',MASTER_LOG_FILE='mysql-bin.000003', #为master的log_fileMASTER_LOG_POS=1597, #master的POSMASTER_PORT=3307;
2.启动slave同步进程以及查看slave状态
start slave; #启动slave同步进程show slave status\G;
测试
在mysql1中创建testdb,使用datagrip在mysql2中即可查看从mysql1中同步的新增的库以及数据,不过datagrip需要刷新下客户端。
关于"Mysql一主多从如何部署"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注行业资讯频道,小编每天都会为大家更新不同的知识点。
文件
密码
数据
同步
主机
客户
客户端
目录
知识
进程
配置
实际
权限
状态
用户
节点
行业
本机
更新
服务
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
奥迪斯电梯中文服务器
数据库技术与应用第三版华师
日本自卫队网络安全分析装置
数据库check是什么意思啊
联想服务器银牌2颗
津南区数据网络技术售后保障
格力的应用软件开发待遇
信息软件开发开发合同
软件开发广州哪个区
服务器管理器里id无法激活
银行系统网络安全工作工资高吗
计算机网络技术和软件工程区别
用服务器登录亚马逊店铺
中搜网络技术有限公司分公司
外卖软件开发前景
服务器开关
对mysql管理数据库的题目
戴尔服务器710
上海海砾网络技术服务中心
潮州专业软件开发费用是多少
网络安全不好就业
网络安全领域个人工作总结
云机房管理服务器
中国知网系列数据库怎么打开
软件开发转行测试
网络安全法 发言稿
网络安全意识不强怎样处罚
神农架定制软件开发中心
hp服务器远程访问
mum计算机软件开发招聘