欢迎投稿

今日深度:

mysql双机热备的配置步骤,mysql双机热备步骤

mysql双机热备的配置步骤,mysql双机热备步骤


设置双机热备:

首先要在两台机器上建立同步用户:

grant replication slave on *.* to 'repdcs'@'192.168.21.39' identified by '123456';   
grant all privileges on *.* to 'repdcs'@'192.168.21.39  identified by '123456';
FLUSH PRIVILEGES;
grant replication slave on *.* to 'repdcs'@'192.168.21.106' identified by '123456';   
grant all privileges on *.* to 'repdcs'@'192.168.21.106 identified by '123456';
FLUSH PRIVILEGES;

库1
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
port=3306
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
lower_case_table_names=1
default-character-set=utf8
default-storage-engine=innodb
max_connect_errors = 100000
innodb_buffer_pool_size= 8G
max_connections = 500
default-character-set=utf8
 
server-id=2
#log-bin=mysqlbin
innodb_flush_log_at_trx_commit=1
sync_binlog=1
init_connect='SET NAMES utf8'
log-bin=mysqlbin
master-host=192.168.21.39
master-user=repdcs
master-pass=123456
master-connect-retry=60
replicate-do-db=dcs

master-port=3306
slave-net-timeout=60
库2
[mysqld]
#datadir=/var/lib/mysql
datadir=/home/data/mysql
#socket=/var/lib/mysql/mysql.sock
socket=/home/data/mysql/mysql.sock
user=mysql
port=3306
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
default-character-set=utf8
init_connect = 'SET NAMES utf8'
# Disabling symbolic-links is recommended to prevent assorted security risks;
# to do so, uncomment this line:
# symbolic-links=0
server-id=1
log-bin=mysqlbin
innodb_flush_log_at_trx_commit=1
sync_binlog=1
init_connect='SET NAMES utf8'
log-bin=mysqlbin
master-host=192.168.21.106
master-user=repdcs
master-pass=123456
master-connect-retry=60
replicate-do-db=dcs
master-port=3306

slave-net-timeout=60
#replicate-do-db=dcs
back_log = 512
key_buffer_size = 8M
max_allowed_packet = 4M
sort_buffer_size = 6M
read_buffer_size = 4M
join_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache_size = 64
query_cache_size = 0M
tmp_table_size = 96M
max_connections = 500
table_cache= 1024
innodb_additional_mem_pool_size= 16M
innodb_log_buffer_size= 64M
read_rnd_buffer_size= 16M
innodb_buffer_pool_size= 1G
innodb_log_file_size = 256M
max_heap_table_size = 96M
innodb_data_file_path = ibdata1:200M:autoextend
default-storage-engine=innodb
max_connect_errors = 100000
long_query_time = 1
 
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
 
[client]
default-character-set=utf8

标红的话主要两台机器的不同部分。

重启如果出问题
show slave status \G
Last_Error: Error 'Can't create database 'dcs'; database exists' on query. Default database: 'dcs'. Query: 'cr
查询从库发现需要建立的数据库已经存在,所以可以跳过这个建库的命令.
使用set global sql_slave_skip_counter=1;
start slave sql_thread;
flush privileges

server-id=n //设置数据库id默认主服务器是1可以随便设置但是如果有多台从服务器则不能重复。
master-host=192.168.21.39 //主服务器的IP地址或者域名
master-port=3306 //主数据库的端口号
master-user=repdcs //同步数据库的用户
master-password=123456 //同步数据库的密码
master-connect-retry=60 //如果从服务器发现主服务器断掉,重新连接的时间差

report-host=db-slave.mycompany.com //报告错误的服务器



然后重启两个机器的数据库,基本就没问题了,大致步骤给主从差不多,可以参考我的博客 mysql主从的参数配置与步骤



怎实现双机内容同步显示

在linux服务器lvs负载均衡、双机热备应用中经常用到mysql双机热备,安装和配置过程如下:

一、 安装MYSQL

# cp mysql-standard-4.1.9-pc-linux-gnu-i686.tar.gz /usr/local/

# tar zxvf mysql-standard-4.1.9-pc-linux-gnu-i686.tar.gz

# mv mysql-standard-4.1.9-pc-linux-gnu-i686 mysql

# cd mysql

# more INSTALL-BINARY

查看安装文档,注意以红色框内为主。

# groupadd mysql (建立mysql组)

# useradd -g mysql mysql (建立mysql用户并将其用户加入该组)

# scripts/mysql_install_db --user=mysql (以mysql用户身份执行数据库初始化安装脚本)

# chown -R root . (归属root权限为当前目录)

# chown -R mysql data (归属mysql权限为data目录)

# chgrp -R mysql . (改变mysql档案/目录的使用者与群组拥有人为当前目录)

# bin/mysqld_safe --user=mysql & (以mysql用户身份后台启动mysql数据库进程)

之后我们就可以启动mysql数据库,如图:

显示为上述图,表示安装正确。

为了使数据库更加安全,我们来设置数据库密码。

如在下次启动服务器时能自动启动mysql数据库进程,我们还需写入/etc/rc.d/rc.local文件里
echo “/usr/local/mysql/bin/mysqld_safe --user=mysql &” >;>; /etc/rc.d/rc.local
  

二、配置MYSQL双机热备

传统模式都是采用mysql双机互备,至于双机热备我搜索了大量的精华帖子都没有发现安装配置文档。故我的一个想法产生了:当建立新的数据库时,默认会建立到/usr/local/mysql/data这里,如果能改掉默认配置文件my.conf,建立数据库能指定在一个目录上,如我建立在盘柜上,这样就能实现双机热备功能。

最起初困惑我的是如何更改配置文件my.conf,我咨询了很多朋友,但都没能成功。后听yddll朋友一席言,“把阵列的文件系统挂在/usr/local/mysql/data下”,顿时茅塞顿开,使我如拨云雾而见青天。原理都清楚了,下面开始实施。

# fdisk /dev/sdb

# reboot

# mkfs.ext3 /dev/sdb1(把阵列格式成ext3格式)

# 我们首先把/usr/local/mysql/data/目录下的所有文件拷贝到另一个目录,我这里自创建了一个。

# mkdir –p /bak/mysql_data

# cd /usr/local/mysql/data/

# cp –a * /bak/mysql_data

# 之......余下全文>>
 

mysql 双机热备的问题

简单做法,在从机上运行
mysql > show slave status\G;
上面有两个状态 ,如果都为True则说明同步是正常的,按你情况来看,应该不会都为True
同样,这时能看到一些错误信息。
查看mysql的error log也是不错的选择,一般在mysql data目录

可以尝试
mysql > start slave;
这句是开启slave同步。
 

www.htsjk.Com true http://www.htsjk.com/shujukunews/4191.html NewsArticle mysql双机热备的配置步骤,mysql双机热备步骤 设置双机热备: 首先要在两台机器上建立同步用户: grant replication slave on *.* to 'repdcs'@'192.168.21.39' identified by '123456'; grant all privileges on *.*...
评论暂时关闭