2、然后修改主配置文件:
[mysqld]
server-id = 1
binlog-do-db=test #要同步的数据库
#binlog-ignore-db=mysql #不同步的数据库,如果指定了binlog-do-db这里应该可以不用指定的
log-bin=mysql-bin #要生成的二进制日记文件名称
修改从配置文件:
[mysqld]
server-id = 2
log-bin= mysql-bin
replicate-do-db=test
3、在主库添加一个用户 repl 并指定replication权限
create user 'repl'@'127.0.0.1' identified by 'asdf'
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'127.0.0.1'-- --这里我指定数据库(test.*)时报错,而指定全库(*.*)时会成功。
4、保持主从mysql的test数据库初始状态一致。
一般是先将所有的表加读锁,然后copy磁盘上的数据库文件夹。我这里直接停止服务,然后将数据文件拷贝过去。
5、在主数据库里面运行show master status记下file和position字段对应的参数。
mysql>show master status
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 | 107 | test | |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
6、在从库设置它的master:
mysql>change master to master_host='127.0.0.1',master_port=3306,master_user='repl',master_password='asdf',master_log_file='mysql-bin.000001',master_log_pos=107
Query OK, 0 rows affected (0.19 sec)
这里的master_log_file和master_log_pos对应刚才show master status记下的参数。
7、在从库开启从数据库复制功能。
slave start
mysql>slave start
Query OK, 0 rows affected (0.00 sec)
在从库可以通过show slave status来查看一些参数。
8. 此时在主库创建表或插入数据,在从库就会很快也能看到了。
-- 主库
mysql>create table tianyc_02(b int)
Query OK, 0 rows affected (0.16 sec)
mysql>insert into tianyc_02 values(2013)
Query OK, 1 row affected (0.13 sec)
-- 从库
mysql>show tables
+----------------+
| Tables_in_test |
+----------------+
| tianyc_01 |
| tianyc_02 |
+----------------+
2 rows in set (0.00 sec)
mysql>select * from tianyc_02
+------+
| b |
+------+
| 2013 |
+------+
1 row in set (0.00 sec)同理,可以搭建第二、第三个从节点。
如何在一台windows主机上搭建mysql主从复制2、然后修改主配置文件:
[mysqld]
server-id = 1
binlog-do-db=test #要同步的数据库
#binlog-ignore-db=mysql #不同步的数据库,如果指定了binlog-do-db这里应该可以不用指定的
log-bin=mysql-bin #要生成的二进制日记文件名称
修改从配置文件:
前提是把MYSQL的安装路径\bin添加到系统环境变量PATH中了。备份:mysqldump
-u
root
-p123456
kcgl>
c:\20090219.sql
mysqldump
备份命令
root
用户名(root管理员)
123456
密码
kcgl
备份的数据库名
>
备份符号
20090219.sql
备份的文件名
还原:
mysql
-u
root
-p123456
kcgl<
c:\20090219.sql
mysql
还原命令
root
用户名(root管理员)
123456
密码
dbcurr
备份的数据库名
<
还原符号
20090219.sql还原的文件名
注意:首先要确保你的mysql
中有kcgl这个库,还原命令是不会自动建库的。
mysqldump
远程备份
mysqldump
-h
ip
-uroot
-proot
database
>
c:\data.sql
---------其他---------
mysqldump备份:
mysqldump
-u用户名
-p密码
-h主机
数据库
a
-w
"sql条件"
--lock-all-tables
>
路径
案例:
mysqldump
-uroot
-p1234
-hlocalhost
db1
a
-w
"id
in
(select
id
from
b)"
--lock-all-tables
>
c:\aa.txt
mysqldump还原:
mysqldump
-u用户名
-p密码
-h主机
数据库
<
路径
案例:
mysql
-uroot
-p1234
db1
<
c:\aa.txt
mysqldump按条件导出:
mysqldump
-u用户名
-p密码
-h主机
数据库
a
--where
"条件语句"
--no-建表>
路径
mysqldump
-uroot
-p1234
dbname
a
--where
"tag='88'"
--no-create-info>
c:\a.sql
mysqldump按导入:
mysqldump
-u用户名
-p密码
-h主机
数据库
<
路径
案例:
mysql
-uroot
-p1234
db1
<
c:\a.txt
mysqldump导出表:
mysqldump
-u用户名
-p密码
-h主机
数据库
表
案例:
mysqldump
-uroot
-p
sqlhk9
a
--no-data
-------------------------------------------------
mysqldump命令介绍
--all-databases,
-A:
备份所有数据库
--databases,
-B:
用于备份多个数据库,如果没有该选项,mysql
dump
把第一个名字参数作为数据库名,后面的作为表名。使用该选项,mysql
dum把每个名字都当作为数据库名。
--force,
-f:即使发现sql错误,仍然继续备份
--host=host_name,
-h
host_name:备份主机名,默认为localhost
--no-data,
-d:只导出表结构
--password[=password],
-p[password]:密码
--port=port_num,
-P
port_num:制定TCP/IP连接时的端口号
--quick,
-q:快速导出
--tables:覆盖
--databases
or
-B选项,后面所跟参数被视作表名
--user=user_name,
-u
user_name:用户名
--xml,
-X:导出为xml文件
1.备份全部数据库的数据和结构
mysql
dump
-uroot
-p123456
-A
>F:\all.sql
2.备份全部数据库的结构(加
-d
参数)
mysql
dump
-uroot
-p123456
-A
-d>F:\all_struct.sql
3.备份全部数据库的数据(加
-t
参数)
mysql
dump
-uroot
-p123456
-A
-t>F:\all_data.sql
4.备份单个数据库的数据和结构(,数据库名mydb)
mysql
dump
-uroot
-p123456
mydb>F:\mydb.sql
5.备份单个数据库的结构
mysql
dump
-uroot
-p123456
mydb
-d>F:\mydb.sql
6.备份单个数据库的数据
mysql
dump
-uroot
-p123456
mydb
-t>F:\mydb.sql
7.备份多个表的数据和结构(数据,结构的单独备份方法与上同)
mysql
dump
-uroot
-p123456
mydb
t1
t2
>f:\multables.sql
8.一次备份多个数据库
mysql
dump
-uroot
-p123456
--databases
db1
db2
>f:\muldbs.sql
还原部分分(1)mysql
命令行source方法
和
(2)系统命令行方法
1.还原全部数据库:
(1)
mysql
命令行:mysql
>source
f:\all.sql
(2)
系统命令行:
mysql
-uroot
-p123456
use
mydb
mysql
>source
f:\mydb.sql
(2)
mysql
-uroot
-p123456
mydb
use
mydb
mysql
>source
f:\multables.sql
(2)
mysql
-uroot
-p123456
mydb
source
f:\muldbs.sql
(2)
系统命令行:
mysql
-uroot
-p123456
评论
0
0
加载更多
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)