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;
标签:
相关文章
Mysql高可用高性能存储应用系列3 - mysqld_multi配置主从集群|每日信息
主从复制要解决的问题,1)写操作锁表,影响读操作,影响业务。2)数据库备份。3)随着数据增加,I O操作增多,单机出现瓶颈。
一 base 单例模式, app 函数模板-天天新消息
单例模式GUI框架(如QT,GTKMM)都为单线程处理模式。(为何不是多线程,详见网络文章《多线程GUI工具包:无法实现的梦想?(翻译)》https:
环球观点:大话外传新篇二星装大全_大话外传新篇
1、每次更新烧钱更厉害了。2、而且本身的受众就是大话2转过来的。3、而大话2的投资明显要低很多。以上就是【大话外传新篇二
ECOBAMBOO 让可持续成为一种时尚|世界观点
3月29日,由天竹联盟和中国化学纤维工业协会联合举办的“ECOBAMBOO让可持续成为一种时尚”在上海国家会展中心8 2号馆召开。中国化学纤维工业协
3月31日佛慈制药涨停分析:中药,禽流感,医药概念热股 环球新动态
佛慈制药涨停收盘,收盘价11 31元。该股于10点28分涨停,未打开涨停,截止收盘封单资金为4101 23万元,占其流通市值0 71%。
全球热消息:视频二维码生成器官网_视频二维码生成器
1、使用二维码生成器就可以把视频生成二维码,把视频上传到生成器,就可以转化为二维码,手机扫码即可点击播放视频,把视频生成
从孔乙己脱不脱长衫看文化影响
孔乙己很早就是一个文化符号,现在长衫也变成了一个文化符号。最近不少人用孔乙己不脱长衫来形容大学生放不下架子,不愿意从事接地气的劳动。
每日精选:我国今年以来最大范围强雨雪明天开始!
此次冷空气过程中北方风力大、降温剧烈,需做好农业设施和户外搭建物的防风加固保暖工作,公众要关注气温变化及时调整着装,外出需注意远离临
全国最新平均月薪是10101元?工资是不是又被平均了?真相来了
今天又有一个话题上了热搜,那就是“最新!全国平均月薪出炉”,很多人是只看月薪数字10101元。这样的工资水平真的已经超过了很多人的想象...
观速讯丨半导体的春天何时来?韩国2月芯片减产幅度为金融危机以来最大
智通财经APP获悉,韩国芯片制造商2月减产幅度为2008年以来最大,这一迹象表明,半导体需求下滑的程度和持续时间可能比人
公务员招录部分岗位放宽年龄,年轻人机会少了吗?
今年2月25日,20余省份举行2023年公务员招录的笔试,近期各地陆续公布了笔试成绩。梳理多地省考招录公告可见,一些省份将部分岗位或部分人群的
徐家楼社区开展“幸福家园 携手共建”主题共建日_今热点
泰安日报社·中华泰山网讯近日,泰山区徐家楼街道开展“幸福家园携手共建”主题共建日,徐家楼社区积极响应,在辖区回迁小区小广场设立分会...
拓新药业于三亚新设子公司 含生物农药技术研发业务|世界快报
证券时报e公司讯,企查查APP显示,近日,拓新药业(三亚)有限公司成立,注册资本5000万元,经营范围包含:生物化工产品技术研发;工业酶制剂研
全国交通建设产业百名劳模工匠进一线宣讲活动在鄂启动 每日热门
原标题:全国交通建设产业百名劳模工匠进一线宣讲活动在鄂启动中工网讯(工人日报-中工网记者张翀郝赫)3月29日,中国海员建设工会联合全国总
环球关注:powermanagementsetup什么意思_powermanagement
1、全称应该是:AdvancedPowerManagement,中文名称高级电源管理,目前最新的APM标准是1 2,它是一种基于BIOS的系统电源管理方案,
记者:赖斯不是拜仁的转会目标,双方并未接触过
记者:赖斯不是拜仁的转会目标,双方并未接触过,拜仁,莱默尔,西汉姆,科瓦契奇,天空体育,柏·赖斯,足球竞赛,英国足球,英格兰足球
天天关注:荣耀新旗舰Magic5与Magic5 Pro各方面参数对比图,你会买哪款
废话不多说,直接上图,以下是荣耀Magic5与Magic5Pro各方面详细配置参数对比图,看官还请点下关注,其他机型参数图会持续奉上。看官想看什么机
新华全媒+|激发新活力 开辟新空间——博鳌亚洲论坛把脉数字经济发展
新华社海南博鳌3月29日电题:激发新活力开辟新空间——博鳌亚洲论坛把脉数字经济发展新华社记者魏玉坤、王存福在车外通过
世界播报:图解亚普股份年报:第四季度单季净利润同比增181.15%
亚普股份2022年报显示,公司主营收入84 43亿元,同比上升4 79%;归母净利润5 01亿元,同比上升0 5%;扣非净利润5 06亿元,同比上升21 32%;其
时讯:丹寨县排调镇:擦亮基层党员“五个带头”行动党建品牌 激活基层党组织“红色功能”
近年来,丹寨县排调镇党委坚持以强化党建示范引领为着力点,通过基层党员“五个带头”行动擦亮党建品牌,不断提升自身建设,有力
今日看点:中国海军第42批护航编队凯旋
3月30日上午,海军第42批护航编队圆满完成亚丁湾、索马里海域护航任务,顺利返回青岛某军港。 上午9时,第42批护航编队淮南舰、日照舰、可
智慧芽新药情报库获阶段性成果 继续发挥数据与AI技术优势
3月30日,智慧芽新药情报库上线一周年,吸引超11万人注册使用,服务超过3500家机构,数据覆盖7 1万+全球新药,同步收录4 4万+靶点、36万+药研
每日信息:以闪亮之名变装物语活动攻略分享
以闪亮之名变装物语是游戏上线的第一个活动,合伙人可以使用其他合伙人的形象和衣橱进行自由搭配,获得积分、兑换奖励。下面是以闪亮之名变装
全球热门:身份证号换算年龄函数(身份证号换算年龄公式)
1、计算公式为:=DATEDIF(TEXT(19*(LEN(A1)=15)&MID(A1,7,(LEN(A1)=18)*2+6), "0000-00-00 "),T