接上一篇:MySQL数据库入门之备份数据库

安装环境说明

系统环境:

[root@~]# cat /etc/redhat-release CentOS release 6.5 (Final)[root@~]# uname -r2.6.32-431.el6.x86_64

由于是模拟环境,主从库在同一台服务器上,服务器IP地址192.168.1.7

  • 主库使用3306端口
  • 从库使用3307端口
  • 数据库数据目录/data

安装MySQL数据库服务

下载软件包

今天我们是用二进制安装包进行布署MySQL数据库服务,其它方式的安装布署方法请参考前面的文章

[root@~]#wget http://mirrors.sohu.com/mysql/MySQL-5.5/mysql-5.5.51-linux2.6-x86_64.tar.gz 
[root@~]#mkdir /data{3306,3307} -p[root@~]#mkdri /application
[root@~]#tar zxf mysql-5.5.51-linux2.6-x86_64.tar.gz [root@~]#mv mysql-5.5.51-linux2.6-x86_64 /application/mysql-5.5.51[root@~]#ln -s /application/mysql-5.5.51 /application/mysql
[root@~]#groupadd mysql[root@~]#useradd -g mysql -M mysql
[root@~]#/application/mysql/scripts/mysql_install_db --basedir=/application/mysql --datadir=/data/3306/data --user=mysql[root@~]#/application/mysql/scripts/mysql_install_db --basedir=/application/mysql --datadir=/data/3307/data --user=mysql
[root@~]#vi /data/3306/my.cnf[client]port   = 3306socket   = /data/3306/mysql.sock[mysql]no-auto-rehash[mysqld]user = mysqlport = 3306socket = /data/3306/mysql.sockbasedir = /application/mysqldatadir = /data/3306/dataopen_files_limit = 1024back_log = 600max_connections = 800max_connect_errors = 3000table_cache = 614external-locking = FALSEmax_allowed_packet =8Msort_buffer_size = 1Mjoin_buffer_size = 1Mthread_cache_size = 100thread_concurrency = 2query_cache_size = 2Mquery_cache_limit = 1Mquery_cache_min_res_unit = 2kthread_stack = 192Ktmp_table_size = 2Mmax_heap_table_size = 2Mlong_query_time = 1pid-file = /data/3306/mysql.pidlog-bin = /data/3306/mysql-bin#主从同步的关键点,从库上不需要开启relay-log = /data/3306/relay-binrelay-log-info-file = /data/3306/relay-log.infobinlog_cache_size = 1Mmax_binlog_cache_size = 1Mmax_binlog_size = 2Mexpire_logs_days = 7key_buffer_size = 16Mread_buffer_size = 1Mread_rnd_buffer_size = 1Mbulk_insert_buffer_size = 1Mlower_case_table_names = 1skip-name-resolveslave-skip-errors = 1032,1062replicate-ignore-db=mysqlserver-id = 1 #主库从库ID 不可相同[mysqldump]quickmax_allowed_packet = 2M[mysqld_safe]log-error=/data/3306/mysql3306.errpid-file=/data/3306/mysqld.pid
[root@~]#vi /data/3306/mysql#!/bin/shport=3306user="root"pwd="123456"Path="/application/mysql/bin"sock="/data/${port}/mysql.sock"start_mysql(){ if [ ! -e "$sock" ];then  printf "Starting MySQL...\n"  /bin/sh ${Path}/mysqld_safe --defaults-file=/data/${port}/my.cnf 2>&1 > /dev/null & else  printf "MySQL is running...\n"  exit fi}stop_mysql(){ if [ ! -e "$sock" ];then  printf "MySQL is stopped...\n"  exit else  printf "Stoping MySQL...\n"  ${Path}/mysqladmin -u ${user} -p${pwd} -S /data/${port}/mysql.sock shutdown fi}restart_mysql(){ printf "Restarting MySQL...\n" stop_mysql sleep 2 start_mysql}case $1 instart) start_mysql;;stop) stop_mysql;;restart) restart_mysql;;*) printf "Usage: /data/${port}/mysql {start|stop|restart}\n"esac

授权目录并增加启动文件可执行权限

[root@~]#chown -R mysql.mysql /data[root@~]#find /data -name mysql -exex chmod +x {} \;
[root@~]#/data/3306/mysql start[root@~]#/data/3307/mysql start
[root@~]#mysqladmin -uroot password '123456' -S /data/3306/mysql.sock[root@~]#mysqladmin -uroot password '123456' -S /data/3307/mysql.sock

配置主库

1)备份主库

mkdir /backup
[root@~]#mysql -uroot -p123456 -S /data/3306/mysql.sockmysql> grant replication slave on *.* to rep@'192.168.1.%' identified by'123456';Query OK, 0 rows affected (0.00 sec)mysql> flush privileges;Query OK, 0 rows affected (0.00 sec)
[root@~]#/application/mysql/bin/mysql -uroot -p123456 -S /data/3306/mysql.sock -e "flush table with read lock;"
[root@~]#/application/mysql/bin/mysql -uroot -p123456 -S /data/3306/mysql.sock -e "show master status;" >/backup/mysql.log[root@~]#/application/mysql/bin/mysqldump -uroot -p123456 -S /data/3306/mysql.sock -A -B |gzip >/backup/mysql.sql.gz
[root@~]#/application/mysql/bin/mysql -uroot -p123456 -S /data/3306/mysql.sock -e "unlock tables;" 

配置从库实现主从同步

将主库的备份文件解压并恢复数据库

[root@backup ]#gzip -d mysql.sql.gz[root@backup ]#/application/mysql/bin/mysql -uroot -p123456 -S /data/3307/mysql.sock < mysql.sql
[root@backup ]#cat mysql.log+------------------+----------+--------------+------------------+| File    | Position | Binlog_Do_DB | Binlog_Ignore_DB |+------------------+----------+--------------+------------------+| mysql-bin.000002 |  424 |    |     |+------------------+----------+--------------+------------------+
mysql> CHANGE MASTER TO -> MASTER_HOST='192.168.1.7',  #服务器IP -> MASTER_PORT=3306,    #主库端口 -> MASTER_USER='rep',    #同步的用户 -> MASTER_PASSWORD='123456',  #同步的用户密码 -> MASTER_LOG_FILE=' mysql-bin.000002', #binlog文件 -> MASTER_LOG_POS=424;     #位置点mysql> start slave;    #开启同步
[root@backup ]# mysql -S /data/3307/mysql.sock -e "show slave status\G"|egrep "Seconds_Behind_Master|_Running"   Slave_IO_Running: Yes   Slave_SQL_Running: Yes   Seconds_Behind_Master: 0

测试主从同步

主库创建一个数据库

[root@backup ~]# mysql -S /data/3306/mysql.sock -e "create database tongbuku"[root@backup ~]# mysql -S /data/3306/mysql.sock -e "show databases"+-----------------------------+| Database     |+-----------------------------+| information_schema   || mysql      || performance_schema   || test      || tongbuku     |+-----------------------------+
[root@backup ~]# mysql -S /data/3307/mysql.sock -e "show databases"+-----------------------------+| Database     |+-----------------------------+| information_schema   || mysql      || performance_schema   || test      || tongbuku     |+-----------------------------+

更多关于MySQL相关内容感兴趣的读者可查看本站专题:《MySQL查询技巧大全》、《MySQL常用函数大汇总》、《MySQL日志操作技巧大全》、《MySQL事务操作技巧汇总》、《MySQL存储过程技巧大全》及《MySQL数据库锁相关技巧汇总》

希望本文所述对大家MySQL数据库计有所帮助。

更多相关文章

  1. MySQL系列多表连接查询92及99语法示例详解教程
  2. Android(安卓)- Manifest 文件 详解
  3. Android的Handler机制详解3_Looper.looper()不会卡死主线程
  4. Selector、shape详解(一)
  5. android2.2资源文件详解4--menu文件夹下的菜单定义
  6. Android发送短信方法实例详解
  7. Android(安卓)读取资源文件实例详解
  8. 详解Android中的屏幕方向
  9. Android学习笔记(10)————Android的Listview详解1(ArrayAdapte

随机推荐

  1. 双指针的魅力!四行代码求解「盛最多水的容
  2. 客户端用不着的数据结构之并查集
  3. 最小堆的魅力!思路清晰求解「至少需要多少
  4. 五分钟小知识:布隆过滤器原理和应用分析
  5. 炫酷!用Python制作漂亮的流动桑基图
  6. Java 包(学习 Java 编程语言 035)
  7. 经典算法题:排序算法
  8. 初识广度优先搜索与解题套路
  9. 二分查找法:在女朋友回家之前可以玩多少个
  10. 从一道简单算法题理解快速排序的 partiti