MySQL的主从同步_MySQL
MySQL的主从同步是一个很成熟的架构,优点为: ①在从服务器可以执行查询工作(即我们常说的读功能),降低主服务器压力; ②在从主服务器进行备份,避免备份期间影响主服务器服务; ③当主服务器出现问题时,可以切换到从服务器。 所以我在项目部署和实施中经常会采用这种方案.
数据库目录及其它 my.cnf配置文件 /etc/my.cnf mysql数据库位置 datadir=/var/lib/mysql
主数据库:192.168.2.119 从数据库:192.168.2.220 操作系统:RHEL5.x 32位 服务器类型: 虚拟机
mysql5.0.77 安装: ① 配置好linux的yum服务后,直接yum -y install mysql即可 附:安装php/mysql一条命令安装:yum -y install httpd php mysql mysql-server php-mysql
② 启动MySQL service mysqld start(restart|stop)
一、设置主库 1、修改主库my.cnf,主要是设置个不一样的id和logbin(#这部可依具体环境而定,压力大的化可采用huge.cnf) [root @localhost etc]#vi /etc/my.cnf # 记住这部分一定要配置在[mysqld]后面,否则无法找到从节点,各个配置项的含义可自己查阅文档 [mysqld] log-bin=mysql-bin server-id=1 binlog-ignore-db=information_schema binlog-ignore-db=cluster binlog-ignore-db=mysql
2、启动主库生效 [root @localhost etc]service mysqld restart
3、登陆主库 [root @localhost etc]mysql -u root -p
4、赋予从库权限帐号,允许用户在主库上读取日志 mysql> grant all privileges on *.* to '用户名'@'%' identified by '密码';
5、检查创建是否成功 select user,host from mysql.user;
6、锁主库表 mysql> flush tables with read lock;
7、显示主库信息 记录File和Position,从库设置将会用到 mysql> show master status; ------------------ ---------- -------------- ------------------ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | ------------------ ---------- -------------- ------------------ | mysql-bin.000001 98 | | | ------------------ ---------- -------------- ------------------ 1 row in set (0.00 sec)
# 说明,如果执行这个步骤始终为Empty set(0.00 sec),那说明前面的my.cnf没配置对。
8、另开一个终端登陆220,打包主库迁移数据(如果你使用的yum安装,有默认数据库并未做任何改动,则不需要进行拷贝) 目的是为了保证两台服务器的mysql数据库一致,这里可以自行tar打包或者使用mysqldump命令备份恢复的方式进行。
二、设置从库 1、传输拿到主库包、解包 # 登陆从库 从上一步中备份的数据库恢复到220服务器节点上。
2、在119节点上解锁主库表(对应第一点设置主库中第6步锁主库表的操作) mysql> unlock tables;
3、在220节点上修改从库my.cnf(位置一样) [root @localhost etc]vi my.cnf # 记住这部分一定要配置在[mysqld]后面,否则无法找到从节点,各个配置项的含义可自己查阅文档 [mysqld] log-bin=mysql-bin server-id=2 binlog-ignore-db=information_schema binlog-ignore-db=cluster binlog-ignore-db=mysql replicate-do-db=test replicate-ignore-db=mysql log-slave-updates slave-skip-errors=all slave-net-timeout=60
master-host=192.168.2.119 master-user=root master-password=pfingo
4、在220节点上验证连接主库 [root @localhost etc]mysql -h 192.168.2.119 -u 用户名 -p
5、在220节点从库上设置同步 #设置连接MASTER MASTER_LOG_FILE为主库的File,MASTER_LOG_POS为主库的Position #注意下面第二条命令语句中的master_log_file='mysql-bin.000001', master_log_pos=98;对应为前面在主库中执行的show master status;结果 mysql> slave stop; mysql> change master to master_host='192.168.2.119',master_user='root',master_password='pfingo',master_log_file='mysql-bin.000001', master_log_pos=98; mysql> slave start;
6、启动从库服务 mysql> slave start;
7、进行测试 在主库上的test库上建立名为myTest的表 mysql> CREATE TABLE `myTest` ( `id` INT( 5 ) UNSIGNED NOT NULL AUTO_INCREMENT , `username` VARCHAR( 20 ) NOT NULL , `password` CHAR( 32 ) NOT NULL , `last_update` DATETIME NOT NULL , `number` FLOAT( 10 ) NOT NULL , `content` TEXT NOT NULL , PRIMARY KEY ( `id` ) ) ENGINE = MYISAM ;
在从表中马上看到了效果,主从同步成功了; 为了更进一步验证在从库上输入show slave status/G; mysql> show slave status/G; Slave_IO_Running: Yes(网络正常); Slave_SQL_Running: Yes(表结构正常)
进一步验证了以上过程的正确性。

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

MySQL在Web应用中的主要作用是存储和管理数据。1.MySQL高效处理用户信息、产品目录和交易记录等数据。2.通过SQL查询,开发者能从数据库提取信息生成动态内容。3.MySQL基于客户端-服务器模型工作,确保查询速度可接受。

InnoDB使用redologs和undologs确保数据一致性和可靠性。1.redologs记录数据页修改,确保崩溃恢复和事务持久性。2.undologs记录数据原始值,支持事务回滚和MVCC。

MySQL与其他编程语言相比,主要用于存储和管理数据,而其他语言如Python、Java、C 则用于逻辑处理和应用开发。 MySQL以其高性能、可扩展性和跨平台支持着称,适合数据管理需求,而其他语言在各自领域如数据分析、企业应用和系统编程中各有优势。

MySQL索引基数对查询性能有显着影响:1.高基数索引能更有效地缩小数据范围,提高查询效率;2.低基数索引可能导致全表扫描,降低查询性能;3.在联合索引中,应将高基数列放在前面以优化查询。

MySQL的基本操作包括创建数据库、表格,及使用SQL进行数据的CRUD操作。1.创建数据库:CREATEDATABASEmy_first_db;2.创建表格:CREATETABLEbooks(idINTAUTO_INCREMENTPRIMARYKEY,titleVARCHAR(100)NOTNULL,authorVARCHAR(100)NOTNULL,published_yearINT);3.插入数据:INSERTINTObooks(title,author,published_year)VA

MySQL适合Web应用和内容管理系统,因其开源、高性能和易用性而受欢迎。1)与PostgreSQL相比,MySQL在简单查询和高并发读操作上表现更好。2)相较Oracle,MySQL因开源和低成本更受中小企业青睐。3)对比MicrosoftSQLServer,MySQL更适合跨平台应用。4)与MongoDB不同,MySQL更适用于结构化数据和事务处理。

MySQL通过表结构和SQL查询高效管理结构化数据,并通过外键实现表间关系。1.创建表时定义数据格式和类型。2.使用外键建立表间关系。3.通过索引和查询优化提高性能。4.定期备份和监控数据库确保数据安全和性能优化。

InnoDBBufferPool通过缓存数据和索引页来减少磁盘I/O,提升数据库性能。其工作原理包括:1.数据读取:从BufferPool中读取数据;2.数据写入:修改数据后写入BufferPool并定期刷新到磁盘;3.缓存管理:使用LRU算法管理缓存页;4.预读机制:提前加载相邻数据页。通过调整BufferPool大小和使用多个实例,可以优化数据库性能。
