Home  >  Article  >  Operation and Maintenance  >  Configuring Linux systems to support distributed database development

Configuring Linux systems to support distributed database development

WBOY
WBOYOriginal
2023-07-04 08:24:091381browse

Configuring Linux systems to support distributed database development

Introduction:
With the rapid development of the Internet, the amount of data has increased dramatically, and the requirements for database performance and scalability are also getting higher and higher. Distributed databases emerged as a solution to this challenge. This article will introduce how to configure a distributed database environment under Linux system to support distributed database development.

1. Install the Linux system
First, we need to install a Linux operating system. Common Linux distributions include Ubuntu, CentOS, Debian, etc., among which Ubuntu is a very popular choice. You can download the image file from the official website and install it according to the official documentation.

2. Install and configure the database management system

  1. First install a database management system, such as MySQL or PostgreSQL. Taking Ubuntu as an example, you can install MySQL through the following command:
sudo apt-get update
sudo apt-get install mysql-server
  1. After the installation is complete, start the database service and set it to start automatically at boot:
sudo systemctl start mysql
sudo systemctl enable mysql
  1. Configure the parameters of the database management system to adapt to the distributed environment. Open the MySQL configuration file /etc/mysql/mysql.conf.d/mysqld.cnf and modify the following parameters:
bind-address = 0.0.0.0

This parameter will allow other computers to connect to the The database management system.

  1. Reload the MySQL configuration file to make the changes take effect:
sudo systemctl reload mysql

3. Set the master node and slave node
In a distributed database, there is usually a master node There are two roles: node and slave node. The master node is used to handle write operations and main queries of data, while the slave node is used to replicate the data of the master node and handle read operation requests.

  1. First, set up the master node. Log in to the MySQL console:
mysql -u root -p

Create a new database user and grant it read and write permissions on the master node:

CREATE USER 'user'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'user'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
  1. Next, set up the slave node . Perform the same operations on the slave node as on the master node, create a user the same as the master node, and set the user's permissions to read-only permissions:
CREATE USER 'user'@'%' IDENTIFIED BY 'password';
GRANT SELECT, SHOW VIEW ON *.* TO 'user'@'%';
FLUSH PRIVILEGES;

4. Configure and test replication
In a distributed database, the slave node achieves data consistency by replicating the data of the master node. Here's how to configure and test replication.

  1. On the master node, edit the MySQL configuration file /etc/mysql/mysql.conf.d/mysqld.cnf and add the following parameters:
server-id = 1
log_bin = /var/log/mysql/binlog

These parameters will enable binary logging, which is used to store records of data changes on the master node.

  1. Restart the MySQL service on the master node:
sudo systemctl restart mysql
  1. On the slave node, edit the MySQL configuration file /etc/mysql/mysql.conf .d/mysqld.cnf, add the following parameters:
server-id = 2
relay-log = /var/log/mysql/relaylog

These parameters will enable the slave node to receive and replicate data changes from the master node.

  1. Restart the MySQL service on the slave node:
sudo systemctl restart mysql
  1. On the master node, use the following command to create a test database and insert some data:
CREATE DATABASE test;
USE test;
CREATE TABLE employees (
    id INT PRIMARY KEY,
    name VARCHAR(100)
);
INSERT INTO employees VALUES(1, 'John');
INSERT INTO employees VALUES(2, 'Jane');
  1. On the slave node, you can check whether the data has been copied successfully by running the following command:
USE test;
SELECT * FROM employees;

If the slave node shows the same data as the master node, it means Copied successfully.

Summary:
Through the guidance of this article, we have successfully configured a Linux system to support distributed database development. During this configuration process, we installed the database management system, set up the master node and slave nodes, and tested the data replication function. Distributed databases can help us cope with the challenges of massive data and improve the performance and scalability of database systems.

Reference materials:

  • MySQL official documentation: https://dev.mysql.com/doc/
  • PostgreSQL official documentation: https://www. postgresql.org/docs/

The above is the detailed content of Configuring Linux systems to support distributed database development. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn