一台服务器配主从
来源:互联网 发布:守望先锋for mac 编辑:程序博客网 时间:2024/04/28 21:43
同一服务器,MYSQL主从配置。
在一台服务器上安装2个MYSQL服务,配置MYSQL服务的主从管理。
先安装主数据库,然后拷贝主数据库data文件夹里的mysql,performance_schema文件夹进E:/MySqlData/data1(从数据库的数据文件夹)。
(1)修改my.ini文件(主)。
添加
log-bin=E:/MySqlData/mysql-bin #日志文件的位置
server-id=1 #ID标识
binlog-do-db=databaseName #需要同步的数据库
binlog-ignore-db=mysql #不需要同步的数据库
binlog-ignore-db=test
expire_logs_days=1 #1天时间自动清理二进制日志
innodb_flush_log_at_trx_commit=1 #每一次事务提交或事务外的指令都需要把日志写入(flush)硬盘,0的效率最快,2的折中。但是安全性0的最低,详细看文档。在高版本SQL中用配置文件设置无效。只能用语句SET GLOBAL innodb_flush_log_at_trx_commit=0,查看用语句SHOW VARIABLES LIKE 'innodb_flush_log_at_trx_commit%';
sync-binlog=1 #使binlog在每N次binlog写入后与硬盘 同步
port=3306 #主数据库的端口
basedir="D:/java/javasoft/MYSQL/" #数据库安装路径
datadir="E:/MySqlData/Data/" #数据库数据目录
(2)修改my1.ini文件(从)。
修改my1.ini文件(从),此文件新建一个即可。为从MYSQL服务的配置文件。
[client]
port=3307
[mysql]
default-character-set=utf8
[mysqld]
server-id=2
#注意:master-xxx参数在MYSQL5.17以上版本就已经失去了作用,使用此处会出错。而且在从数据库的master.info权限高于配置文件,所以在低版本下也是第一次初始化时使用。
#master-host=127.0.0.1 #主机名
#master-user=XXX #主数据库用户名(添加数据库用户参考下面内容)
#master-password=XXX #主数据库密码
#master-port=3306 #端口
#master-connect-retry=60 #自动连接延时
#master-log-file='mysql-bin.000001' #读取的二进制文件
#master-log-pos=107 #二进制索引位置
replicate-do-db=databaseName #需要备份的数据库名
replicate-ignore-db=mysql #忽略的数据库
replicate-wild-ignore-table=databaseName.temp% #告诉从服务器线程不要复制更新指定表的任何语句,\转义
replicate-wild-ignore-table=databaseName.t\_temp\_%
replicate-wild-ignore-table=databaseName.tmp\_%
expire_logs_days=1 #二进制日志自动删除的天数
port=3307 #端口和主的不一样
basedir="D:/java/javasoft/MYSQL/"
datadir="E:/MySqlData/data1/" #数据目录也不一样
default-character-set=utf8 #其他配置
default-storage-engine=INNODB
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
max_connections=100
query_cache_size=13M
table_cache=256
tmp_table_size=15M
thread_cache_size=8
因为在高版本的时候使用master-xxx等选项不可用,所以用 change to master 方法执行:
CHANGE MASTER TO MASTER_HOST='127.0.0.1',MASTER_USER='XXX',MASTER_PASSWORD='XXX',MASTER_PORT=3306,MASTER_CONNECT_RETRY=60,MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=107
然后执行在slave端执行:start slave 即可。
在master端执行的部分语句:
show master status //可查看master的二进制文件和索引位置
reset master //重置master
在slave端执行的部分语句:
show slave status //可查看slave的连接状态
start slave //启动slave
reset slave //重置slave
stop slave //停止slave
先停止slave-再重置slave-再启动slave,可以让slave同步master的二进制文件。
更多的主从语句请查看文档!
备注:
添加数据库用户:(更多权限查看文档):
GRANT REPLICATION SLAVE ON *.* TO '用户名'@'localhost' IDENTIFIED BY '密码'
添加MYSQL服务进windows服务里的dos命令语句:
D:\java\javasoft\MYSQL\bin\mysqld --install serverName --defaults-file=d:\java\javasoft\MYSQL\my.ini
删除服务的命令:
sc delete serverName
先启动主数据库的服务,再启动从数据库的服务,测试即可。
在一台服务器上安装2个MYSQL服务,配置MYSQL服务的主从管理。
先安装主数据库,然后拷贝主数据库data文件夹里的mysql,performance_schema文件夹进E:/MySqlData/data1(从数据库的数据文件夹)。
(1)修改my.ini文件(主)。
添加
log-bin=E:/MySqlData/mysql-bin #日志文件的位置
server-id=1 #ID标识
binlog-do-db=databaseName #需要同步的数据库
binlog-ignore-db=mysql #不需要同步的数据库
binlog-ignore-db=test
expire_logs_days=1 #1天时间自动清理二进制日志
innodb_flush_log_at_trx_commit=1 #每一次事务提交或事务外的指令都需要把日志写入(flush)硬盘,0的效率最快,2的折中。但是安全性0的最低,详细看文档。在高版本SQL中用配置文件设置无效。只能用语句SET GLOBAL innodb_flush_log_at_trx_commit=0,查看用语句SHOW VARIABLES LIKE 'innodb_flush_log_at_trx_commit%';
sync-binlog=1 #使binlog在每N次binlog写入后与硬盘 同步
port=3306 #主数据库的端口
basedir="D:/java/javasoft/MYSQL/" #数据库安装路径
datadir="E:/MySqlData/Data/" #数据库数据目录
(2)修改my1.ini文件(从)。
修改my1.ini文件(从),此文件新建一个即可。为从MYSQL服务的配置文件。
[client]
port=3307
[mysql]
default-character-set=utf8
[mysqld]
server-id=2
#注意:master-xxx参数在MYSQL5.17以上版本就已经失去了作用,使用此处会出错。而且在从数据库的master.info权限高于配置文件,所以在低版本下也是第一次初始化时使用。
#master-host=127.0.0.1 #主机名
#master-user=XXX #主数据库用户名(添加数据库用户参考下面内容)
#master-password=XXX #主数据库密码
#master-port=3306 #端口
#master-connect-retry=60 #自动连接延时
#master-log-file='mysql-bin.000001' #读取的二进制文件
#master-log-pos=107 #二进制索引位置
replicate-do-db=databaseName #需要备份的数据库名
replicate-ignore-db=mysql #忽略的数据库
replicate-wild-ignore-table=databaseName.temp% #告诉从服务器线程不要复制更新指定表的任何语句,\转义
replicate-wild-ignore-table=databaseName.t\_temp\_%
replicate-wild-ignore-table=databaseName.tmp\_%
expire_logs_days=1 #二进制日志自动删除的天数
port=3307 #端口和主的不一样
basedir="D:/java/javasoft/MYSQL/"
datadir="E:/MySqlData/data1/" #数据目录也不一样
default-character-set=utf8 #其他配置
default-storage-engine=INNODB
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
max_connections=100
query_cache_size=13M
table_cache=256
tmp_table_size=15M
thread_cache_size=8
因为在高版本的时候使用master-xxx等选项不可用,所以用 change to master 方法执行:
CHANGE MASTER TO MASTER_HOST='127.0.0.1',MASTER_USER='XXX',MASTER_PASSWORD='XXX',MASTER_PORT=3306,MASTER_CONNECT_RETRY=60,MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=107
然后执行在slave端执行:start slave 即可。
在master端执行的部分语句:
show master status //可查看master的二进制文件和索引位置
reset master //重置master
在slave端执行的部分语句:
show slave status //可查看slave的连接状态
start slave //启动slave
reset slave //重置slave
stop slave //停止slave
先停止slave-再重置slave-再启动slave,可以让slave同步master的二进制文件。
更多的主从语句请查看文档!
备注:
添加数据库用户:(更多权限查看文档):
GRANT REPLICATION SLAVE ON *.* TO '用户名'@'localhost' IDENTIFIED BY '密码'
添加MYSQL服务进windows服务里的dos命令语句:
D:\java\javasoft\MYSQL\bin\mysqld --install serverName --defaults-file=d:\java\javasoft\MYSQL\my.ini
删除服务的命令:
sc delete serverName
先启动主数据库的服务,再启动从数据库的服务,测试即可。
0 0
- 一台服务器配主从
- 在一台服务器上(centOS)配置Redis主从
- 一台服务器下启多个Tomcat
- 创建一台拉倒服务器
- Mysql主从复制,单台服务器上实施
- Mysql5.5 两台服务器互为主从同步设置
- 俩台服务器搭建redis主从的问题
- Hyper-V: 一台服务器变二百台服务器
- Hyper-V: 一台服务器变二百台服务器
- Hyper-V: 一台服务器变二百台服务器
- Hyper-V: 一台服务器变二百台服务器
- Hyper-V: 一台服务器变二百台服务器
- 文件从一台服务器拷贝到另一台服务器
- 在一台windows上配置mysql主从数据库
- BJ:一台Windows主机搭建mysql主从配置
- VSS数据从一台服务器移动到另一台
- 一台机器上运行多台服务器
- MYSQL主从配置【一台主机多个实例的主从配置】
- 非常规数据恢复的几种场景(利用Logminer找回被修改的数据)
- Error:Execution failed for task ':app:transformClassesWithDexForDebug
- Android蓝牙低功耗发送数据的方法
- jQuery EasyUI table表单的数据绑定与交互
- LEFT JOIN 和JOIN 多表连接
- 一台服务器配主从
- 为ZendStudio增加CodeIgniter的智能提\
- Java多线程编程总结(转载)
- 第二章 CSS工作原理(ID属性和类选择符)
- 数据库学习及心得体会
- c#处理json数据
- 一个矩阵的所有子矩阵最大和问题、Kadane算法
- Swift开篇013->析构过程
- HTML常用标签