阅读量:1
在Ubuntu上实现MariaDB的数据同步,可以采用多种方法。以下是两种常见的方法:
方法一:使用MariaDB复制(Replication)
MariaDB复制是一种异步复制机制,可以将一个MariaDB服务器(主服务器)的数据复制到一个或多个其他MariaDB服务器(从服务器)。
步骤:
-
配置主服务器:
- 编辑主服务器的
/etc/mysql/my.cnf或/etc/my.cnf文件,添加以下内容:[mysqld] server-id = 1 log_bin = /var/log/mysql/mysql-bin.log binlog_do_db = your_database_name # 替换为你要复制的数据库名称 - 重启MariaDB服务:
sudo systemctl restart mariadb - 创建一个用于复制的用户,并授予相应的权限:
CREATE USER 'replicator'@'%' IDENTIFIED BY 'your_password'; GRANT REPLICATION SLAVE ON *.* TO 'replicator'@'%'; FLUSH PRIVILEGES; - 查看主服务器的二进制日志位置和文件名:
SHOW MASTER STATUS;
- 编辑主服务器的
-
配置从服务器:
- 编辑从服务器的
/etc/mysql/my.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 replicate_do_db = your_database_name # 替换为你要复制的数据库名称 - 重启MariaDB服务:
sudo systemctl restart mariadb - 配置从服务器连接到主服务器:
CHANGE MASTER TO MASTER_HOST='master_ip_address', # 替换为主服务器的IP地址 MASTER_USER='replicator', MASTER_PASSWORD='your_password', MASTER_LOG_FILE='mysql-bin.000001', # 替换为主服务器的二进制日志文件名 MASTER_LOG_POS=123; # 替换为主服务器的二进制日志位置 START SLAVE;
- 编辑从服务器的
-
验证复制状态:
- 在从服务器上执行以下命令,查看复制状态:
SHOW SLAVE STATUS\G - 确保
Slave_IO_Running和Slave_SQL_Running都为Yes。
- 在从服务器上执行以下命令,查看复制状态:
方法二:使用MariaDB Galera Cluster
MariaDB Galera Cluster是一种多主复制解决方案,可以实现多个节点之间的数据同步。
步骤:
-
安装MariaDB Galera Cluster:
- 添加MariaDB APT仓库:
sudo apt-get install software-properties-common sudo add-apt-repository 'deb http://mirror.jmu.edu/pub/mariadb/repo/10.5/ubuntu focal main' sudo apt-get update - 安装MariaDB Galera Cluster:
sudo apt-get install mariadb-server mariadb-galera-cluster
- 添加MariaDB APT仓库:
-
配置Galera Cluster:
- 编辑
/etc/mysql/conf.d/galera.cnf文件,添加或修改以下内容:[mysqld] wsrep_provider=/usr/lib/galera/libgalera_smm.so wsrep_cluster_address=gcomm://, , # 替换为所有节点的IP地址 wsrep_node_address= # 替换为当前节点的IP地址 wsrep_node_name= # 替换为当前节点的名称 wsrep_sst_method=xtrabackup-v2 binlog_format=row default_storage_engine=InnoDB innodb_autoinc_lock_mode=2 - 重启MariaDB服务:
sudo systemctl restart mariadb
- 编辑
-
验证集群状态:
- 在任意一个节点上执行以下命令,查看集群状态:
SELECT * FROM wsrep_cluster_status; - 确保所有节点都显示为
Synced状态。
- 在任意一个节点上执行以下命令,查看集群状态:
通过以上两种方法,你可以在Ubuntu上实现MariaDB的数据同步。选择哪种方法取决于你的具体需求和环境。
以上就是关于“Ubuntu MariaDB如何实现数据同步”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm