电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

MySQL數據庫主從同步實戰過程詳解

瀏覽:6日期:2023-10-15 10:10:58

本文實例講述了MySQL數據庫主從同步實戰過程。分享給大家供大家參考,具體如下:

接上一篇:MySQL數據庫入門之備份數據庫

安裝環境說明

系統環境:

[root@~]# cat /etc/redhat-release CentOS release 6.5 (Final)[root@~]# uname -r2.6.32-431.el6.x86_64

數據庫:

由于是模擬環境,主從庫在同一臺服務器上,服務器IP地址192.168.1.7

主庫使用3306端口 從庫使用3307端口 數據庫數據目錄/data安裝MySQL數據庫服務

下載軟件包

今天我們是用二進制安裝包進行布署MySQL數據庫服務,其它方式的安裝布署方法請參考前面的文章

[root@~]#wget http://mirrors.sohu.com/mysql/MySQL-5.5/mysql-5.5.51-linux2.6-x86_64.tar.gz

創建數據目錄、軟件安裝目錄

[root@~]#mkdir /data{3306,3307} -p[root@~]#mkdri /application

解壓軟件

[root@~]#tar zxf mysql-5.5.51-linux2.6-x86_64.tar.gz [root@~]#mv mysql-5.5.51-linux2.6-x86_64 /application/mysql-5.5.51[root@~]#ln -s /application/mysql-5.5.51 /application/mysql

創建用戶

[root@~]#groupadd mysql[root@~]#useradd -g mysql -M mysql

初始化數據庫

[root@~]#/application/mysql/scripts/mysql_install_db --basedir=/application/mysql --datadir=/data/3306/data --user=mysql[root@~]#/application/mysql/scripts/mysql_install_db --basedir=/application/mysql --datadir=/data/3307/data --user=mysql

創建配置文件

[root@~]#vi /data/3306/my.cnf[client]port = 3306socket = /data/3306/mysql.sock[mysql]no-auto-rehash[mysqld]user = mysqlport = 3306socket = /data/3306/mysql.sockbasedir = /application/mysqldatadir = /data/3306/dataopen_files_limit = 1024back_log = 600max_connections = 800max_connect_errors = 3000table_cache = 614external-locking = FALSEmax_allowed_packet =8Msort_buffer_size = 1Mjoin_buffer_size = 1Mthread_cache_size = 100thread_concurrency = 2query_cache_size = 2Mquery_cache_limit = 1Mquery_cache_min_res_unit = 2kthread_stack = 192Ktmp_table_size = 2Mmax_heap_table_size = 2Mlong_query_time = 1pid-file = /data/3306/mysql.pidlog-bin = /data/3306/mysql-bin#主從同步的關鍵點,從庫上不需要開啟relay-log = /data/3306/relay-binrelay-log-info-file = /data/3306/relay-log.infobinlog_cache_size = 1Mmax_binlog_cache_size = 1Mmax_binlog_size = 2Mexpire_logs_days = 7key_buffer_size = 16Mread_buffer_size = 1Mread_rnd_buffer_size = 1Mbulk_insert_buffer_size = 1Mlower_case_table_names = 1skip-name-resolveslave-skip-errors = 1032,1062replicate-ignore-db=mysqlserver-id = 1 #主庫從庫ID 不可相同[mysqldump]quickmax_allowed_packet = 2M[mysqld_safe]log-error=/data/3306/mysql3306.errpid-file=/data/3306/mysqld.pid

數據庫啟動腳本:

[root@~]#vi /data/3306/mysql#!/bin/shport=3306user='root'pwd='123456'Path='/application/mysql/bin'sock='/data/${port}/mysql.sock'start_mysql(){ if [ ! -e '$sock' ];then printf 'Starting MySQL...n' /bin/sh ${Path}/mysqld_safe --defaults-file=/data/${port}/my.cnf 2>&1 > /dev/null & else printf 'MySQL is running...n' exit fi}stop_mysql(){ if [ ! -e '$sock' ];then printf 'MySQL is stopped...n' exit else printf 'Stoping MySQL...n' ${Path}/mysqladmin -u ${user} -p${pwd} -S /data/${port}/mysql.sock shutdown fi}restart_mysql(){ printf 'Restarting MySQL...n' stop_mysql sleep 2 start_mysql}case $1 instart) start_mysql;;stop) stop_mysql;;restart) restart_mysql;;*) printf 'Usage: /data/${port}/mysql {start|stop|restart}n'esac

備注:主從庫配置文件與啟動文件一樣,只需修改端口與server-id即可完成配置

