本文仅为记录本人的安装过程
系统:centos7.4
MYSQL:5.7.21
一、设置系统环境
1、关掉服务器(主备两台)的selinux
vim /etc/selinux/config
将其中的SELINUX的值,修改为:disabled,如:
2、关闭防火墙
主备两台都要关闭
systemctl stop firewalld.service
systemctl disable firewalld.service
二、安装mysql
如果是可以联网的话,可以通过在线安装,没有联网的,可以下载rpm的集合包来安装,以下以在线方式安装
(1)下载mysql的安装仓库并安装:
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
rpm -ivh mysql57-community-release-el7-11.noarch.rpm
(2)安装mysql
yum -y install mysql-server
三、修改配置文件:、/etc/my.conf
内容如下:
[client]
port = 3306
socket = /work/mysql/mysql.sock
[mysqld]
datadir=/work/mysql
socket=/work/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
log-error=/work/mysql/mysqld.log
pid-file=/work/mysql/mysqld.pid
# config master for replication start.
log-bin = /work/mysql/binlog/mysql-bin.log
server-id = 128
binlog_format = ROW
binlog-row-image = FULL
binlog_cache_size = 4M
max_binlog_size = 1G
max_binlog_cache_size = 2G
sync_binlog = 0
slave-skip-errors = 1062
expire_logs_days = 3
slave_parallel_workers = 4
# config master for replication end.
将绝色部分替换成你自己的数据目录 即可。
配置最后一段是主从数据中主数据的配置,server-id是用来标识唯一性的,最好直接取当前主机ip的最后几个位数字,这样可以避免server-id重复。
备库的配置如下:
# config slave forreplication start.
server-id=131relay-log = /work/mysql/binlog/relaylog
max_relay_log_size=1G
relay_log_purge= 1relay_log_recovery= 1binlog_checksum=CRC32
slave_allow_batching= 1master_verify_checksum= 1binlog_rows_query_log_events= 1master_info_repository=TABLE
relay_log_info_repository=TABLE
log_slave_updates
sync_binlog= 0# config slavefor replication end.
其它配置同主库一样,也可以自己去调整,通常备库主要用来读,不会去写数据。
四、初始化数据库
mysqld --initialize --datadir=/work/program/mysql --user=mysql
主备数据库都需要先初始化数据库。
datadir是我自己mysql数据库将要放置的目录,你也可以修改自己的目录。
初始化完成后,会在mysql的日志文件中输出一个临时密码,日志大致是这个样子:
[Note] A temporary password is generated for root@localhost: o:uEY62ecdc*
这个密码要记住,第六步需要登录使用,然后修改为自己的密码
五、启动mysql
systemctl start mysqld.service
六、修改mysql默认密码
执行命令如下
mysql -uroot -p//回车后会提示输入密码,然第四步中的密码粘贴过来,然后回车即可
mysql>set password=password('your password');
mysql>quit;//然后用新密码登录即可
在master的服务器上增加一个用于备机同步的数据库用户
GRANT REPLICATION SLAVE ON *.* to 'rep1'@'10.0.30.114' identified by 'rep1';
10.0.30.114是备机的ip地址。增加了同步用户rep1,密码为rep1。
七、设置slave同步参数
(1)查看master的状态
show master status;
mysql> show master status;
+------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000005 | 11958906 | | | |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)
mysql>
上面显示当前bin-log的名字为mysql-bin.000005,当前bindlog的位置position是:11958906
(2)设置slave
mysql>change master to-> master_host='10.0.30.81',-> master_user='rep1',-> master_password='rep1',-> master_port=3306,-> master_log_file='mysql-bin.000005',-> master_log_pos=11958906,-> master_connect_retry=10;
mysql>start slave;
mysql>set global read_only=1;
设置master的信息,并设置slave为read_only的状态
(3)查看slave的状态
八、一个服务版本my.conf配置
这个版本的配置主要是针对配置8G内存的优化方案,仅供参考
https://files.cnblogs.com/files/cw2030/mysql-master-slve.zip