`
上海-沉默者
  • 浏览: 37313 次
  • 性别: 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主从备份的设置

    在本文中,我们将详细讨论如何在Linux环境下安装MySQL以及设置MySQL的主从备份。主从备份是数据库高可用性和数据安全的重要策略,它允许数据在主服务器(Master)和从服务器(Slave)之间进行实时同步,确保即使主...

    Mysql安装及主从备份配置方案操作说明

    在本文中,我们将深入探讨如何安装MySQL,并配置主从备份方案,确保数据的安全性和高可用性。 首先,我们需要了解安装MySQL的过程。对于大多数Linux发行版,MySQL可以通过包管理器进行安装。例如,在Ubuntu上,可以...

    Linux下的MySQL安装及主从配置手册

    5. **MySQL主从配置**: - 主从复制是MySQL中实现数据备份和负载均衡的关键技术。在`my.cnf`中设置`log-bin`开启二进制日志,`server_id`为每个服务器分配唯一的ID,`log-slave-updates`使从服务器也能记录日志。 ...

    Linux系统安装通用MySQL8,及主从配置.7z

    在Linux系统中安装MySQL8并配置主从复制是一项常见的任务,尤其对于那些需要高可用性和数据一致性的企业级应用。MySQL8是目前广泛使用的数据库管理系统,它提供了许多增强的功能和性能改进。以下将详细介绍如何在...

    Linux下MySQL主从同步复制

    【Linux下MySQL主从同步复制】是MySQL数据库在分布式环境中实现数据备份和高可用性的一种常见策略。在Linux操作系统上,这一过程涉及到一系列步骤,包括安装MySQL服务、配置主从服务器、设置复制参数以及验证复制...

    MySQL编译安装、主从复制的配置(CentOS-6.6+MySQL-5.6)

    **二、MySQL主从复制配置** 1. **配置主服务器**:在主服务器上,我们需要开启二进制日志,修改`my.cnf`文件,添加`log-bin=mysql-bin`和`server-id=1`。 2. **备份主服务器数据**:在主服务器上执行全量备份,如`...

    Linux-Mysql主从同步配置

    Linux-Mysql 主从同步配置 本文将详细解释 Linux-Mysql 主从同步配置的步骤和知识点。 一、主服务器配置 1. 编辑数据库配置文件 my.cnf, 一般在/etc/目录下。 2. 在[mysqld]下面加入以下代码: * log-bin=mysql...

    Linux系统安装通用MySQL8,及主从配置.zip

    以上就是Linux系统中安装MySQL 8.0和配置主从复制的基本步骤。为了确保数据的安全性和系统的稳定性,定期检查复制状态并监控日志是非常重要的。同时,根据实际需求,可能还需要进行更复杂的配置,如多线程复制、半...

    linux下mysql主从复制

    ### Linux 下 MySQL 主从复制详解 #### 一、概述 MySQL 的主从复制是一种非常重要的技术,它不仅可以提高系统的可用性和扩展性,还能为数据备份提供便利。在本篇文章中,我们将详细介绍如何在 Linux 操作系统环境...

    linux运维学习笔记:MySQL主从复制原理和实战.pdf

    在开始讨论MySQL主从复制的原理和实战之前,我们需要了解其重要性。主从复制的主要作用是保证数据安全性和服务的持续运行。当主数据库发生故障时,从数据库可以接管业务,保证服务的连续性。同时,通过将数据复制到...

    centos源码安装mysql5.6.15或者5.7版本+mysql主从复制+mysql常用命令

    MySQL主从复制** - 在主服务器上,创建一个用于复制的用户,并设置权限: ```sql CREATE USER 'repl'@'%' IDENTIFIED BY 'password'; GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%'; FLUSH PRIVILEGES; SHOW ...

    linux安装mysql详细新手图文教程+mysql5.1.30软件

    在Linux系统中安装MySQL数据库是许多开发者和系统管理员必须掌握的基本技能。MySQL是一个流行的关系型数据库管理系统,广泛应用于Web应用程序。以下是一个详细的Linux MySQL安装教程,适用于新手,并以MySQL 5.1.30...

    MySQL不停机不锁表主从同步与读写分离配置

    为了实现MySQL不停机不锁表的主从同步与读写分离配置,首先需要安装XtraBackup工具。XtraBackup是一款非常优秀的开源备份工具,尤其适用于InnoDB表的热备份。 **安装步骤:** 1. **安装必要的依赖包**:使用`yum`...

    12.1: MySQL主从同步 、 主从同步模式 、 总结和答疑.docx

    MySQL主从同步配置和实现 MySQL主从同步是指将一个MySQL服务器的数据实时地复制到另一个或多个服务器上,以实现数据的高可用性和灾难恢复。这种方式可以实现数据的热备援、读写分离、负载均衡等功能。 1. 案例 1:...

    全自动安装MYSQL和配置主从(白给版)

    三、MySQL主从复制 主从复制是MySQL数据库高可用性和数据冗余的一种常见实现方式。在这个过程中,一个MySQL实例作为主节点接收写入操作,而其他实例作为从节点同步主节点的数据。为了配置主从复制,你需要: 1. 在...

    MYSQL主从复制专题

    ### MySQL主从复制详解 MySQL主从复制是一种重要的高可用性解决方案,它通过将一个MySQL服务器(主服务器)的数据复制到一个或多个其他MySQL服务器(从服务器)来实现。这种架构不仅能够提升读写分离的能力,提高...

Global site tag (gtag.js) - Google Analytics