Ubuntu下Mysql的主从配置(一)

本文详细介绍了在Ubuntu系统中设置MySQL主从复制的步骤,包括如何克隆虚拟机,主服务器和从服务器的配置,以及账户权限的设置。通过配置server-id、log-bin等参数,实现数据的实时同步。

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

1.怎么在Ubuntu下安装mysql
这个内容我已经在上一篇博客写过,就不在此阐述。

2.怎么快速的clone虚拟机
我之前的电脑上有一个虚拟机,mysql主从要用到两台机器,我又不想再重新安装,就直接用了VmWare的clone功能。
具体怎么clone,不过要记住,clone过来的ip等配置需要修改一下。

3. MySQL主服务器配置
首先,我的主服务器已经安装过,下面只需要修改一下mysql的配置文件即可。配置文件在 /etc/mysql/my.cnf,你如果找不到,可以用find命令来查找。
具体配置如下图:
         
        server-id==>用于标识该语句最初是从哪个server写入的,所以server-id一定要。log-bin==>二进制文件是否开启。expire-logs_days==>日志保存多少天max_binlog_size==>最大二进制文件大小。binlog_do_db==>复制哪些库。binlog_ignore_db==>不复制哪些库。
其次,登录主服务器创建从服务器用到的账户和权限:grant replication slave on *.* to 'masterbackup' @'192.168.1.%' identified by 'masterbackup';(192.168.1.%通配符,表示0-255的IP都可访问主服务器,正式环境请配置指定从服务器IP)
接着,登录主服务器创建从服务器用到的账户和权限:
           
然后,重启MySQL,命令:/etc/init.d/mysql restart
最后,查看主服务器状态:show master status;如图:
          

4. MySQL从服务器配置
首先,修改一下mysql的配置文件即可。配置文件在 /etc/mysql/my.cnf。
在[mysqld]中添加:
server-id = 2==>前面已经解释了,不再解释。
relay-log = slave-relay-bin==>relay log很多方面都跟binary log差不多,区别是:从服务器I/O线程将主服务器的二进制日志读取过来记录到从服务器本地文件,然后SQL线程会读取relay-log日志的内容并应用到从服务器。这个参数定义relay_log的位置和名称,如果值为空,则默认位置在数据文件的目录,文件名为host_name-relay-bin.nnnnnn。
relay-log-index = slave-relay-bin.index==>同relay_log,定义relay_log的位置和名称。
其次,重启Slave从服务器MySQL。
然后,登录Slave从服务器,连接Master主服务器:命令如下:change master to master_host='192.168.1.184',master_port=3306,master_user='root',master_password='root',master_log_file='master-bin.000002',master_log_pos=107;
注:master_log_file对应show master status显示的File列:master-bin.000002;master_log_pos对应Position列:107,否则有可能出现同步失败。
接着,启动Slave数据同步。
start slave;
最后,查看Slave信息:
show slave status\G;
         
如果出现这两个,说明成功了。

5.实验
我用navicat创建了两个库,在主的写入,从的马上就能看到,说明成功了。
          
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值