您的位置:首页 > 数据库 > MySQL

MySQL主从服务安装步骤

2015-11-12 14:49 573 查看
#MySQL主从服务安装步骤

[toc]

##安装MySQL
###安装epel源和remi源
###安装MySQL

yum install -y --enablerepo=remi  mysql-libs  mysql-devel  mysql  mysql-server

##创建MySQL服务所需的目录

mkdir -p /opt/data/mysql  &&  chown -R  mysql:mysql  /opt/data/mysql
mkdir -p /var/log/mysql && chown -R mysql.mysql /var/log/mysql

##将下列代码替换
/etc/my.cnf


[mysqld]
user					= mysql
bind-address			= 10.0.0.104	#监听IP
port					= 3306		#监听端口
character_set_server	= utf8		#默认字符集编码
max_connect_errors		= 100000
max_connections			= 500
server-id				= 1000
skip_name_resolve
datadir					= /opt/data/mysql
log-error 				= /var/log/mysql/mysql-error.log
socket					= /var/lib/mysql/mysql.sock
pid-file				= /var/run/mysqld/mysqld.pid
back_log				= 2000	#创建TCP连接时,允许的最大同时未完成的连接个数(主要适用于短连接场景)
binlog-format			= MIXED		#Binlog写入格式,共有ROW/STATEMENT/MIXED三种可选。一般使用MIXED
log-bin					= /opt/data/mysql/mysql-bin.log	#Binlog日志保存路径
expire_logs_days		= 3		#Binlog保留时间(单位:天)
max_binlog_size 		= 100M		#每个binlog日志大小
binlog_cache_size 		= 4M		#binlong缓存大小
max_binlog_cache_size 	= 512 	#最大binlog缓存大小
symbolic-links			= 0

##修改MySQL数据安装路径

mysql_install_db --user=mysql --datadir=/opt/data/mysql

这里的
--datadir
路径和
/etc/my.cnf
里参数
datadir
一致

##启动MySQL

service mysqld start

##创建新的授权帐号root

grant all on *.* to 'root'@'%' with grant option;
flush privileges;

###清理垃圾帐号

delete from mysql.user where user = '';
delete from mysql.user where host = '::1';
flush privileges;

##数据库主从配置
配置主从需要特注意一点,就是主库和从库配置文件里的参数
server-id
必须都保持唯一

主库server-id:



从库server-id:



###创建主从同步帐号

grant replication slave, replication client on *.* to  'replication'@'%' identified by '123456';

###导出主库

mysqldump -h10.0.0.104 -uroot -p --all-databases --master-data=2 --routines --events --quick> 10.0.0.104.sql


--master-data=2
表示需要记录导出数据当时主库的binlog位置

--routines
表示导出存储过程(可视实际库表决定是否使用)

--events
表示导出事件(可根据实际库表决定是否使用)

--quick
表示让服务端不将结果集一次发送,而是分批发送,可减轻压力
另外,加上
--master-data
后默认是锁库的,可确保数据一致性,即导出数据和
binlog
位置的一致。
对于Innodb引擎,可增加
--single-transaction
取消锁库并利用Innodb事务特性确保数据一致

###将导出的数据库导入到从库

mysql -uroot < 10.0.0.104.sql

###设置同步主库参数
登录到从库

CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000002', MASTER_LOG_POS=277, master_host='10.0.0.104', master_port=3306, master_user='replication', master_password='123456';

上面
MASTER_LOG_FILE
MASTER_LOG_POS
参数可以从导出主库的sql语句头部找到。



###检查slave同步的参数信息是否正确

show slave status;




###开始同步

start slave;

###检查同步是否正常

show slave status;




如果上图中
Slave_IO_Running
Slave_SQL_Running
两个参数状态都为Yes,则说明同步正常

另可通过监控工具来监控这两个参数状态是否都为YES,来判断从库是否同步正常
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql