117.info
人生若只如初见

Ubuntu MariaDB主从复制怎么做

在Ubuntu上设置MariaDB的主从复制涉及几个步骤。以下是一个基本的指南,帮助你配置主服务器和从服务器。

主服务器设置

  1. 安装MariaDB

    sudo apt update sudo apt install mariadb-server 
  2. 配置主服务器 编辑主服务器的MariaDB配置文件 /etc/mysql/mariadb.conf.d/50-server.cnf(或 /etc/my.cnf),添加或修改以下内容:

    [mysqld] server-id = 1 log_bin = /var/log/mysql/mysql-bin.log binlog_do_db = your_database_name # 替换为你要复制的数据库名称 

    保存并关闭文件。

  3. 重启MariaDB服务

    sudo systemctl restart mariadb 
  4. 创建复制用户 登录到MariaDB并创建一个用于复制的用户:

    CREATE USER 'replicator'@'%' IDENTIFIED BY 'your_password'; # 替换为你的密码 GRANT REPLICATION SLAVE ON *.* TO 'replicator'@'%'; FLUSH PRIVILEGES; 
  5. 获取二进制日志位置 登录到MariaDB并获取当前的二进制日志位置:

    FLUSH TABLES WITH READ LOCK; SHOW MASTER STATUS; 

    记录下 FilePosition 的值。

  6. 解锁表

    UNLOCK TABLES; 

从服务器设置

  1. 安装MariaDB 如果还没有安装,可以使用以下命令:

    sudo apt update sudo apt install mariadb-server 
  2. 配置从服务器 编辑从服务器的MariaDB配置文件 /etc/mysql/mariadb.conf.d/50-server.cnf(或 /etc/my.cnf),添加或修改以下内容:

    [mysqld] server-id = 2 relay_log = /var/log/mysql/mysql-relay-bin.log log_bin = /var/log/mysql/mysql-bin.log read_only = 1 

    保存并关闭文件。

  3. 重启MariaDB服务

    sudo systemctl restart mariadb 
  4. 配置主服务器信息 登录到从服务器的MariaDB并配置主服务器信息:

    CHANGE MASTER TO MASTER_HOST='master_ip_address', # 替换为主服务器的IP地址 MASTER_USER='replicator', MASTER_PASSWORD='your_password', # 替换为你的密码 MASTER_LOG_FILE='recorded_log_file_name', # 替换为你记录的日志文件名 MASTER_LOG_POS=recorded_log_position; # 替换为你记录的日志位置 

    例如:

    CHANGE MASTER TO MASTER_HOST='192.168.1.100', MASTER_USER='replicator', MASTER_PASSWORD='your_password', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=123; 
  5. 启动从服务器复制

    START SLAVE; 
  6. 检查复制状态 登录到MariaDB并检查复制状态:

    SHOW SLAVE STATUS\G 

    确保 Slave_IO_RunningSlave_SQL_Running 都是 Yes。如果不是,请检查错误信息并进行相应的调整。

注意事项

  • 确保主服务器和从服务器的时间同步。
  • 确保主服务器和从服务器的MariaDB版本相同或兼容。
  • 在生产环境中,建议使用更安全的复制配置,例如限制复制用户的权限和绑定特定的IP地址。

通过以上步骤,你应该能够在Ubuntu上成功设置MariaDB的主从复制。

未经允许不得转载 » 本文链接:https://www.117.info/ask/fe607AzsNBQ9XBFA.html

推荐文章

  • Ubuntu iptables怎样删除已有规则

    要在Ubuntu上使用iptables删除已有规则,您需要知道要删除的规则的详细信息,例如规则编号、协议、端口等 首先,查看当前的iptables规则。在终端中输入以下命令:...

  • ubuntu里如何执行cop*logir

    在 Ubuntu 中,如果你想执行一个名为 cop_logir 的程序或脚本,首先需要确保它位于你的系统路径中,或者提供它的完整路径。以下是一些步骤来帮助你执行这个程序:...

  • 删除Ubuntu用户的方法

    在Ubuntu系统中,删除用户可以通过以下步骤完成:
    方法一:使用图形用户界面(GUI) 打开系统设置: 点击屏幕左上角的Ubuntu图标。
    选择“设置”或“系...

  • ubuntu缓存与硬盘有何关联

    Ubuntu(以及其他Linux发行版)中的缓存和硬盘之间存在密切的关联。缓存是一种用于提高系统性能的技术,它通过将经常访问的数据存储在更快的存储介质中来减少对较...

  • Debian下如何优化LNMP数据库

    在Debian下优化LNMP(Linux, Nginx, MySQL/MariaDB, PHP)数据库,可以从多个方面进行,包括配置、性能调优、安全性等。以下是一些详细的步骤和建议:
    1. 更...

  • CentOS GCC与Clang有何区别

    GCC(GNU Compiler Collection)和Clang都是流行的编译器,它们在多个方面存在一些区别:
    许可证 GCC:遵循GPL许可证。
    Clang:遵循LLVM公共许可证。 ...

  • centos dopra如何提高系统安全性

    DOPRA并非一个特定的Linux发行版或软件,而是一个可能由不同厂商或组织自定义的术语,因此无法给出针对DOPRA Linux性能优化的具体建议。不过,我可以为您提供一些...

  • Ubuntu Overlay的存储配置怎样进行

    在Ubuntu系统中配置Overlay文件系统可以让你将两个或多个目录合并为一个单一的视图,这在容器化应用等场景中非常有用。以下是一个基本的步骤指南,帮助你在Ubunt...