mysql linux下高可用架构的简析及主、从复制的实战(一)
mysql数据库的主、从复制是比较简单的,但是也是mysql数据库高可用性的一个基础,我的理解是所有mysql的高可用都是从这主、从简单复制演变而来。写这篇博客是因
mysql数据库的主、从复制是比较简单的,但是也是mysql数据库高可用性的一个基础,我的理解是所有mysql的高可用都是从这主、从简单复制演变而来。写这篇博客是因为最近有位同事和我说他做mysql ha实验,使用的是keepalived+mysql主、从架构,使我疑惑了,与他一起再次复习mysql ha的高可用架构,知道这样的架构并不理想。
我的理解是主、从复制存在时间差的,数据库一致性得不到保证,即使是使用shell 进行监控从数据库的复制性那也是需要时间的,一个简单的例子当master down时从还没复制完全或没有复制,在实际的生产环境中就存在大问题了。而主、主复制的架构,就很好的解决了数据库一致性问题,是可以使用keepalived来实现。
主、从复制的架构毕竟还是为了数据库的备份,虽然是热备的一种但是不能让他去做高冗余吧,其实这种架构我还是很欣赏的,还有一个好处可以读、写分离来提高数据库的I/O性能,我虽然建立的电子商务平台不多,但基本上上线的还是这个架构为主。这种架构在master出现故障后,还是要靠手工去切换,不存在裂脑问题,同时毕竟牵扯到数据库,稳妥点比较好,电子商务中数据库的事都是大事。
另一种架构我是非常欣赏并使用过主、主的自动切换架构,即解决了单点故障问题,还可以自动切换(一定要设置切换时报警,还是要上线看的),同时还互为备份。在参看了煮酒抚琴兄的一篇mysql数据库优化(下)后,给我的启发是如果数据库的投入充裕的话,还可以主主、从的架构,虽然没有直接应用过,但从理论上应该是中底端mysql数据库应用最稳定的吧,有机会的话应用下,这架构下再加上负载均衡应该问题不大。有时间的话,一定要做这个测试来看看效果。
mysql+lvs+cluster+keepalived的负载均衡、HA架构也应用过,但效果不是很理想,并且那个成本实在有点高,后期维护也是个问题,后面会把这个架构我实施的步骤和配置列出来,给感兴趣的朋友一起研究。
我认为无论是那种高可用的mysql架构,至少做到本地和异地双备份。
主、从复制就简单多了,大家都知道主、从复制的原理就是以下三步:
-bin = mysql-bin
binlog-do-db=falvhezi2 (需要同步的库)
binlog-ignore-db=mysql (不需要同步的)
binlog-ignore-db=test (不需要同步的)
成功了。
有两点问题要注意:
Slave_IO_Running: NO
如果此项为NO多为连接性问题
1、 两个服务器系统之间网络连接问题
2、 数据库用户权限问题
Slave_SQL_Running: NO
数据库二进制文件权限不对
本文出自 “踏酒浅酌” 博客,请务必保留此出处

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

The five basic components of the Linux system are: 1. Kernel, 2. System library, 3. System utilities, 4. Graphical user interface, 5. Applications. The kernel manages hardware resources, the system library provides precompiled functions, system utilities are used for system management, the GUI provides visual interaction, and applications use these components to implement functions.

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.

Article summary: This article provides detailed step-by-step instructions to guide readers on how to easily install the Laravel framework. Laravel is a powerful PHP framework that speeds up the development process of web applications. This tutorial covers the installation process from system requirements to configuring databases and setting up routing. By following these steps, readers can quickly and efficiently lay a solid foundation for their Laravel project.

MySQL and phpMyAdmin are powerful database management tools. 1) MySQL is used to create databases and tables, and to execute DML and SQL queries. 2) phpMyAdmin provides an intuitive interface for database management, table structure management, data operations and user permission management.

Compared with other programming languages, MySQL is mainly used to store and manage data, while other languages such as Python, Java, and C are used for logical processing and application development. MySQL is known for its high performance, scalability and cross-platform support, suitable for data management needs, while other languages have advantages in their respective fields such as data analytics, enterprise applications, and system programming.

To install Laravel, follow these steps in sequence: Install Composer (for macOS/Linux and Windows) Install Laravel Installer Create a new project Start Service Access Application (URL: http://127.0.0.1:8000) Set up the database connection (if required)

When developing an e-commerce website using Thelia, I encountered a tricky problem: MySQL mode is not set properly, causing some features to not function properly. After some exploration, I found a module called TheliaMySQLModesChecker, which is able to automatically fix the MySQL pattern required by Thelia, completely solving my troubles.

Docker is important on Linux because Linux is its native platform that provides rich tools and community support. 1. Install Docker: Use sudoapt-getupdate and sudoapt-getinstalldocker-cedocker-ce-clicotainerd.io. 2. Create and manage containers: Use dockerrun commands, such as dockerrun-d--namemynginx-p80:80nginx. 3. Write Dockerfile: Optimize the image size and use multi-stage construction. 4. Optimization and debugging: Use dockerlogs and dockerex
