`
上海-沉默者
  • 浏览: 35562 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Linux 安装 MySQL / MySQL 主从备份

阅读更多

!! 假定所有安装包均在 /share目录,安装目录为 /opt !!

$ ll /share
-rw-r--r-- 1 root root  129041873 Nov 29 21:06 mysql-5.1.54-linux-i686-glibc23.tar.gz

==============================================================
========================= 安装 MySQL =========================
==============================================================

0、卸载自带 MSQL

rpm -qa | grep mysql
    mysql-5.0.77-4.el5_4.2
rpm -e mysql-5.0.77-4.el5_4.2 dovecot-1.0.7-7.el5.i386

 

1、解压文件

复制代码
$ groupadd mysql
$ useradd -g mysql mysql
$ cd /share
$ tar zxf mysql-5.1.54-linux-i686-glibc23.tar.gz
$ mv mysql-5.1.54-linux-i686-glibc23 /opt
$ cd /opt
$ ln -s mysql-5.1.54-linux-i686-glibc23 mysql
$ chown -R mysql.mysql mysql-5.1.54-linux-i686-glibc23
$ cp mysql/support-files/my-large.cnf mysql/my.cnf
$ cp mysql/support-files/mysql.server /etc/rc.d/init.d/mysql
复制代码

 

2、修改配置

复制代码
$ vi /opt/mysql/my.cnf (参考下面配置)

[client]
default-character-set=utf8
[mysqld]
basedir= /opt/mysql
#skip-locking
skip-external-locking
character-set-server=utf8
default-storage-engine=INNODB
max_connections=500

$ vi /etc/rc.d/init.d/mysql (参考下面配置)

basedir=/opt/mysql
datadir=$basdir/data
复制代码

 

3、创建数据库

$ cd /opt/mysql
$ ./scripts/mysql_install_db --user=mysql

 

4、创建 mysql 服务

$ chkconfig --add mysql
$ chkconfig --level 23456 mysql on

 

5、初始化数据库

$ service mysql start
$ cd /opt/mysql
$ ./bin/mysql_secure_installation

 

------------------------------------------

下载 service 脚本:services/mysql

------------------------------------------

 

==============================================================
========================= MySQL 主从备份 =========================
==============================================================

主机 IP: 192.168.1.101 (db-server-1)
从机 IP: 192.168.1.110 (db-server-2)
----------------------------------------------------------
需要备份的数据库: db1、db2
----------------------------------------------------------
!!! 假设 MySQL 默认 RPM 安装 !!!
    配置文件: /etc/my.cnf
    安装目录: /usr/
    数据库目录: /var/lib/mysql/
    启动开关: service mysql {start|stop|status|restart|condrestart|try-restart|reload|force-reload}

----------------------------------------------------------
准备工作: 主机和从机个开启两个终端:
    A、主1终端、从1终端运行 mysql
        $ /usr/bin/mysql -uroot -p
            Enter password:
    B、主2终端、从2终端执行 shell 命令
        (首先打开 mysql 日志)
        (主2终端) $ tail -f /var/lib/mysql/db-server-1.err &
        (从2终端) $ tail -f /var/lib/mysql/db-server-2.err &
----------------------------------------------------------

1、(主2终端) 编辑主机 MSQL 配置文件

复制代码
$ vi /etc/my.cnf
  [mysqld]
    server-id = 1
    log-bin = mysql-bin
    binlog_format = mixed
    binlog-do-db = db1
    binlog-do-db = db2
    binlog-ignore-db = test
    binlog-ignore-db = mysql
    binlog-ignore-db = information_schema
$ service mysql restart
复制代码

 

2、(主1终端) 主机 MySQL 建立备份用户 (backup / mypass)

msyql> GRANT FILE, REPLICATION SLAVE, REPLICATION CLIENT, SUPER, RELOAD ON *.* TO backup@'192.168.1.110'IDENTIFIED by 'mypass';
    Query OK, 0 rows affected (0.09 sec)

    (完成后可以在从机上做链接测试 [ 从2终端上输入命令: /usr/bin/mysql -h192.168.1.101 -ubackup -p ],如果不能连通请检查主机防火墙或主机 MySQL 端口)

 

3、(主1终端) 锁定主机数据库表

msyql> FLUSH TABLES WITH READ LOCK;
    Query OK, 0 rows affected (0.13 sec)

 

4、(主1终端) 查看主机 Master 状态

复制代码
mysql> SHOW MASTER STATUS;
    +------------------+----------+--------------+------------------+
    | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
    +------------------+----------+--------------+------------------+
    | mysql-bin.000033 |      458 |              |                  |
    +------------------+----------+--------------+------------------+
    1 row in set (0.01 sec)
复制代码

 

5、(主2终端) 备份主机数据库

$ cd /var/lib/mysql
$ tar zcvf db_backup.tar ibdata* ib_logfile* db1/ db2/
$ mv db_backup.tar /tmp

 

6、(从2终端) 从机导入主机数据库

复制代码
$ service mysql stop
$ cd /var/lib/mysql
$ rm -f ibdata* ib_logfile* mysql-bin.* master.info relay-log.info db1/ db2/
$ scp 192.168.1.101:/tmp/db_backup.tar .
$ tar zxvf db_backup.tar
$ chown -R mysql.mysql ibdata* ib_logfile* db1/ db2/
$ rm -f db_backup.tar
复制代码

 

复制代码
######################## 步骤 5/6 的另一种方法 (相对较慢) ########################
# 5、(主2终端) 备份主机数据库
# ------------------------------
# $ cd /tmp
# $ /usr/bin/mysqldump -uroot -pmypass --default-character-set=utf8 --opt --extended-insert=false --triggers --routines --hex-blob -x -q db1 > db1.sql
# $ /usr/bin/mysqldump -uroot -pmypass --default-character-set=utf8 --opt --extended-insert=false --triggers --routines --hex-blob -x -q db2 > db2.sql
# $ tar zcvf db_backup.tar db1.sql db2.sql

# 6、(从2终端) 导入主机数据库
# ------------------------------
# $ cd /tmp
# $ scp 192.168.1.101:/tmp/db_backup.tar .
# $ tar zxvf db.tar
# $ /usr/bin/mysql -uroot -p
#     Enter password:
#     mysql> create database db1;
#     mysql> use db1;
#     mysql> source /tmp/db1.sql;
#     mysql> create database db2;
#     mysql> use db2;
#     mysql> source /tmp/db2.sql;
#     mysql> exit;
# $ rm -f db.tar db1.sql db2.sql
##################################################################################
复制代码


7、(从2终端) 编辑从机 MySQL 配置文件

复制代码
$ vi /etc/my.cnf

    [mysqld]
    server-id = 2
    log-bin=mysql-bin
    binlog_format=mixed
    replicate-do-db = db1
    replicate-do-db = db2
    replicate-ignore-db = test
    replicate-ignore-db = mysql
    replicate-ignore-db = information_schema
    relay-log = db-server-2-relay-bin
    log-slave-updates
$ service mysql start
复制代码

 

8、(从1终端) 设置备份点

复制代码
mysql> slave stop;
    Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> CHANGE MASTER TO MASTER_HOST='192.168.1.101', MASTER_PORT='3306', MASTER_USER='backup', MASTER_PASSWORD='mypass', MASTER_LOG_FILE='mysql-bin.000033', MASTER_LOG_POS=458;
    Query OK, 0 rows affected (0.02 sec)
mysql> slave start;
    Query OK, 0 rows affected (0.02 sec)
复制代码

 

9、解锁主机数据库表

msyql> UNLOCK TABLES;
    Query OK, 0 rows affected (0.00 sec)

 

10、其他工作

    (删除主从机器的临时文件: db_backup.tar)

 

==============================================================
=================== 配置 MySQL 互为主从备份 ==================
==============================================================

 (假设已根据上面的步骤配置好 MySQL 主从备份)


1、(从2终端) 编辑从机 MSQL 配置文件

复制代码
$ vi /etc/my.cnf
    [mysqld]
    # 加入下面配置
    binlog-do-db = db1
    binlog-do-db = db2
    binlog-ignore-db = test
    binlog-ignore-db = mysql
    binlog-ignore-db = information_schema
$ service mysql restart
复制代码

 

2、(从1终端) 从机 MySQL 建立备份用户 (backup / mypass)

msyql> GRANT FILE, REPLICATION SLAVE, REPLICATION CLIENT, SUPER, RELOAD ON *.* TO backup@'192.168.1.101'IDENTIFIED by 'mypass';
    Query OK, 0 rows affected (0.09 sec)

    (完成后可以在主机上做链接测试 [ 主2终端上输入命令: /usr/bin/mysql -h192.168.1.110 -ubackup -p ],如果不能连通请检查主机防火墙或主机 MySQL 端口)

 

3、(主2终端) 编辑主机 MySQL 配置文件

复制代码
$ vi /etc/my.cnf

    [mysqld]
    # 加入下面配置
    replicate-do-db = db1
    replicate-do-db = db2
    replicate-ignore-db = test
    replicate-ignore-db = mysql
    replicate-ignore-db = information_schema
    relay-log = db-server-1-relay-bin
    log-slave-updates
$ service mysql start
复制代码

 

4、(主1终端) 设置备份点

mysql> slave stop;
    Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> CHANGE MASTER TO MASTER_HOST='192.168.1.101', MASTER_PORT=3306, MASTER_USER='backup', MASTER_PASSWORD='mypass';
    Query OK, 0 rows affected (0.02 sec)
mysql> slave start;
    Query OK, 0 rows affected (0.02 sec)
分享到:
评论

相关推荐

    MySql在linux下的安装及Mysql主从备份的设置

    详细的讲解了Mysql在linux下的安装过程,以及Mysql的主从备份的设置细节

    MySql主从数据库搭建

    MySql主从数据库搭建,Linux Mysql数据库安装 ,通用主从备份策略,Mysql 读写分离数据端配置

    Linux下Mysql双机备份

    还好MySQL数据库提供了一种主从备份的机制,其实就是把主数据库的所有的数据同时写到备份数据库中。实现MySQL数据库的热备份。 2、要想实现双机的热备首先要了解主从数据库服务器的版本的需求。要实现热备MySQL的...

    Linux下Mysql主从备份流程_亲测有效

    两台ubuntu和Centos下分别安装两个mysql数据库。亲自测试Mysql主备。成功!希望对需要的人有帮助。

    Linux下MySQL数据库的主从同步复制配置

    这个就是MySQL主从备份原理。下面我们来看下具体同步配置的流程。 我们先来看下小编测试的环境: CentOS 6.5 MySQL主从同步,MySQL版本5.6.25 主服务器:centos6.5 IP:192.168.1.101 从服务器:centos6.5 IP:192....

    linux下mysql使用复制功能

    mysql服务器,主从之间复制备份,主服务器写入后,数据复制到备份服务器。

    MYSQL主从数据库同步备份配置的方法

    Master Server: 192.0.0.1/Linux/MYSQL 4.1.12 Slave Server: 192.0.0.2/Linux/MYSQL 4.1.18   做主从服务器的原则是,MYSQL版本要相同,如果不能满足,最起码从服务器的MYSQL的版本必须高于主服务器的MYSQL版本 ...

    linux下两个mysql服务器的实时备份

    linux下两个mysql服务器的实时备份,通过主从服务器的设置从而实现数据异地或本地的实时备份。

    linux系统下实现mysql热备份详细步骤(mysql主从复制)

    主要介绍了linux系统下实现MySQL主从热备份

    2017最新老男孩MySQL高级专业DBA实战课程全套【清晰不加密】,看完教程月入40万没毛病

    19-MySQL主从同步一键安装脚本实战mp4 20-MySQL多主多从高可用集群自动切换实现mp4 21-有关MySQL高可用注意及常见故障讲解mp4 22-MySQL集群及高可用的更多思路方案引子mp4 23-常见MySQL集群高可用架构讲座01.mp4 24-...

    老男孩Mysql DBA运维课程(19部全) Mysql DBA高级运维系列课程

    06-第六部-老男孩MySQL主从复制原理及实战部署(10节) 07-第七部-老男孩MySQL主从复制企业级深入高级应用实战(20节) 08-第八部-老男孩MySQL备份与恢复实战案例及生产方案(10节) 09-第九部-老男孩MySQL服务日志...

    linux定时备份mysql并同步到其它服务器

    1、mysql的定期备份; 2、同步到其它服务器 mysql 备份 备份还原某个数据库 备份还原 # 导出数据库 /usr/bin/mysqldump -u root -ppwd database > database20160929.sql # 导入数据库 mysql -u root -p database ...

    MySQL数据库备份.docx

    MySQL的主从(masre-slave)备份 1.1主数据库服务器(Linux)设置 1)关闭服务器MySQL服务 service mysql stop 2) 编辑Linux中的/etc/my.cnf (是MySQL的配置文件路径),在[mysql]下添加:手输入,位置也要方对 log-bin...

    linux数据库主从复制

    MySQL主从复制优点 1、横向扩展解决方案 - 在多个从站之间分配负载以提高性能。在此环境中,所有写入和更新都必须在主服务器上进行。但是,读取可以在一个或多个从设备上进行。该模型可以提高写入性能(因为主设备专...

    mysql高级教程.zip

    会搭建主从复制?一主多从 了解最新的MGR集群 会编写增删该查的SQL 知道InnoDB行锁的不同语法 会用mysqldump进行数据库逻辑备份和恢复 会用perconaxtrabackup进行数据库物理备份和恢复 会使用Linux常用命令 会搭建...

    高清pdf-MySQL王者晋级之路.rar

    《MySQL王者晋级之路》深入剖析MySQL数据库体系结构,实战演练备份恢复、主从复制,详解高可用集群架构的设计与实践过程,详细梳理优化思路,展现新版本的特性,并与真实生产案例相结合,通过核心原理到“王者”实战...

    linux高可靠服务备份

    Heartbeat+drbd+mysql是一种主从结构的高可靠配置,即只有两台服务器,一台是主机,另一台是备机。运行时主机承载服务,备机仅做备份。当主机down掉,备机接管主机地位提供服务。

    mysql安装配置.docx

    mariadb在windows里的安装过程,在linux安装主从热备模式,全库备份还原,单库备份还原

    Mysql数据库之主从分离实例代码

    现在的网站一般大点的,都采用有数据库主从分离、读写分离,即起到备份作用也可以减轻数据库的读写的压力,一直听说过这些,但是自己从没有自己动手亲手实践过,今天有时间实践一下,记录下过程。 实验环境 我准备了...

Global site tag (gtag.js) - Google Analytics