mysql主从搭建方法
发表于:2025-01-22 作者:千家信息网编辑
千家信息网最后更新 2025年01月22日,下文内容主要给大家带来mysql主从搭建方法,所讲到的知识,与书籍略有不同,都是专业技术人员在与用户接触过程中,总结出来的,具有一定的经验分享价值,希望给广大读者带来帮助。主库搭建好后:1、打包备份数
千家信息网最后更新 2025年01月22日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安全错误
数据库的锁怎样保障安全
windows服务器分配账号
网络安全模型的基本要求
查询数据库端口号
邯郸项目软件开发哪里好
数据库mysql规范
衡水微信软件开发哪家好
mac系统 软件开发
成都企业软件开发哪家可靠
使用数据库评课
网络安全技能大赛中职
水木社区服务器
windows内部数据库
网络安全技术 教学档案
淮北矿业集团网络安全培训
上有服务器异常
数据库暂估方式
万户网络技术销售怎么样
云服务器 购买吗
华为网络技术之bgp配置
amz全球智慧数据库
绝地求生自定义服务器怎么打开
网络安全大赛和射击手游的融合
惠山区委网络安全和信息化
软件开发是实现什么理念
美国服务器怎么设置安全
网络技术专科大一要学的科目
在网上学习网络技术
微信第三方平台的服务器
vue 服务器端渲染
支付网络技术有限公司是干嘛的