当前位置: 首页 > 图文教程 > 数据库 > MYSQL > mysql 主从服务器的简单配置

MYSQL
mysql 常用数据库语句 小练习
MYSQL ERROR 1045 (28000): Access denied for user (using password: YES)问题的解决
mysql 字符集的系统变量说明
MySQL 在触发器里中断记录的插入或更新?
将MySQL数据库移植为PostgreSQL
mysql 操作总结 INSERT和REPLACE
linux mysql忘记密码的多种解决或Access denied for user ''root''@''localhost''
运用mysqldump 工具时需要注意的问题
mysql 优化日记
MySQL 字符串函数大全
mysql 截取指定的两个字符串之间的内容
MySQL 备份还原数据库批处理
mysql 数据库中my.ini的优化 2G内存针对站多 抗压型的设置
Mysql 数字类型转换函数
mysql 动态生成测试数据
mysql 显示SQL语句执行时间的代码
mysql 设置查询缓存
MYSQL explain 执行计划
MySQL 有输入输出参数的存储过程实例
巧用mysql提示符prompt清晰管理数据库的方法

MYSQL 中的 mysql 主从服务器的简单配置


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 69 ::
收藏到网摘: n/a

首先呢,需要有两个mysql服务器。如果做测试的话可以在同一台机器上装两个mysql服务程序,注意要两个运行程序的端口不能一样。我用的是一个是默认的3306,从服务器用的是3307端口。 首先在主服务器上添加可登陆的用户权限:
GRANT REPLICATE SLAVE on *.* to 'username'@'host' identified by 'password'
然后设置主服务器的my.ini文件。
server-id=1 #主服务器标识
log-bin #启用二进制日志
binlog-do-bin=databasename #要备份的数据库名称,多个可以重复该配置过程
binlog-ignore-db=databasename #不备份的数据库名称,多个可以重复该配置过程
从服务器的配置
server-id=2 #从服务器标识,范围1---2E32-1
master-host=hostname/hostip #主服务器ip或主机名称
master-user=username #登陆主服务器的用户名
master-password=password #登陆主服务器的密码
master-port = portid #主服务器的运行端口号
replicate-do-db=databasename #要同步的数据库名称,多个可以重复该配置过程
replicate-ignore=db=databasename #不同步的数据库名称,多个可以重复该配置
log-bin #从服务器启动二进制日志记录
master-connect-retry = seconds #与主服务器断开连接后,重新自动连接的时间
skip-start-slave #防止随服务器的启动而启动同步程序
至此,一个简单的主从服务器配置完成。
在master服务器端可运行的命令:
show master status;#查看主服务器的运行状态
show slave hosts;#查看从服务器主机列表
补充:
在从服务器上使用show slave status
Slave_IO_Running,为No,则说明IO_THREAD没有启动,请执行slave start [IO_THREAD]
Slave_SQL_Running为No则复制出错,查看Last_error字段排除错误后执行slave start [SQL_THREAD]
查看Slave_IO_State字段
空 //复制没有启动
Connecting to master//没有连接上master
Waiting for master to send event//已经连上
补充:可以使用LOAD DATA FROM MASTER语句来建立slave。但有约束条件:
数据表要全部是MyISAM表,必须有SUPER权限,master的复制用户必须具备RELOAD和SUPER权限。
在master端执行RESET MASTER清除已有的日志变更,
此时slave端会因为找不到master日志无法启动IO_THREAD,请清空data目录下
relay-log.info,hosname-relay-bin*等文件重新启动mysql
中继日志文件默认的文件为hostname-relay-bin.nnn和hostname-relay-bin.index。可用从服务器的--
relay-log和--relay-log-index选项修改。在从服务器中还有一个relay-log.info中继信息文件,可用
--relay-log-info-file启动选项修改文件名。
双机互备则是两个mysql同时配置为master及slave
主服务器上的相关命令:
show master status
show slave hosts
show logs
show binlog events
purge logs to ''log_name''
purge logs before ''date''
reset master(老版本flush master)
set sql_log_bin=
从服务器上的相关命令:
slave start
slave stop
SLAVE STOP IO_THREAD //此线程把master段的日志写到本地
SLAVE start IO_THREAD
SLAVE STOP SQL_THREAD //此线程把写到本地的日志应用于数据库
SLAVE start SQL_THREAD
reset slave
SET GLOBAL SQL_SLAVE_SKIP_COUNTER
load data from master
show slave status(SUPER,REPLICATION CLIENT)
CHANGE MASTER TO MASTER_HOST=, MASTER_PORT=,MASTER_USER=, MASTER_PASSWORD= //动态改变master信息
PURGE MASTER [before ''date''] 删除master端已同步过的日志