MySQL主从服务安装步骤
2015-11-12 14:49
573 查看
#MySQL主从服务安装步骤
[toc]
##安装MySQL
###安装epel源和remi源
###安装MySQL
##创建MySQL服务所需的目录
##将下列代码替换
##修改MySQL数据安装路径
这里的
##启动MySQL
##创建新的授权帐号root
###清理垃圾帐号
##数据库主从配置
配置主从需要特注意一点,就是主库和从库配置文件里的参数
主库server-id:
从库server-id:
###创建主从同步帐号
###导出主库
另外,加上
对于Innodb引擎,可增加
###将导出的数据库导入到从库
###设置同步主库参数
登录到从库
上面
###检查slave同步的参数信息是否正确
###开始同步
###检查同步是否正常
如果上图中
另可通过监控工具来监控这两个参数状态是否都为YES,来判断从库是否同步正常
[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中的integer 数据类型
- MySQL存储过程
- mysql中int、bigint、smallint 和 tinyint的区别与长度
- mysql load data 导出、导入 csv
- source命令执行SQL脚本文件
- MySQL创建用户及权限控制
- MySQL管理数据表
- linux下mysql添加用户
- mysql procedure
- mysql触发器
- MySQL 备份和恢复策略
- mac下安装mysql(转载)
- mysql 修改编码 Linux/Mac/Unix/通用(杜绝修改后无法启动的情况!)
- MySQL数据的导出、导入(mysql内部命令:mysqldump、mysql)
- mysql数据行转列
- Linux下修改MySQL编码的方法
- MySQL Server 日志
- MySQL 安全事宜
- MySQL 备份与恢复