Mysql高可用高性能存储应用系列3 - mysqld_multi配置主从集群|全球新资讯
概述
主从复制要解决的问题,1)写操作锁表,影响读操作,影响业务。2)数据库备份。3)随着数据增加,I/O操作增多,单机出现瓶颈。
(资料图片仅供参考)
主从复制就是从服务器的主节点,复制到多个从节点,默认采用异步的方式。
主从复制原理
从库服务器会开启两个一部的独立线程,I/O线程和Sql进程。
I/O线程 : 负责连接master连接成功后,睡眠并等待master产生新的事件,有新的就保存到自己的中继日志中,中继日志通常位于操作系统的缓存中,所以开销很小。Sql进程:负责执行中继日志中的sql操作。源码安装Mysql
使用cmake安装mysql-5.7.37,Linux系统是centos7,话不多说,我们开始吧,安装之前的准备工作特别重要。
1.卸载系统自带mysql
# rpm -qa | grep mysql# rpm -qa | grep mariadbmariadb-libs-5.5.60-1.el7_5.x86_64# rpm -e --nodeps mariadb*# yum remove mariadb-libs-5.5.60-1.el7_5.x86_64
2.添加mysql禁止登录的用户及目录规划
useradd -M -s /sbin/nologin mysql
# 软件目录(为mysql安装目录创建软链接或改目录名)# ln -s /usr/local/mysql-5.7.37 /usr/local/mysql# 数据目录# mkdir /usr/local/mysql-5.7.37/data# 日志目录# mkdir /var/log/mysql# touch /var/log/mysql/mysqld.log# chown -R mysql.mysql /var/log/mysql/mysqld.log# 其他目录()# mkdir /usr/local/mysql-5.7.37/tmp# chown -R mysql.mysql /usr/local/mysql-5.7.37
3.下载、解压源码包,下载boost软件
boots 一组C++ 库的集合,提供了线性代数、伪随机数生成、多线程、图像处理、正则表达式、单元测试等功能。
# wget http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz# tar xf boost_1_59_0.tar.gz -C /usr/local
4.安装编译前的依赖包
# yum install -y ncurses-devel libaio-devel gcc gcc-c++ glibc cmake autoconf openssl openssl-devel libstdc++* libtool lrzsz psmisc
5.进行cmake编译mysql源文件
make后的安装时间比较长,我的电脑执行了将近一个半小时,下面是安装时参数说明:
DCMAKE_INSTALL_PREFIX:指定MySQL程序的安装目录,默认/usr/local/mysqlDEFAULT_CHARSET:指定服务器默认字符集,默认latin1DWITH_EXTRA_CHARSET=all:支持扩展字符集DEFAULT_COLLATION:指定服务器默认的校对规则,默认latin1_general_ciDENABLED_LOCAL_INFILE:可以使用load data infile命令从本地导入文件DWITH_READLINE=1 使用readline功能,即方便在命令行复制、粘贴命令。DWITH_xxx_STORAGE_ENGINE:指定静态编译到mysql的存储引擎,MyISAM, MERGE,MEMBER以及CSV四种引擎默认即被编译至服务器,不需要特别指定。DWITH_MYISAM_STORAGE_ENGINE=1 :添加MYISAM存储引擎支持DWITH_INNOBASE_STORAGE_ENGINE=1 :添加INNOBASE存储引擎支持DWITH_MEMORY_STORAGE_ENGINE=1 : 添加MEMORY存储引擎支持DSYSCONFDIR:初始化参数文件目录DMYSQL_DATADIR:数据文件目录DMYSQL_TCP_PORT:服务端口号,默认3306DMYSQL_UNIX_ADDR:socket文件路径,默认/tmp/mysql.sock
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.7.37 \-DMYSQL_DATADIR=/usr/local/mysql-5.7.37/data \-DMYSQL_UNIX_ADDR=/usr/local/mysql-5.7.37/tmp/mysql.sock \-DDOWNLOAD_BOOST=1 \-DWITH_BOOST=/usr/local/boost_1_59_0 \-DDEFAULT_CHARSET=utf8 \-DDEFAULT_COLLATION=utf8_general_ci \-DWITH_EXTRA_CHARSETS=all \-DWITH_INNOBASE_STORAGE_ENGINE=1 \-DWITH_FEDERATED_STORAGE_ENGINE=1 \-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \-DWITH_ZLIB=bundled \-DWITH_SSL=system \-DENABLED_LOCAL_INFILE=1 \-DWITH_EMBEDDED_SERVER=1 \-DENABLE_DOWNLOADS=1 \-DWITH_DEBUG=0
make && make install
配置Mysql
1.初始化mysql
/usr/local/mysql/bin/mysqld --initialize --user=mysql--basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
初始密码 A temporary password is generated for root@localhost: T>qxtIjrX8ap
2.初始化3307、3308
/usr/local/mysql/bin/mysqld --no-defaults --initialize-insecure --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data3307 --user=mysql --explicit_defaults_for_timestamp
/usr/local/mysql/bin/mysqld --no-defaults --initialize-insecure --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data3308 --user=mysql --explicit_defaults_for_timestamp
3.将mysql命令加入环境变量
在/etc/profile最后加入环境变量命令,最后执行source /etc/profile,使得配置生效
export PATH=$PATH:/usr/local/mysql/bin
4.my.cnf 配置文件
[mysqld_multi]mysqld=/usr/local/mysql/bin/mysqld_safemysqladmin = /usr/local/mysql/bin/mysqladminuser=rootlog=/usr/local/mysql/mysql_multi.log[mysqld3307]basedir=/usr/local/mysqldatadir=/usr/local/mysql/data3307port=3307user=mysqlsocket=/tmp/mysql.sock3307server_id=3307log_bin=mysql-bin[mysqld3308]basedir=/usr/local/mysqldatadir=/usr/local/mysql/data3308port=3308user=mysqlsocket=/tmp/mysql.sock3308server_id=3308
执行和查看
killall mysqld [root@ff355ce173e3 mysql]# mysqld_multi start[root@ff355ce173e3 mysql]# mysqld_multi reportReporting MySQL serversMySQL server from group: mysqld3307 is runningMySQL server from group: mysqld3308 is running
登录3307
没有密码,直接回车就可以。
mysql -uroot -p -P3307 -h127.0.0.1
//查看端口mysql> show variables like "port";+---------------+-------+| Variable_name | Value |+---------------+-------+| port | 3307 |+---------------+-------+1 row in set (0.01 sec)//查看binlog日志功能是否开启mysql> show variables like "log_bin";+---------------+-------+| Variable_name | Value |+---------------+-------+| log_bin | ON |+---------------+-------+1 row in set (0.00 sec)//查看server_idmysql> show variables like "server_id";+---------------+-------+| Variable_name | Value |+---------------+-------+| server_id | 3307 |+---------------+-------+1 row in set (0.00 sec)
2.创建一个复制的用户,并赋予权限,首先要执行flush privileges,不然会报错。
flush privileges;create user "copy"@"%" identified by "copy";//配置权限grant replication slave on *.* to "copy"@"%";
3.查看主库的binlog位置
mysql> show master status;+------------------+----------+--------------+------------------+-------------------+| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |+------------------+----------+--------------+------------------+-------------------+| mysql-bin.000001 | 747 | | | |+------------------+----------+--------------+------------------+-------------------+1 row in set (0.00 sec)
登录3308 ,配置从库
CHANGE MASTER TOMASTER_HOST="127.0.0.1",MASTER_USER="copy",MASTER_PORT=3307,MASTER_PASSWORD="copy",MASTER_LOG_FILE="mysql-bin.000001",MASTER_LOG_POS=747;
//查看从数据库信息show slave status\G;//start slave;
标签:
精彩推送
新闻快讯
X 关闭
X 关闭
新闻快讯
- 杭州第19届亚运会火炬在湖州传递
- 美网决赛对阵出炉:阿尔卡拉斯无缘卫冕,德约梅总成功会师
- 尽显“中国风”!哪吒X内饰概念图解密
- 美媒:中国汽车大举占领世界市场
- 能源安全与煤炭产业高质量发展论坛在太原圆满召开
- 太燃啦!杭州亚运会火炬传递首日 现场精彩图集来袭(组图)
- 南京化纤: 公司第十一届董事会第三次会议决议更正公告(2023-035)
- 4199元 华硕ROG新款27寸显示器开售:纯白配色、4K 160Hz屏
- #荣耀申请灵动交互商标#
- 海南热带雨林国家公园尖峰岭片区将持续完善基础设施 开发打造五处精品景点
- 山西残疾运动员逐梦历程:披荆斩棘 向前“奔跑”
- 广西杭港材料科技有限公司项目计划9月底试生产
- 彻底引爆!华为Mate60 Pro+、X5突然开售,刚上线就被秒光!这些股涨疯了
- 上海数据交易所今年交易额有望突破10亿元
- 跳水退一步,安全进一步
- 新华指数|钢“财”说:“金九”首周库存延续去化,终端拿货意愿不及往年同期
- 永州市新华书店:全力以赴做好政治读物发行工作
- 央行下调金融机构外汇存款准备金率2个百分点
- 多等1分钟!司乘之间的双向奔赴
- 北汽蓝谷上半年减亏2.5亿:降本、场景化造车、与华为合作
- 一句话戳中法系车痛点:你为什么非得让消费者懂车?
- 中国将出台促进新能源汽车贸易合作等措施
- 新华全媒+丨MPV为何成为越来越多家庭出行“新宠”?
- 七旬老人走失 潼关民警六小时找回
- 广州海事局启动防热带气旋Ⅲ级响应防范“苏拉”
- “牛郎织女”牵出形象工程之丑
- 2023年芜湖引进高层次人才个人购房补贴多少钱?
- 20世茂04:刊登重要公告,连续停牌
- 华融化学:公司产品下游应用广泛,您提及的产品并不属于主要应用领域
- 最新半年报出炉 嘉实中证全指证券公司指数发起式A持仓曝光!加仓减仓这些股…
- 朱大兴任四川省审计厅厅长
- *ST佳沃8月31日快速上涨
- 专家认为:下一阶段消费扩大和升级仍有较大潜力
- 戴上王冠必然承担沉重的责任。遗憾的是她的一生都被爱情所困扰
- 改变声音的软件有哪些_改变声音的软件
- 南大生态智慧城价值起飞 保利发展赋能“北转型”崛起
- 科创板晚报|寒武纪上半年亏损5.45亿元 安集科技、南模生物披露股份回购计划
- 稳字当头:地产寒冬中万科保持财务稳健,经营性现金流连续14年为正
- 德邦科技今日20cm涨停 三机构净买入1.04亿元
- 浙商证券给予益生股份买入评级,益生股份点评报告:量价齐升业绩大增,看好周期继续上行
- 铁岭新城(000809)8月30日主力资金净买入160.76万元
- 双创指数连续大涨 科技股行情正式启动?丨就市论市
- qq上打字员兼职是真的吗(打字员兼职是真的吗)
- 1-7月全国社会物流总额189.9万亿元 社会物流需求基本平稳
- 昂达vx530le(昂达vx580r)
- 1.3万急招快递员 菜鸟上市前忙讲新故事
- 北向资金昨日净卖出6.8亿元,平安银行遭净卖出6.04亿元(名单)
- 电动自行车头盔新国标发布 安全守护头部第一
- 闪电快讯|东方甄选淘宝首播,直播间人数超10万
- 美媒预测目前最受期待的9支球队,2023-24赛季的战绩