Linux下搭建mysql主从服务器方法

Linux下搭建mysql主从服务器方法

1.设置数据库同步

主数据库M1: 192.168.1.106

从数据库M2: 192.168.1.107

Linux下搭建mysql主从服务器方法

安装mysql,主数据库M1和M2都操作,可参考:https://www.funet8.com/2292.html

2.操作安装相同版本的MariaDB。 这里我使用yum安装
1) master:
rpm –import http://yum.mariadb.org/RPM-GPG-KEY-MariaDB

echo ‘# MariaDB 10.0 CentOS repository list – created 2014-03-15 08:00 UTC
# http://mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.0/centos6-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1′>>/etc/yum.repos.d/MariaDB.repo

yum clean all

#Installing MariaDB with YUM#######################################
#yum -y install MariaDB-server MariaDB-client

#加入启动项#################################################
#chkconfig –levels 235 mysql on

#start MariaDB################################################
#/etc/init.d/mysql start

#设置mysql密码及相关设置########################################
mysql_secure_installation

#移动mysql配置文件
cp -p /etc/my.cnf /etc/my.cnf.bak
mv /etc/my.cnf /data/conf/
ln -s /data/conf/my.cnf /etc/

#移动mysql数据库
cp -rp /var/lib/mysql /var/lib/mysql-bak
mv /var/lib/mysql /data/
ln -s /data/mysql /var/lib/

# 添加防火墙规则
/sbin/iptables -I INPUT -p tcp –dport 3306 -j ACCEPT
/etc/rc.d/init.d/iptables save
/etc/init.d/iptables restart

2) 从数据库M2服务器执行同样的操作。

备份其他服务器上的的数据库(锁表备份,并且记录偏移量):
#mysqldump -hlocalhost -uroot -p’密码’ –default-character-set=utf8  –all-databases –lock-all-tables –master-data=1 >  /root/master20151016.sql
查看偏移量:
#head -n30 master20151016.sql
记录偏移量,用作数据库同步用:
CHANGE MASTER TO MASTER_LOG_FILE=’mysql-bin.000024′, MASTER_LOG_POS=60887976;
文件打包,下载到本地,然后再上传到主数据库M1。

主数据库M1上操作。

1.导入线上的数据库
mysql -u root -p  < /root/master20151016.sql

2.新建同步用户yxkj_slave2。
用户名:yxkj_slave2
密码:123456
#mysql -u root -p
输入密码,之后操作:
MariaDB [(none)]> CREATE USER ‘yxkj_slave2’@’192.168.1.%’ IDENTIFIED BY ‘123456’;    【创建用户和密码】
MariaDB [(none)]> GRANT REPLICATION SLAVE , REPLICATION CLIENT ON * . * TO ‘yxkj_slave2’@’192.168.1.%’ IDENTIFIED BY ‘123456’ WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;        【给改用户的权限】
MariaDB [(none)]> flush PRIVILEGES;    【刷新权限】

添加一个远程登录root_login用户:
MariaDB [(none)]> CREATE USER ‘root_login’@’%’ IDENTIFIED BY ‘123456’;
MariaDB [(none)]> GRANT all privileges ON * . * TO ‘root_login’@’%’ IDENTIFIED BY ‘123456’;
MariaDB [(none)]> flush privileges;

3.修改mysql的配置文件:
vi /data/conf/my.cnf

写入一下配置:

port=61920
socket		= /var/lib/mysql/mysql.sock
skip-name-resolve
expire_logs_days=10
slow-query-log=1
slow-query-log-file=/data/wwwroot/log/mysql/slowQuery.log
long-query-time=1
log-slow-admin-statements
skip-external-locking
key_buffer_size = 100M
max_allowed_packet = 1M
table_open_cache = 1024
sort_buffer_size = 2M
read_buffer_size = 2M
read_rnd_buffer_size = 8M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size = 32M
thread_concurrency = 2
log-bin=mysql-bin
server-id	= 1
# 需要记录二进制日志的数据库
#binlog-do-db=ucenter
#binlog-do-db=dz
binlog-do-db = funet8_com
binlog-do-db = xiaotux_com
binlog-do-db = test
# 不需要记录二进制日志的数据库
#binlog-ignore-db=test
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
binlog-ignore-db=performance_schema
# 需要同步的数据库
#replicate-do-db=ucenter
#replicate-do-db=dz
replicate-do-db=funet8_com
replicate-do-db=xiaotux_com
replicate-do-db=test
# 忽略同步的数据库
replicate-ignore-db=mysql
replicate-ignore-db=information_schema
replicate-ignore-db=performance_schema 

从数据库M2操作

#vi /data/conf/my.cnf
配置跟M1一样,只是
从数据库中改为:server-id    = 100 

[root@localhost ~]# mysql -u root -p
MariaDB [(none)]> stop slave;
MariaDB [(none)]> change master to master_host=’192.168.1.106′,master_user=’yxkj_slave2′,master_password=’123456′,master_port=61920,master_log_file=’mysql-bin.000003′,master_log_pos=326;    【需要修改漂移量】
MariaDB [(none)]> start slave;
MariaDB [(none)]> show slave statusG;

Linux下搭建mysql主从服务器方法

提示:Slave_IO_Running: Yes和Slave_SQL_Running: Yes 说明同步成功,再在phpmyadmin修改一条数据,看是否匹配

评论

  1. 8年前
    2015-12-03 2:52:09

    大家顶啊,这么好的文章,博主辛苦了

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