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 个事件。此命令对于由语句引起的复制终止有效。
此语句仅在从服务器线程没运行的时候有效。否则,它将产生一个错误。
阅读(2973) | 评论(0) | 转发(0) |