Mysql-Master与Slave配置_MySQL
bitsCN.com
今天在ubuntu下进行了mysql的Master和Slave的简单配置,基本上属于hello world的难度,但是看起来很简单,但真正做一遍,可不是那么的容易了。
环境:在两台电脑上,开启mysql服务。
原理:在slave端会有两个线程负责同步工作,一个IO线程,负责将master中的bin log读取过来转换为relay log;另一个是sql线程,根据relay log执行sql语句。
首先说一下大体的步骤,其实就是两部分,一部分是master端的配置,另一部分就是slave端的配置。
一、master端的配置
在master端,主要有两个事情需要做,一个是授权,另一个是修改配置文件。
授权:grant replication slave on *.* to ‘slave’@34.34.34.34 identified by '123';
配置文件:bind-address = 0.0.0.0 server-id = 1 log_bin = /var/log/mysql/mysql-bin.log
bind-address改为0.0.0.0为了允许远程访问;server-id唯一表示该master;log-bin记录对数据库的日志,slave通过该文件同步。
二、slave端的配置
slave端的配置主要是让slave知道同步master的地址以及日志文件,可以通过两种方式实现,一种是直接在配置文件中设定参数,另一种是在mysql命令行中设定master。
配置文件方式:在mysqld中添加下面的参数
server-id = 2
master-host = 45.45.45.45
master-user = slave
master-password = 123
master-port = 3306
log_bin = /var/log/mysql/mysql-bin.log //本地的binlog文件
relay_log = /var/log/mysql/mysql-relay.log //转化成的relay_log文件
master_log_file = mysql-bin.000022 //master中的bin log文件
master_log_pos = 106 //从那个位置开始恢复
命令行方式:
change master to master_host='45.45.45.45', master_user='slave', master_password='123', master_port=3306, master_log_file='mysql-bin.000022', master_log_pos=106;
这两种方式可以混合用,但server-id必须在配置文件中说明。
配置完成之后,通过slave stop/start开启slave线程。
通过 show slave status;查看线程的状态。
第一次试验时出现io线程失败, 原因可能有三个:1、网络出现问题,2、my.cnf配置有问题,3、权限不对,如何看是那一种原因呐,可以查看error log,通过error log的提示查找错误。
数据复制是mysql的核心功能,看起来配置很简单,但是想真正实现安全、完成的复制还是需要很多工作的,以上只是一个简单的配置,如果需要更好的应用还需要深入的学习。
bitsCN.com
Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

MySQL is an open source relational database management system, mainly used to store and retrieve data quickly and reliably. Its working principle includes client requests, query resolution, execution of queries and return results. Examples of usage include creating tables, inserting and querying data, and advanced features such as JOIN operations. Common errors involve SQL syntax, data types, and permissions, and optimization suggestions include the use of indexes, optimized queries, and partitioning of tables.

MySQL's position in databases and programming is very important. It is an open source relational database management system that is widely used in various application scenarios. 1) MySQL provides efficient data storage, organization and retrieval functions, supporting Web, mobile and enterprise-level systems. 2) It uses a client-server architecture, supports multiple storage engines and index optimization. 3) Basic usages include creating tables and inserting data, and advanced usages involve multi-table JOINs and complex queries. 4) Frequently asked questions such as SQL syntax errors and performance issues can be debugged through the EXPLAIN command and slow query log. 5) Performance optimization methods include rational use of indexes, optimized query and use of caches. Best practices include using transactions and PreparedStatemen

Apache connects to a database requires the following steps: Install the database driver. Configure the web.xml file to create a connection pool. Create a JDBC data source and specify the connection settings. Use the JDBC API to access the database from Java code, including getting connections, creating statements, binding parameters, executing queries or updates, and processing results.

MySQL is chosen for its performance, reliability, ease of use, and community support. 1.MySQL provides efficient data storage and retrieval functions, supporting multiple data types and advanced query operations. 2. Adopt client-server architecture and multiple storage engines to support transaction and query optimization. 3. Easy to use, supports a variety of operating systems and programming languages. 4. Have strong community support and provide rich resources and solutions.

The process of starting MySQL in Docker consists of the following steps: Pull the MySQL image to create and start the container, set the root user password, and map the port verification connection Create the database and the user grants all permissions to the database

The main role of MySQL in web applications is to store and manage data. 1.MySQL efficiently processes user information, product catalogs, transaction records and other data. 2. Through SQL query, developers can extract information from the database to generate dynamic content. 3.MySQL works based on the client-server model to ensure acceptable query speed.

Laravel is a PHP framework for easy building of web applications. It provides a range of powerful features including: Installation: Install the Laravel CLI globally with Composer and create applications in the project directory. Routing: Define the relationship between the URL and the handler in routes/web.php. View: Create a view in resources/views to render the application's interface. Database Integration: Provides out-of-the-box integration with databases such as MySQL and uses migration to create and modify tables. Model and Controller: The model represents the database entity and the controller processes HTTP requests.

The key to installing MySQL elegantly is to add the official MySQL repository. The specific steps are as follows: Download the MySQL official GPG key to prevent phishing attacks. Add MySQL repository file: rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm Update yum repository cache: yum update installation MySQL: yum install mysql-server startup MySQL service: systemctl start mysqld set up booting