授權目錄并增加啟動文件可執行權限

[root@~]#chown -R mysql.mysql /data[root@~]#find /data -name mysql -exex chmod +x {} ;

啟動數據庫

[root@~]#/data/3306/mysql start[root@~]#/data/3307/mysql start

修改默認數據庫密碼

[root@~]#mysqladmin -uroot password ’123456’ -S /data/3306/mysql.sock[root@~]#mysqladmin -uroot password ’123456’ -S /data/3307/mysql.sock

測試登陸,可以登陸兩個數據庫即可完成全部安裝過程

配置主庫

1)備份主庫

mkdir /backup

登陸主庫創建用步同戶并授權

[root@~]#mysql -uroot -p123456 -S /data/3306/mysql.sockmysql> grant replication slave on *.* to rep@’192.168.1.%’ identified by’123456’;Query OK, 0 rows affected (0.00 sec)mysql> flush privileges;Query OK, 0 rows affected (0.00 sec)

執行鎖表操作

[root@~]#/application/mysql/bin/mysql -uroot -p123456 -S /data/3306/mysql.sock -e 'flush table with read lock;'

備份主庫

[root@~]#/application/mysql/bin/mysql -uroot -p123456 -S /data/3306/mysql.sock -e 'show master status;' >/backup/mysql.log[root@~]#/application/mysql/bin/mysqldump -uroot -p123456 -S /data/3306/mysql.sock -A -B |gzip >/backup/mysql.sql.gz

解除鎖表狀態

[root@~]#/application/mysql/bin/mysql -uroot -p123456 -S /data/3306/mysql.sock -e 'unlock tables;'

備注:以上操作也可以登陸主庫進行,但是需要注意的是,執行鎖表操作后,需要另開啟一個窗口進行數據備份,不可直接退出,防止有數據寫入導致備份的數據不完整。最好是使用非交互式操作。

配置從庫實現主從同步

將主庫的備份文件解壓并恢復數據庫

[root@backup ]#gzip -d mysql.sql.gz[root@backup ]#/application/mysql/bin/mysql -uroot -p123456 -S /data/3307/mysql.sock < mysql.sql

查看LOG日志

[root@backup ]#cat mysql.log+------------------+----------+--------------+------------------+| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |+------------------+----------+--------------+------------------+| mysql-bin.000002 | 424 | | |+------------------+----------+--------------+------------------+

登陸從庫執行下面的操作

mysql> CHANGE MASTER TO -> MASTER_HOST=’192.168.1.7’, #服務器IP -> MASTER_PORT=3306, #主庫端口 -> MASTER_USER=’rep’, #同步的用戶 -> MASTER_PASSWORD=’123456’, #同步的用戶密碼 -> MASTER_LOG_FILE=’ mysql-bin.000002’, #binlog文件 -> MASTER_LOG_POS=424; #位置點mysql> start slave; #開啟同步

等待60S后查看同步狀態

[root@backup ]# mysql -S /data/3307/mysql.sock -e 'show slave statusG'|egrep 'Seconds_Behind_Master|_Running' Slave_IO_Running: Yes Slave_SQL_Running: Yes Seconds_Behind_Master: 0

只要出現上述情況說明主從同步成功

測試主從同步

主庫創建一個數據庫

[root@backup ~]# mysql -S /data/3306/mysql.sock -e 'create database tongbuku'[root@backup ~]# mysql -S /data/3306/mysql.sock -e 'show databases'+-----------------------------+| Database |+-----------------------------+| information_schema || mysql || performance_schema || test || tongbuku |+-----------------------------+

查看從庫同步情況

[root@backup ~]# mysql -S /data/3307/mysql.sock -e 'show databases'+-----------------------------+| Database |+-----------------------------+| information_schema || mysql || performance_schema || test || tongbuku |+-----------------------------+

表明主從同步狀態正常,也可以在主庫新的數據表中創建表,再插入新的數據來測試主從同步狀態

更多關于MySQL相關內容感興趣的讀者可查看本站專題:《MySQL查詢技巧大全》、《MySQL常用函數大匯總》、《MySQL日志操作技巧大全》、《MySQL事務操作技巧匯總》、《MySQL存儲過程技巧大全》及《MySQL數據庫鎖相關技巧匯總》

希望本文所述對大家MySQL數據庫計有所幫助。

