mysql主从搭建方法
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,下文内容主要给大家带来mysql主从搭建方法,所讲到的知识,与书籍略有不同,都是专业技术人员在与用户接触过程中,总结出来的,具有一定的经验分享价值,希望给广大读者带来帮助。主库搭建好后:1、打包备份数
千家信息网最后更新 2026年11月01日mysql主从搭建方法
下文内容主要给大家带来mysql主从搭建方法,所讲到的知识,与书籍略有不同,都是专业技术人员在与用户接触过程中,总结出来的,具有一定的经验分享价值,希望给广大读者带来帮助。
主库搭建好后:
1、打包备份数据
(1)对数据库锁表只读
>flush table with read lock;
(2)默认情况下自动解锁的时间
>show variables like '%timeout%';
(3)锁表后查看主库状态
信息要记录在案,从库连接主库时需要用到
>show master status;
或
# mysql -uroot -p123456 -S/data/3306/mysql.sock -e "show master status"
(4)锁表后开新的窗口,数据量很大(50G以上),允许停机,停机打包
#mkdir -p /server/backup
(5)打包数据
#mysqldump -uroot -p123456 -S /data/3306/mysql.sock--events \-A -B|gzip >/server/backup/mysql_bak.$(date +%F).sql.gz
(6)解锁数据库
#unlock tables;
从库搭建
1、安装MySQL需要的依赖包和编译软件
(1)安装MySQL需要的依赖包
#yum install ncurses-devel libaio-devel -y
(2)安装编译MySQL需要的软件
#tar xf cmake-2.8.8.tar.gz
#cd cmake-2.8.8
#./configure
#gmake && gmake install
或者直接yum安装
#yum -y install cmake
2、开始安装MySQL数据库
(1)建立MySQL用户
#useradd -s /sbin/nologin -M mysql
(2)采用编译方式安装MySQL
#tar xf mysql-5.5.49.tar.gz
#cd mysql-5.5.49
#cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.5.49\-DMYSQL_DATADIR=/application/mysql-5.5.49/data \-DMYSQL_UNIX_ADDR=/application/mysql-5.5.49/tmp/mysql.sock\-DDEFAULT_CHARSET=utf8 \-DDEFAULT_COLLATION=utf8_general_ci \-DEXTRA_CHARSETS=gbk,gb2312,utf8,ascii \-DENABLED_LOCAL_INFILE=ON \-DWITH_INNOBASE_STORAGE_ENGINE=1 \-DWITH_FEDERATED_STORAGE_ENGINE=1 \-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \-DWITHOUT_PARTITION_STORAGE_ENGINE=1 \-DWITH_FAST_MUTEXES=1 \-DWITH_ZLIB=bundled \-DENABLED_LOCAL_INFILE=1 \-DWITH_READLINE=1 \-DWITH_EMBEDDED_SERVER=1 \-DWITH_DEBUG=0
#make && make install
#ln -s /application/mysql-5.5.49/ /application/mysql
(3)配置从库配置文件
#mkdir -p /data/3307/data
#vim /data/3307/my.cnf
[client]port = 3307socket = /data/3307/mysql.sock[mysql]no-auto-rehash[mysqld]user =mysqlport =3307socket =/data/3307/mysql.sockbasedir = /application/mysqldatadir = /data/3307/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 = 2k#default_table_type = InnoDBthread_stack = 192K#transaction_isolation = READ-COMMITTEDtmp_table_size = 2Mmax_heap_table_size = 2Mlong_query_time = 1#log_long_format#log-error = /data/3307/error.log#log-slow-queries = /data/3307/slow.logpid-file = /data/3307/mysql.pidlog-bin = /data/3307/mysql-binrelay-log = /data/3307/relay-binrelay-log-info-file = /data/3307/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 = 1M#myisam_sort_buffer_size = 1M#myisam_max_sort_file_size = 10G#myisam_max_extra_sort_file_size = 10G#myisam_repair_threads = 1#myisam_recoverlower_case_table_names = 1skip-name-resolveslave-skip-errors = 1032,1062replicate-ignore-db=mysqlserver-id = 3innodb_additional_mem_pool_size = 4Minnodb_buffer_pool_size = 32Minnodb_data_file_path = ibdata1:128M:autoextendinnodb_file_io_threads = 4innodb_thread_concurrency = 8innodb_flush_log_at_trx_commit = 2innodb_log_buffer_size = 2Minnodb_log_file_size = 4Minnodb_log_files_in_group = 3innodb_max_dirty_pages_pct = 90innodb_lock_wait_timeout = 120innodb_file_per_table = 0[mysqldump]quickmax_allowed_packet = 2M[mysqld_safe]log-error=/data/3307/mysql_3307.errpid-file=/data/3307/mysqld.pid
(4)配置从库启动文件
#vim /data/3307/mysql
#!/bin/sh################################################ #initport=3307mysql_user="root"mysql_pwd="123456"CmdPath="/application/mysql/bin"mysql_sock="/data/${port}/mysql.sock"#startup functionfunction_start_mysql(){ if [ ! -e"$mysql_sock" ];then printf "Starting MySQL...\n" /bin/sh${CmdPath}/mysqld_safe --defaults-file=/data/${port}/my.cnf 2>&1 >/dev/null & else printf "MySQL isrunning...\n" exit fi} #stop functionfunction_stop_mysql(){ if [ ! -e "$mysql_sock"];then printf "MySQL isstopped...\n" exit else printf "StopingMySQL...\n"${CmdPath}/mysqladmin-u ${mysql_user} -p${mysql_pwd} -S /data/${port}/mysql.sock shutdown fi} #restart functionfunction_restart_mysql(){ printf "RestartingMySQL...\n" function_stop_mysql sleep 2 function_start_mysql} case $1 instart) function_start_mysql;;stop) function_stop_mysql;;restart) function_restart_mysql;;*) printf "Usage:/data/${port}/mysql {start|stop|restart}\n"esac(5)修改文件权限
#chown -R mysql.mysql /data
#chmod 700 /data/3307/mysql
配置全局变量
#echo 'export PATH=/application/mysql/bin:$PATH'>>/etc/profile
#source /etc/profile
初始化数据库
#cd /application/mysql/scripts
#./mysql_install_db--basedir=/application/mysql --datadir=/data/3307/data --user=mysql
启动数据库
#/data/3307/mysql start
登录数据库
#mysql -S /data/3307/mysql.sock
设置登陆密码
#mysqladmin -u root -S /data/3307/mysql.sockpassword '123456'
#mysql -uroot -p -S /data/3307/mysql.sock
降权启动
#find /data -type f -name "mysql"|xargschmod 700
#find /data -type f -name "mysql" -execchown root.root {} \;设置开机自启
#echo "#mysql multi instances">>/etc/rc.local
#echo "/data/3307/mysql start">>/etc/rc.local
登录数据库
#mysql -uroot -p123456 -S /data/3307/mysql.sock
#show variables like 'server_id';
删除不需要的库
#select user,host from mysql.user;
#drop user 'root'@'::1';
#drop user ''@'db02';
#drop user 'root'@'db02';
#drop user ''@'localhost';
#flush privileges;
从库连接主库配置信息
登录从库执行
>CHANGE MASTER TO>MASTER_HOST='10.0.0.51', <==主库IP>MASTER_PORT=3306, <==主库端口号>MASTER_USER='rep', <==复制帐号>MASTER_PASSWORD='123456', <==rep用户的密码>MASTER_LOG_FILE='mysql-bin.000002',<==主库执行showmaster status;查看到的二进制日志文件名称>MASTER_LOG_POS=729; <==主库执行show master status;查看到的二进制日志偏移
启动从库复制开关
#mysql -uroot -p123456 -S /data/3307/mysql.sock -e"start slave;"
#mysql -uroot -p123456 -S /data/3307/mysql.sock -e"show slave status\G;"
Slave_IO_Running: YesSlave_SQL_Running: Yes
其中显示有上面两行内容表示主从以开始同步
将主库打包数据还原到从库
# gzip -dmysql_bak.2016-08-25.sql.gz
# mysql -uroot -p123456 -S/data/3307/mysql.sock对于以上关于mysql主从搭建方法,如果大家还有更多需要了解的可以持续关注我们的行业推新,如需获取专业解答,可在官网联系售前售后的,希望该文章可给大家带来一定的知识更新。
数据
数据库
配置
主从
文件
登录
编译
方法
专业
信息
内容
用户
知识
软件
不同
很大
下文
书籍
二进制
人员
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网高科技
华服互联网科技怎么样
互联网电商科技
互联网 科技创新
互联网科技金融公司
中国互联网科技发展
致骋互联网科技
安徽鑫晟辉互联网科技
互联网科技上市公司
互联网金融监管科技
太原新华互联网科技学校怎么样
上海电发互联网科技有限公司
江苏南京365互联网科技
花神(南京)互联网科技有限公司
青岛科技大学互联网大赛研究生
小米互联网科技园入驻
云南省自由互联网科技有限公司
东营紫格互联网科技
互联网科技新闻
武汉亿视互联网科技有限公司
手冲咖啡和咖啡机区别
互联网科技名片
云之行互联网科技
互联网为科技
互联网科技小贷
开一家科技互联网公司需要多少钱
电子科技大学互联网创业大赛
互联网科技圈年度人物
中国互联网有什么科技
众联互联网络科技