mysql主从服务器的配置
2010-09-04 09:53
399 查看
首先安装mysql
相对于RPM安装,二进制源码安装稍微麻烦了点。但是我们可以在安装脚本中自定义安装的相关配置,而不象rpm方式只能安装默认的配置。
首先成为root用户 我们这里使用的是mysql-5.1.45-linux-i686-glibc23.tar.gz
[root@bogon ~]# tat zxvf mysql-5.1.45-linux-i686-glibc23.tar.gz
–C /usr/local
mysql-3.22.21-pc-linux-gnu-i686的目录被创建出来。为这个目录做个符号链接,并给它一个更友好的名字mysql :
mysql-5.1.45-linux-i686-glibc23
建立一个能运行MySQL守护程序的用户帐号,并且所有MySQL文件都归此帐户拥有。useradd命令去添加一个叫
mysql的帐号,还要暂时禁止login功能
[root@bogon ~]# groupadd –r mysql
[root@bogon ~]# useradd –g mysql –s
/sbin/nologin –M –r mysql
为MySQL做准备
首先让我们将MySQL目录和文件的拥有权改成 mysql 用户和root组:
[root@bogon ~]# cd /usr/local
[root@bogon local]# chown –R mysql:root mysql-5.1.45-linux-i686-glibc23
mysql
然后运行一个小脚本程序,以建立初始化的MySQL数据库。请以一个mysql 用户的身份完成这个任务
# su mysql
$ cd mysql
$ scripts/mysql_install_db
$ exit
自动运行MySQL
在MySQL二进制包里面,有一个叫myslq.server的启动脚本程序。把它复制到/etc/rc.d/init.d目录里面:
# cd /etc/rc.d/init.d
#cp
/usr/local/mysql/support-file/mysql.server mysql
# chmod +x mysql 将其属性改为可执行
运行chkconfig把MySQL添加到你系统的启动服务组里面去。
# /sbin/chkconfig --del mysql
# /sbin/chkconfig --add mysql
测试mysql
# /etc/rc.d/init.d/mysql start
正常情况下将会出现一下信息:
Starting
mysqld daemon with databases from /var/lib/mysql
# mysql
mysql> show databases;
ok 一切正常
从服务器安装的是同样方法安装同一个版本的
建立jack账户
并允许能从 137地址登陆
# mysql> GRANT
REPLICATION SLAVE ON *.* TO jack@192.168.0.137 IDENTIFIED BY ‘123456’
赋予从机权限
# vim /etc/my.cnf
添加如下
[align=left] server-id = 1 [/align]
[align=left] log-bin=mysql-bin [/align]
[align=left] binlog-do-db=wow [/align]
binlog-ignore-db=mysql
[align=left] #binlog-do-db=需要备份的数据库名,可写多行 [/align]
#binlog-ignore-db=不需要备份的数据库名,可写多行
从服务器:
# vim /etc/my.cnf
添加:
[align=left] server-id=2 [/align]
[align=left] log-bin=mysql-bin [/align]
[align=left] master-host=172.16.0.10 [/align]
[align=left] master-user=allen [/align]
[align=left] master-password=1234 [/align]
[align=left] master-port=3306 [/align]
[align=left] replicate-do-db=wow [/align]
master-connect-retry=60
[align=left] # replicate-do-db=wow 需要备份的数据库名 [/align]
[align=left] # replicate-ignore-db=mysql 忽略的数据库(如果需要的话) [/align]
# master-connect-retry=60 如果从服务器发现主服务器断掉,重新连接的时间差(秒)
下面需要把主节点上的数据库mytest手动备份导入到从节点中
主节点# mysqldump
uroot -p mytest > mysql.sql
拷贝mysql.sqldao
从节点
从节点# mysql
> create database mytest
shell# mysqldump -uroot -p mytest <
mysql.sql
重启主节点
重启从节点
下面需要验证配置是否正确
主服务器:
mysql> show master status\G;
出现:
表示配置正确
从服务器:
登陆mysql
mysql> show slave status\G;
以上是“yes”即可
++修改配置需要注意
需要删除从服务器上的/var/lib/mysql/master.info文件,否则my.cnf如何修改都不生效。
主节点的相关命令
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端已同步过的日志
产生的mysql-bin.00000x文件可以删除
reset master; #http://bbs.chinaunix.net/thread-745343-1-1.html`
同步出错时,如果被同步语句确定在从库上可以被忽略
slave stop;
SET GLOBAL SQL_SLAVE_SKIP_COUNTER = n;
slave start;
# 看show slave
status \G中的Seconds_Behind_Master:
0为正常本文出自 “骑虎南下” 博客,请务必保留此出处http://battle.blog.51cto.com/1888131/387191
相对于RPM安装,二进制源码安装稍微麻烦了点。但是我们可以在安装脚本中自定义安装的相关配置,而不象rpm方式只能安装默认的配置。
首先成为root用户 我们这里使用的是mysql-5.1.45-linux-i686-glibc23.tar.gz
[root@bogon ~]# tat zxvf mysql-5.1.45-linux-i686-glibc23.tar.gz
–C /usr/local
mysql-3.22.21-pc-linux-gnu-i686的目录被创建出来。为这个目录做个符号链接,并给它一个更友好的名字mysql :
mysql-5.1.45-linux-i686-glibc23
建立一个能运行MySQL守护程序的用户帐号,并且所有MySQL文件都归此帐户拥有。useradd命令去添加一个叫
mysql的帐号,还要暂时禁止login功能
[root@bogon ~]# groupadd –r mysql
[root@bogon ~]# useradd –g mysql –s
/sbin/nologin –M –r mysql
为MySQL做准备
首先让我们将MySQL目录和文件的拥有权改成 mysql 用户和root组:
[root@bogon ~]# cd /usr/local
[root@bogon local]# chown –R mysql:root mysql-5.1.45-linux-i686-glibc23
mysql
然后运行一个小脚本程序,以建立初始化的MySQL数据库。请以一个mysql 用户的身份完成这个任务
# su mysql
$ cd mysql
$ scripts/mysql_install_db
$ exit
自动运行MySQL
在MySQL二进制包里面,有一个叫myslq.server的启动脚本程序。把它复制到/etc/rc.d/init.d目录里面:
# cd /etc/rc.d/init.d
#cp
/usr/local/mysql/support-file/mysql.server mysql
# chmod +x mysql 将其属性改为可执行
运行chkconfig把MySQL添加到你系统的启动服务组里面去。
# /sbin/chkconfig --del mysql
# /sbin/chkconfig --add mysql
测试mysql
# /etc/rc.d/init.d/mysql start
正常情况下将会出现一下信息:
Starting
mysqld daemon with databases from /var/lib/mysql
# mysql
mysql> show databases;
ok 一切正常
从服务器安装的是同样方法安装同一个版本的
建立jack账户
并允许能从 137地址登陆
# mysql> GRANT
REPLICATION SLAVE ON *.* TO jack@192.168.0.137 IDENTIFIED BY ‘123456’
赋予从机权限
# vim /etc/my.cnf
添加如下
[align=left] server-id = 1 [/align]
[align=left] log-bin=mysql-bin [/align]
[align=left] binlog-do-db=wow [/align]
binlog-ignore-db=mysql
[align=left] #binlog-do-db=需要备份的数据库名,可写多行 [/align]
#binlog-ignore-db=不需要备份的数据库名,可写多行
从服务器:
# vim /etc/my.cnf
添加:
[align=left] server-id=2 [/align]
[align=left] log-bin=mysql-bin [/align]
[align=left] master-host=172.16.0.10 [/align]
[align=left] master-user=allen [/align]
[align=left] master-password=1234 [/align]
[align=left] master-port=3306 [/align]
[align=left] replicate-do-db=wow [/align]
master-connect-retry=60
[align=left] # replicate-do-db=wow 需要备份的数据库名 [/align]
[align=left] # replicate-ignore-db=mysql 忽略的数据库(如果需要的话) [/align]
# master-connect-retry=60 如果从服务器发现主服务器断掉,重新连接的时间差(秒)
下面需要把主节点上的数据库mytest手动备份导入到从节点中
主节点# mysqldump
uroot -p mytest > mysql.sql
拷贝mysql.sqldao
从节点
从节点# mysql
> create database mytest
shell# mysqldump -uroot -p mytest <
mysql.sql
重启主节点
重启从节点
下面需要验证配置是否正确
主服务器:
mysql> show master status\G;
出现:
表示配置正确
从服务器:
登陆mysql
mysql> show slave status\G;
以上是“yes”即可
++修改配置需要注意
需要删除从服务器上的/var/lib/mysql/master.info文件,否则my.cnf如何修改都不生效。
主节点的相关命令
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端已同步过的日志
产生的mysql-bin.00000x文件可以删除
reset master; #http://bbs.chinaunix.net/thread-745343-1-1.html`
同步出错时,如果被同步语句确定在从库上可以被忽略
slave stop;
SET GLOBAL SQL_SLAVE_SKIP_COUNTER = n;
slave start;
# 看show slave
status \G中的Seconds_Behind_Master:
0为正常本文出自 “骑虎南下” 博客,请务必保留此出处http://battle.blog.51cto.com/1888131/387191
相关文章推荐
- MySql 配置主从服务器、配置主主服务器
- mysql服务器简单主从配置
- Mysql主从服务器的配置
- mysql主从服务器配置特殊问题
- MySQL的主从服务器配置
- mysql主从服务器配置
- Mysql 主从服务器配置及用户创建 (总结)
- MYSQL 主从服务器配置工作原理
- 配置mysql5.5主从服务器(转)
- MySQL 服务器主从同步架构安装配置学习记录
- MYSQL主从服务器配置
- MYSQL 主从服务器配置工作原理
- MySQL主从服务器配置
- mysql主从服务器的配置
- magento配置主从数据库,以及mysql 主从服务器配置详细
- Mysql主从服务器配置及注意
- 【实战】新服务器mysql主从配置
- mysql主从数据库配置(主服务器某库,从服务器某些表)
- mysql服务器的主从配置
- ansible 自动化搭建mysql服务器快速配置主从架构