標簽: MySQL 數據庫
相關文章:
主站蜘蛛池模板: 粘度计,数显粘度计,指针旋转粘度计 | 氟氨基酮、氯硝柳胺、2-氟苯甲酸、异香兰素-新晨化工 | 出国劳务公司_正规派遣公司[严海]| H型钢切割机,相贯线切割机,数控钻床,数控平面钻,钢结构设备,槽钢切割机,角钢切割机,翻转机,拼焊矫一体机 | 液晶拼接屏厂家_拼接屏品牌_拼接屏价格_监控大屏—北京维康 | 悬浮拼装地板_篮球场木地板翻新_运动木地板价格-上海越禾运动地板厂家 | 连续密炼机_双转子连续密炼机_连续式密炼机-南京永睿机械制造有限公司 | 翰墨AI智能写作助手官网_人工智能问答在线AI写作免费一键生成 | 钢衬四氟管道_钢衬四氟直管_聚四氟乙烯衬里管件_聚四氟乙烯衬里管道-沧州汇霖管道科技有限公司 | 全温恒温摇床-水浴气浴恒温摇床-光照恒温培养摇床-常州金坛精达仪器制造有限公司 | 废旧物资回收公司_广州废旧设备回收_报废设备物资回收-益美工厂设备回收公司 | 点胶机_点胶阀_自动点胶机_智能点胶机_喷胶机_点胶机厂家【欧力克斯】 | 食品质构分析仪-氧化诱导分析仪-瞬态法导热系数仪|热冰百科 | 深圳货架厂_仓库货架公司_重型仓储货架_线棒货架批发-深圳市诺普泰仓储设备有限公司 | 周口风机|周风风机|河南省周口通用风机厂 | 窖井盖锯圆机_锯圆机金刚石锯片-无锡茂达金刚石有限公司 | 专业生产动态配料系统_饲料配料系统_化肥配料系统等配料系统-郑州鑫晟重工机械有限公司 | 线材成型机,线材折弯机,线材成型机厂家,贝朗自动化设备有限公司1 | 天坛家具官网| 运动木地板厂家,篮球场木地板品牌,体育场馆木地板安装 - 欧氏运动地板 | 飞飞影视_热门电影在线观看_影视大全| 齿轮减速机_齿轮减速电机-VEMT蜗轮蜗杆减速机马达生产厂家瓦玛特传动瑞环机电 | 企业彩铃制作_移动、联通、电信集团彩铃上传开通_彩铃定制_商务彩铃管理平台-集团彩铃网 | 反渗透水处理设备|工业零排放|水厂设备|软化水设备|海南净水设备--海南水处理设备厂家 | 远程会诊系统-手术示教系统【林之硕】医院远程医疗平台 | 根系分析仪,大米外观品质检测仪,考种仪,藻类鉴定计数仪,叶面积仪,菌落计数仪,抑菌圈测量仪,抗生素效价测定仪,植物表型仪,冠层分析仪-杭州万深检测仪器网 | 智能家居全屋智能系统多少钱一套-小米全套价格、装修方案 | 健康管理师报名入口,2025年健康管理师考试时间信息网-网站首页 塑料造粒机「厂家直销」-莱州鑫瑞迪机械有限公司 | 北京网站建设|北京网站开发|北京网站设计|高端做网站公司 | 宿松新闻网 宿松网|宿松在线|宿松门户|安徽宿松(直管县)|宿松新闻综合网站|宿松官方新闻发布 | 北京宣传片拍摄_产品宣传片拍摄_宣传片制作公司-现像传媒 | 影视模板素材_原创专业影视实拍视频素材-8k像素素材网 | 铝扣板-铝方通-铝格栅-铝条扣板-铝单板幕墙-佳得利吊顶天花厂家 elisa试剂盒价格-酶联免疫试剂盒-猪elisa试剂盒-上海恒远生物科技有限公司 | 杭州ROHS检测仪-XRF测试仪价格-百科 | 浙江红酒库-冰雕库-气调库-茶叶库安装-医药疫苗冷库-食品物流恒温恒湿车间-杭州领顺实业有限公司 | 西点培训学校_法式西点培训班_西点师培训_西点蛋糕培训-广州烘趣西点烘焙培训学院 | 安徽控制器-合肥船用空调控制器-合肥家电控制器-合肥迅驰电子厂 安徽净化板_合肥岩棉板厂家_玻镁板厂家_安徽科艺美洁净科技有限公司 | 扬子叉车厂家_升降平台_电动搬运车|堆高车-扬子仓储叉车官网 | 水环真空泵厂家,2bv真空泵,2be真空泵-淄博真空设备厂 | 万烁建筑设计院-建筑设计公司加盟,设计院加盟分公司,市政设计加盟 | 细石混凝土泵_厂家_价格-烟台九达机械有限公司 |