mysql服务器部署、主从同步配置

本文详细介绍了如何部署单台MySQL服务器以及搭建多台MySQL服务器的集群,并提供了主从同步配置的步骤,包括设置环境、配置主从复制、权限授权、半同步复制模式的开启等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、搭建单台mysql服务

1、安装包的绝对路径:/root/mysql-5.7.17.tar
2、安装脚本
mysql-build.sh
‘#’!/bin/bash
tar -xf /root/mysql-5.7.17.tar
yum -y install perl-JSON
yum -y install /root/mysql-community-*.rpm
systemctl restart mysqld;systemctl enable mysqld
获取初始密码:’#’get temporary keys: a=awk -F: '/temporary password/{print $NF}' /var/log/mysqld.log
a=awk -F: '/temporary password/{print $NF}' /var/log/mysqld.log
echo “password:$a”
3、使用初始密码登入数据库,修改密码。
[root@host2 ~]# echo “password:$a”
password: iWL1qs&ydl;=
[root@host2 ~]# mysql -uroot -p’iWL1qs&ydl;=’
mysql> set password=password(“123qqq…A”);
Query OK, 0 rows affected, 1 warning (0.00 sec)
4、使用新密码登入使用
[root@host1 ~]# mysql -uroot -p’123qqq…A’
mysql>

二、搭建多台mysql服务器(案例6台)

《*在部署主机上操作 ip为192.168.1.100》
《6台mysql服务器的ip地址依次为192.168.1.1 、192.168.1.2、192.168.1.3、192.168.1.4、192.168.1.5、192.168.1.6》

1、环境搭建:
【 env-mysql.sh
‘#’/bin/bash
for i in {1..6}
do
scp ssh-copy-id 192.168.1.iscp/root/mysql5.7.17.tar192.168.1.iscp/root/mysql−5.7.17.tar192.168.1.{i}:/root/
scp /root/mysql-build.sh 192.168.1.i:/root/ssh192.168.1.i:/root/ssh192.168.1.{i} “/root/mysql-build.sh”
done 】

【 /root/mysql-build.sh
‘#’!/bin/bash
tar -xf /root/mysql-5.7.17.tar
yum -y install perl-JSON
yum -y install /root/mysql-community-*.rpm
systemctl restart mysqld;systemctl enable mysqld
获取初始密码:’#’get temporary keys: a=awk -F: '/temporary password/{print $NF}' /var/log/mysqld.log
a=awk -F: '/temporary password/{print $NF}' /var/log/mysqld.log
echo “password:$a” 】

2、用初始密码登入后设置新密码
[root@host2 ~]# echo “password:$a”
password: iWL1qs&ydl;=
[root@host2 ~]# mysql -uroot -p’iWL1qs&ydl;=’
mysql> set password=password(“123qqq…A”);
Query OK, 0 rows affected, 1 warning (0.00 sec)
5
三、mysql数据库主从同步的配置

《主mysql服务器:192.168.1.1》
《从mysql服务器:192.168.1.2》

1、主库上配置(192.168.1.1)
启用binlog日志:
vim /etc/my.cnf
[mysqld]
server_id=1
log_bin=master1
binlog_format=”mixed”
:wq
[root@host1 ~]# systemctl restart mysqld

配置用户授权:
[root@host1 ~]# mysql -uroot -p’123qqq…A’
mysql> grant replication slave on . to repluser@”192.168.1.2” identified by “123qqq…S”;
mysql> show master status; (查看正在使用binlog日志信息)

刷新log日志:mysql> flush logs;
重置(清空)所有binlog日志: mysql> reset master;

2、从库上配置(192.168.1.2)
验证主库的用户授权
[root@host2 ~]# mysql -h192.168.1.1 -urepluser -p123qqq…S
mysql>

指定server_id
[root@host2 ~]# vim /etc/my.cnf
[mysqld]
server_id=2
:wq
[root@host2 ~]# systemctl restart mysqld

数据库管理员本机登录,指定主数据库服务器的信息
[root@host2 ~]# mysql -uroot -p123qqq…A
mysql> change master to master_host=”192.168.1.1”,master_user=”repluser”,master_password=”123qqq…S”,master_log_file=”mysql_binbog.000001”,master_log_pos=154;
Query OK, 0 rows affected, 2 warnings (0.23 sec)
mysql> start slave;
mysql> show slave status\G; ( Slave_IO_Running: Yes ;Slave_SQL_Running: Yes
两行都为yes即正常。)
***************** 1. row *****************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.1.1
Master_User: repluser
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql_binbog.000001
Read_Master_Log_Pos: 154
Relay_Log_File: host2-relay-bin.000002
Relay_Log_Pos: 323
Relay_Master_Log_File: mysql_binbog.000001
Slave_IO_Running: Yes
Slave_SQL_Running: Yes

3、主库授权给用户权限登入主mysql服务器编写数据,进行测试,查看从库数据是否同步。

主库授权访问:
[root@host1 ~]# mysql -uroot -p123qqq…A
mysql> grant all on contacts.* to admin@”%” identified by “123qqq…A”;

客户端登入测试:
[root@client ~]# mysql -h192.168.1.1 -uadmin -p123qqq…A

4、主从从同步配置【host1,host2,host3】
host1 主 ; host2 从1 ;host3 从2
从1和从2的同步配置参考 主和从1的同步配置

host2的配置文件:
vim /etc/my.cnf
[mysqld]
server_id=1
log_bin=master1
binlog_format=”mixed”
log_slave_updates ( 比host主多加入这一行配置。)
:wq
[root@host2 ~]# systemctl restart mysqld

5、半同步复制模式如何设置?

需要加载半同步模块,修改配置文件/etc/my.cnf 让安装模块和启用的模式永久生效。
主库 host1
vim /etc/my.cnf
[mysqld]
plugin-load=rpl_semi_sync_master=semisync_master.so
rpl_semi_sync_master_enabled=1
:wq
[root@host1 ~]# systemctl restart mysqld

既做主又做从 host2
vim /etc/my.cnf
[mysqld]
plugin-load = “rpl_semi_sync_master=semisync_master.so;rpl_semi_sync_slave=semisync_slave.so”
rpl-semi-sync-master-enabled = 1
rpl-semi-sync-slave-enabled = 1
:wq
[root@host2 ~]# systemctl restart mysqld

从库 host3
vim /etc/my.cnf
[mysqld]
plugin-load=rpl_semi_sync_slave=semisync_slave.so
rpl_semi_sync_slave_enabled=1
:wq
[root@host3 ~]# systemctl restart mysqld

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值