mysql双主搭建

  1. 关闭防火墙和selinux
systemctl stop firewalld
systemctl disabled firewalld
sed -i 's/^SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config
cat /etc/selinux/config >> ${tmplog_dir}/base.log 2>&1
setenforce 0
getenforce
  1. 安装gcc
yum -y install centos-release-scl
sudo yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash
  1. 下载mysql压缩包,下载地址:https://pan.baidu.com/s/1wt-yjjvaYcN3UahapuPs1Q ,提取码:p59a,上传并解压mysql压缩包
  tar -zxvf mysql-8.0.27-el7-x86_64.tar.gz -C /usr/local 
  mv /usr/local/mysql-8.0.27-el7-x86_64 /usr/local/mysql
  1. 创建用户及目录
-- 创建用户
groupadd mysql
useradd -d /home/mysql -g mysql -m mysql
passwd mysql

-- 授权
chown -R mysql:mysql /usr/local/mysql
chmod -R 755 /usr/local/mysql
  1. 移动my.conf到etc目录下
mv /usr/local/mysql/my.cnf /etc

文件内容如下

[mysqld]
server-id=2
default_authentication_plugin=mysql_native_password
skip-name-resolve
explicit_defaults_for_timestamp
basedir=/usr/local/mysql
port=3306
socket=/usr/local/mysql/tmp/mysql.sock
datadir=/usr/local/mysql/data
tmpdir=/usr/local/mysql/tmp
max_allowed_packet=16M
bind-address=0.0.0.0
pid-file=/usr/local/mysql/tmp/mysqld.pid
log-error=/usr/local/mysql/logs/mysqld.log
character-set-server=UTF8
collation-server=utf8_general_ci

[client]
port=3306
socket=/usr/local/mysql/tmp/mysql.sock
default-character-set=UTF8
plugin_dir=/usr/local/mysql/lib/plugin

[manager]
port=3306
socket=/usr/local/mysql/tmp/mysql.sock
pid-file=/usr/local/mysql/tmp/mysqld.pid
  1. 初始化,进入/usr/local/mysql目录下执行如下命令
cd /usr/loca/mysql
./bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql  --datadir=/usr/local/mysql/data
  1. 设置开机自启
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
chkconfig mysql on
service mysql start
  1. 配置环境变量
echo "export PATH=/usr/local/mysql/bin:$PATH" >> /etc/profile
source /etc/profile
  1. 修改密码
mysql -uroot -e "alter user  user() identified by '123456';"
  1. 主库配置
    登陆主库
mysql -uroot -p123456

创建同步用户

create user 'slave'@'%' identified with mysql_native_password by '123456';
grant replication slave on *.* to 'slave'@'%';
update mysql.user set host = '%' where user ='root';
flush privileges;

查看主库状态,记住下图标注的File和Position,设置从库时需要使用

show master status;
  1. 设置从库
    登陆从库
mysql -uroot -p

加入主库同步

-- 设置从库向主库同步数据,参数说明:
-- master_host的值是你的主库IP
-- master_port的值是你的主库端口
-- master_user就是创建的slave用户
-- master_password就是创建的slave用户的密码
-- master_log_file的值就是前面记录的file的值
-- master_log_pos的值就是前面记录的position的值
change master to master_host='192.168.30.74',master_port=3306,master_user='slave',
master_password='123456',master_log_file='binlog.000001',master_log_pos=1164;
start slave;

查看从库状态

show slave status \G;
  1. 设置主主,切换主备身份,重复步骤10和步骤11
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Axiyo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值