摘要:启动二进制日志系统,注意如果原来的配置文件中已经有这一行,就不用再添加了。注意版本之后,已经不支持把配置属性写入配置文件中了,只需要把同步的数据库和要忽略的数据库写入即可。
主数据库:172.20.17.211
从数据库:172.20.17.210
# 开启远程访问支持 /usr/local/mysql/bin/mysql -h172.20.17.211 -uroot -pwoshishui # 登录数据库 update mysql.user set Host="%" where User="root" and Host="localhost"; # 开启Mysql远程访问支持 select Host,User,Password from mysql.user limit 10 G; # 查看修改结果 flush privileges; # 刷新权限 # 主/从数据库添加授权账户 CREATE USER "xzdesk"@"%" IDENTIFIED BY "woshishui"; # 创建授权账户xzdesk 密码woshishui GRANT ALL ON *.* TO "xzdesk"@"127.0.0.1"; # 授权xzdesk用户拥有全部数据库的所有权限 GRANT ALL ON `ceshi`.* TO "xzdesk"@"%"; # 授权xzdesk用户拥有ceshi数据库的所有权限 # 第二种 授权和添加账户一起操作 # GRANT ALL ON `ceshi`.* TO "xzdesk"@"127.0.0.1" IDENTIFIED BY "woshishui"; # 撤销用户授权 REVOKE ALL ON *.* TO "xzdesk"@"%"; # 撤销xzdesk的所有授权 # REVOKE delete ON databasename.tablename FROM "username"@"host"; # 没搞明白撒意思,不用执行 # 创建授权用户 #insert into mysql.user(Host,User,Password) values("172.20.17.210","xzdesk",password("woshishui")); # 删除xzdesk用户( 授权信息无法删除 ) #DELETE FROM user WHERE User="xzdesk" and Host="%";二、主服务器配置(172.20.17.211)
/usr/local/mysql/bin/mysql -h172.20.17.211 -uroot -pwoshishui create database ceshi; # 创建ceshi数据库 flush tables with read lock; # 数据库只读锁定命令 # 导出主服务器数据库 /usr/local/mysql/bin/mysqldump -h172.20.17.211 -uroot -pwoshishui ceshi > /data/ceshi_20160609.sql unlock tables; # 解除锁定 # 主服务器数据导入从服务器 # 第一种方法 /usr/local/mysql/bin/mysql -h172.20.17.210 -uroot -pwoshishui # 进入从服务器MySQL控制台 create database ceshi; # 创建数据库 use ceshi # 进入数据库 /usr/local/mysql/bin/mysql -h172.20.17.210 -uroot -pwoshishui ceshi < /data/ceshi_20160609.sql # 第二种方法 /usr/local/mysql/bin/mysql -h172.20.17.210 -uroot -pwoshishui # 进入从服务器MySQL控制台 create database ceshi; # 创建数据库 use ceshi # 进入数据库 source /data/ceshi_20160609.sql # 导入备份文件到数据库四、配置MySQL主服务器的my.cnf文件
vim /etc/my.cnf # 编辑配置文件,在[mysqld]部分添加下面内容 server-id=1 # 设置服务器id,为1表示主服务器,注意:如果原来的配置文件中已经有这一行,就不用再添加了。 log_bin=mysql-bin # 启动MySQ二进制日志系统,注意:如果原来的配置文件中已经有这一行,就不用再添加了。 binlog-do-db=ceshi # 需要同步的数据库名,如果有多个数据库,可重复此参数,每个数据库一行 binlog-ignore-db=mysql # 不同步mysql系统数据库 binlog-ignore-db=performance_schema binlog-ignore-db=information_schema :wq! #保存退出 service mysqld restart # 重启MySQL mysql -u root -p # 进入mysql控制台 show master status; # 查看主服务器,出现以下类似信息 +------------------+----------+--------------+---------------------------------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +------------------+----------+--------------+---------------------------------------------+ | mysql-bin.000006 | 575 | ceshi | mysql,performance_schema,information_schema | +------------------+----------+--------------+---------------------------------------------+五、配置MySQL从服务器的my.cnf文件
vim /etc/my.cnf # 编辑配置文件,在[mysqld]部分添加下面内容 server-id=2 # 配置文件中已经有一行server-id=1,修改其值为2,表示为从数据库 log-bin=mysql-bin # 启动MySQ二进制日志系统,注意:如果原来的配置文件中已经有这一行,就不用再添加了。 replicate-do-db=ceshi # 需要同步的数据库名,如果有多个数据库,可重复此参数,每个数据库一行 replicate-ignore-db=mysql # 不同步mysql系统数据库 replicate-ignore-db=performance_schema replicate-ignore-db=information_schema :wq! #保存退出 service mysqld restart # 重启MySQL /usr/local/mysql/bin/mysql -h172.20.17.210 -uroot -pwoshishui slave stop; # 停止slave同步进程 change master to master_host="172.20.17.211",master_user="xzdesk",master_password="woshishui",master_log_file="mysql-bin.000006" ,master_log_pos=575; #执行同步语句 slave start; # 开启slave同步进程 SHOW SLAVE STATUSG # 查看slave同步信息,出现以下内容 *************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: 172.20.17.211 Master_User: root Master_Port: 3306 Connect_Retry: 60 Master_Log_File: mysql-bin.000006 Read_Master_Log_Pos: 341 Relay_Log_File: mysql-relay-bin.000002 Relay_Log_Pos: 487 Relay_Master_Log_File: mysql-bin.000006 Slave_IO_Running: Yes # 此状态必须YES Slave_SQL_Running: Yes # 此状态必须YES Replicate_Do_DB: ceshi Replicate_Ignore_DB: mysql,performance_schema,information_schema 注意:Slave_IO及Slave_SQL进程必须正常运行,即YES状态,否则都是错误的状态(如:其中一个NO均属错误)。 注意:MySQL 5.1.7版本之后,已经不支持把master配置属性写入my.cnf配置文件中了,只需要把同步的数据库和要忽略的数据库写入即可。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/48653.html
摘要:此文是根据杨尚刚在高可用架构群中,针对在单表海量记录等场景下,业界广泛关注的问题的经验分享整理而成,转发请注明出处。杨尚刚,美图公司数据库高级,负责美图后端数据存储平台建设和架构设计。 此文是根据杨尚刚在【QCON高可用架构群】中,针对MySQL在单表海量记录等场景下,业界广泛关注的MySQL问题的经验分享整理而成,转发请注明出处。 杨尚刚,美图公司数据库高级DBA,负责美图后端数据...
摘要:数据库机型实例目前提供机型和机型。用户可以根据对云数据库的硬件需求进行选择。硬盘云数据库的硬盘大小。版本实例目前支持和等,用户可以根据需求选择相应的云数据库版本。什么是云数据库云数据库UDB MySQL是基于成熟云计算技术的高可用、高性能的数据库服务,让您能够在几十秒内完成部署、设置、操作和扩展;提供双主热备架构、备份、数据回档、读写分离、监控、数据库审计等全套解决方案,大大简化了数据库运维...
摘要:用户可以根据对云数据库的硬件需求进行选择。主库与从库云数据库主库与从库主库支持读写操作。云数据库提供自动备份和手动备份两种方式,防止数据丢失,避免误操作带来的风险。日志云数据库日志日志是用于记录云数据库操作事件的记录文件。UCloud MySQL云数据库实例类型 MySQL实例包括普通版和高可用版实例类型。 普通版实例提供基本的数据库单实例,可根据需求创建主从同步,实现数据冗余和...
摘要:之前文章介绍了的主从同步复制,了解了主从同步的架构及搭建过程。这种通过将数据库按照职责划分的架构,称为数据库的读写分离架构。 之前文章介绍了MySQL的主从同步复制,了解了主从同步的架构及搭建过程。主从同步一方面用来做数据库的数据备份,另外一个很重要的因素是用来解决网站的读写瓶颈,本篇文章将介绍MySQL读写分离的原理,架构,然后使用mysql-proxy中间件搭建一个简单的mysql...
摘要:读写分离中间件具有独立的。变量语句将被广播考虑到节点间数据一致性问题,只会分发到主节点。节点健康检查,提升数据库系统可用性。UCloud MySQL云数据库读写分离 背景 数据显示,关系型数据库在OLTP业务下96.87%都在等待读I/O,而处理器计算仅仅占了5.3%,这说明要提高数据库的QPS性能,关键的一点是提高系统的IO能力。 另一个数据表明, 大多数业务对数据库的访...
阅读 1317·2021-11-25 09:43
阅读 3771·2021-11-15 11:37
阅读 454·2021-09-03 10:29
阅读 3057·2021-08-17 10:13
阅读 3394·2019-08-30 14:16
阅读 3420·2019-08-26 18:37
阅读 2384·2019-08-26 11:56
阅读 976·2019-08-26 10:42