mysql-5.0.41.tar.gz,mysql主从备份

Mysql:Mysql-5.0.41.tar.gz

辅助工具:SSH Secure Shell Client

提示:#代表root用户权限

1>将Mysql-5.0.41.tar.gz通过SSH 工具 上传到Linux系统的home目录下

2>建立MySQL使用者和群组:

#groupadd mysql

#useradd -g mysql mysql

3>解压缩Mysql-5.0.41.tar.gz源码包

#cd /usr/local/sofrware

#tar zxvf Mysql-5.0.41.tar.gz

4>进入源码目录编译安装

#cd /home/Mysql-5.0.41

#./configure --prefix=/usr/local/mysql --with-charset=gbk  |注:配置Mysql安装路径并且

支持中文

#make  |注:编译

#make install  |注:编译安装

5>替换/etc/my.cnf文件,进入源码包,执行命令

#cd /home/Mysql-5.0.41

#cp support-files/my-medium.cnf /etc/my.cnf

6>完成以上操作以后进行初始化数据库,进入已经安装好的mysql目录

#cd /usr/local/mysql

#bin/mysql_install_db --user=mysql  |注:--user=mysql 初始化表并且规定用mysql用户

7>设置给mysql和root用户设定访问权限 我们先进入mysql目录

#cd /usr/local/mysql

#chown -R root /usr/local/mysql        注:设定root能访问/usr/local/mysq

#chown -R mysql /usr/local/mysql/var     注:设定mysql用户能访问/usr/local/mysql/var

#chgrp -R mysql /usr/local/mysql        注:设定mysql组能够访问/usr/local/mysq

8>启动mysql,进入已经安装好的目录

#cd /usr/local/mysql

#bin/mysqld_safe --user=mysql &

9>

修改mysql数据库超级用户root的缺省密码:

/usr/local/mysql/bin/mysqladmin -u root password 'mysql'

关闭mysql服务器

cd /usr/local/mysql/bin

./mysqladmin -u root -p    shutdown

10>设定开机就启动mysql,进入源码目录下

# cd /home/Mysql-5.0.41

# cp support-files/mysql.server /etc/init.d/mysql

# chmod +x /etc/init.d/mysql

# chkconfig --level 345 mysql on

# service mysql restart

Shutting down MySQL.                                          [  确定  ]

Starting MySQL                                                [  确定  ]

[root@localhost mysql]#

到这里MySQL就装好了。

现在做主从

A为主机,B为备份机, 在虚拟机下做的

A 内网IP : 192.168.10.189

B 内网IP : 192.168.1.5

数据库版本(5.0.41),目录,初始的库,表 两台机器是一样的

需要备份的库    byheart

不需要备份的库  mysql , test

1. 在主机上添加帐号 mysqlrepl 为备份帐号

GRANT REPLICATION SLAVE ON *.* TO 'mysqlrepl'@'192.168.1.188' IDENTIFIED BY '123456';

然后让两台机器的数据库都 shutdown ,

2. 修改 A 机器上的vi /etc/my.cnf

# 日志的名称

log-bin=mysql-bin

# 主服务器ID

server-id=1

# 需要备份的库

binlog-do-db=zctest

# 忽略的数据库

binlog-ignore-db=mysql

binlog-ignore-db=test

3. 修改 B 机器上的 /etc/my.cnf

# 日志的名称

log-bin=mysql-bin

# 从服务器ID

server-id=2

# 主服务器的IP地址或者域名

master-host=192.168.1.134

# 主数据库的端口号

master-port=3306

# 同步数据库的用户

master-user=mysqlrepl

# 同步数据库的密码

master-password=000000

# 如果从服务器发现主服务器断掉,重新连接的时间差

master-connect-retry=60

# 需要备份的库

replicate-do-db=byheart

# 忽略的数据库

replicate-ignore-db=mysql

replicate-ignore-db=test

4. 启动主 服务器      启动 从服务器

从B机器登上数据库

mysql> show slave status\G;

其中两行显示

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

(show slave status\G 在a机上用这个命令没有反映,结果如下

mysql> show slave status\G

Empty set (0.00 sec)

mysql> )

5.测试

在a机上对 zctest库做添加删除等操作,看看b库的变化

注:在安装完成后回头如下错误

Last_Errno: 1146

Last_Error: Error 'Table 'mysql.tmp_db' doesn't exist' on query. Default database: 'mysql'. Query: 'INSERT INTO db SELECT * FROM tmp_db WHERE @had_db_table=0'

解决办法:

SET GLOBAL SQL_SLAVE_SKIP_COUNTER = n

跳过主服务器中的接下来的 n 个事件。此命令对于由语句引起的复制终止有效。

此语句仅在从服务器线程没运行的时候有效。否则,它将产生一个错误。

阅读(2184) | 评论(0) | 转发(0) |

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值