cw2030

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

MySQL安装与主从配置

本文仅为记录本人的安装过程

系统: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 for replication start.
server-id=131
relay-log = /work/mysql/binlog/relaylog
max_relay_log_size = 1G
relay_log_purge = 1
relay_log_recovery = 1
binlog_checksum = CRC32
slave_allow_batching = 1
master_verify_checksum = 1
binlog_rows_query_log_events = 1
master_info_repository = TABLE
relay_log_info_repository = TABLE
log_slave_updates
sync_binlog = 0

# config slave for 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

posted on 2018-01-26 09:16  cw2030  阅读(147)  评论(0)    收藏  举报