4.1 安装mysql

4.1.1 安装依赖

# yum install vim gcc gcc-c++ wget autoconf  net-tools lrzsz iotop lsof iotop bash-completion –y

# yum install curl policycoreutils openssh-server openssh-clients postfix –y

4.1.2 下载mysql包:

# mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz

# tar -xf mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz -C /usr/local/src

# useradd  mysql  -s /sbin/nologin

# chown  -R mysql.mysql  /usr/local/mysql/* -R

# mkdir -pv /var/lib/mysql && chwn mysql.mysql /var/lib/mysql –R

# mkdir -pv /data/mysql/{data,logs} && touch  /data/mysql/logs/error.log && chown  -R mysql.mysql  /data   -R

4.1.3安装mysql

# /usr/local/mysql/scripts/mysql_install_db  --user=mysql --datadir=/data/mysql/data  --#basedir=/usr/local/mysql/

# cp  /usr/local/src/mysql-5.6.36-linux-glibc2.5-x86_64/support-files/mysql.server /etc/init.d/mysqld

# chmod a+x /etc/init.d/mysqld

# ln -sv /usr/local/mysql/bin/mysql  /usr/bin/mysql

4.1.4配置my.cnf

# vim /etc/my.cnf

[client]

port            = 3306

socket          = /data/mysql/data/mysql.sock

#default-character-set=utf8

[mysqld]

#skip-grant-tables

sync_binlog=0  # 同步binlog设置

innodb_flush_log_at_trx_commit=0

default-time-zone = '+8:00'

local-infile=0

skip-name-resolve

skip-external-locking

back_log = 300

max_connections = 1000 # 最大链接

max_allowed_packet = 32M

binlog_cache_size = 1M

max_heap_table_size = 64M

sort_buffer_size = 2M

query_cache_type=0

join_buffer_size = 2M

thread_cache = 8

ft_min_word_len = 4

thread_stack = 192K

tmp_table_size = 64M

port            = 3306

socket          = /data/mysql/data/mysql.sock

skip-external-locking

key_buffer_size = 16M

table_open_cache = 400

net_buffer_length = 8K

read_buffer_size = 256K

read_rnd_buffer_size = 512K

myisam_sort_buffer_size = 8M

datadir=/data/mysql/data

log-bin=mysql-bin

replicate-ignore-db=test

replicate-ignore-db=performance_schema

replicate-ignore-db=information_schema

binlog-ignore-db=mysql

binlog-ignore-db=information_schema

binlog_format=row

server-id       =201  # 主从serviceid不能一样,重点

relay-log=relay-bin

relay-log-index=relay-bin

log-queries-not-using-indexes

long_query_time =1

slow_query_log=on

log_queries_not_using_indexes=off

slow_query_log_file=/data/mysql/logs/slow_query.log

log-error=/data/mysql/logs/error.log

key_buffer_size = 32M

read_buffer_size = 2M

read_rnd_buffer_size = 2M

bulk_insert_buffer_size = 64M

myisam_sort_buffer_size = 32M

myisam_max_sort_file_size = 10M

myisam_repair_threads = 1

myisam_recover

innodb_buffer_pool_size=5000M

innodb_additional_mem_pool_size=32M

innodb_data_file_path = ibdata1:10M:autoextend

innodb_file_io_threads = 4

innodb_thread_concurrency = 16

innodb_log_buffer_size = 8M

innodb_log_file_size = 128M

innodb_log_files_in_group = 3

innodb_max_dirty_pages_pct = 90

innodb_lock_wait_timeout = 120

innodb_file_per_table=1

innodb_open_files=500

character-set-server = utf8 # 指定字符编码

wait_timeout=300

interactive_timeout=300

innodb_flush_method=O_DIRECT

log-bin-trust-function-creators=1

log_slave_updates = 1

[mysqldump]

quick

max_allowed_packet = 16M

user=root

password=root

[mysql]

no-auto-rehash

# /etc/init.d/mysqld start

4.1.5 mysql安装脚本:

#ll

-rw-r--r--  1 root  root  310425313 Mar 17 18:12 mysql-5.6.36-onkeyinstall.tar.gz

-rwxr-xr-x  1 root  root       1513 Jan 22 16:20 mysql-install.sh

-rw-r--r--  1 root  root       2293 Jan 22 16:17 my.cnf

# ./mysql-install.sh

# cat mysql-install.sh

#!/bin/bash

DIR=`pwd`

NAME="mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz"

FULL_NAME=${DIR}/${NAME}

DATA_DIR="/data/mysql"

yum install vim gcc gcc-c++ wget autoconf  net-tools lrzsz iotop lsof iotop bash-completion -y

yum install curl policycoreutils openssh-server openssh-clients postfix -y

if [ -f ${FULL_NAME} ];then

echo "安装文件存在"

else

echo "安装文件不存在"

exit 3

fi

if [ -h /usr/local/mysql ];then

echo "Mysql 已经安装"

exit 3

else

tar xvf ${FULL_NAME}   -C /usr/local/src

ln -sv /usr/local/src/mysql-5.6.36-linux-glibc2.5-x86_64  /usr/local/mysql

if id  mysql;then

echo "mysql 用户已经存在,跳过创建用户过程"

fi

useradd  mysql  -s /sbin/nologin

if  id  mysql;then

chown  -R mysql.mysql  /usr/local/mysql/* -R

if [ ! -d  /data/mysql ];then

mkdir -pv /var/lib/mysql && chwn mysql.mysql /var/lib/mysql -R

mkdir -pv /data/mysql/{data,logs} && touch  /data/mysql/logs/error.log && chown  -R mysql.mysql  /data   -R

/usr/local/mysql/scripts/mysql_install_db  --user=mysql --datadir=/data/mysql/data  --basedir=/usr/local/mysql/

cp  /usr/local/src/mysql-5.6.36-linux-glibc2.5-x86_64/support-files/mysql.server /etc/init.d/mysqld

chmod a+x /etc/init.d/mysqld

cp ${DIR}/my.cnf   /etc/my.cnf

ln -sv /usr/local/mysql/bin/mysql  /usr/bin/mysql

/etc/init.d/mysqld start

else

echo "MySQL数据目录已经存在,"

exit 3

fi

fi

4.2 配置mysql主从

4.2.1主库配置授权账号并查看状态

# /etc/init.d/mysqld restart

# mysql

> create database testdatabase;

>  GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO 'tom'@'192.168.10.%' IDENTIFIED BY '123456'; #授权tom从192.168.10.*使用密码123456同步数据

#

>  show master status;

>exit

4.2.2主库dump导从库

# 主库执行

# /usr/local/mysql/bin/mysqldump   --all-databases  --single_transaction --flush-logs --master-data=2 --lock-tables > /backup.sql

# scp /backup.sql  192.168.10.202:/root/

# 从库执行

# /usr/local/mysql/bin/mysql < /root/backup.sql  # 创建账号的权限已导入从库

4.2.3配置从库同步主库

# mysql

>  CHANGE MASTER TO    MASTER_HOST='192.168.10.101',MASTER_USER='tom',MASTER_PASSWORD='123456',MASTER_LOG_FILE='mysql-bin.000006',MASTER_LOG_POS=120;

> start slave;

> show global variables like "%read_only%";

>  set global read_only=1; #开启只读模式,只读模式仅对普通用户生效,对root不生效

>  show global variables like "%read_only%"; #验证是否生效

4.3验证mysql主从

> show slave status\G;

Slave_IO_Running: Yes #这两个线程状态必须为YES才表示同步是成功的

Slave_SQL_Running: Yes

Openstack(四)Mysql主从的更多相关文章

  1. 三十四.MySQL主从同步 、主从同步模式

    mysql51:192.168.4.51 主 mysql52:192.168.4.52 从 mysql50:192.168.4.50 客户机   1.MySQL一主一从   1.1 51,52 安装m ...

  2. 《高可用MySQL》2 – 单机版MySQL主从配置

    这里搭建的主从是最简单的单一主从复制(即一个Master和一个slave,没有任何的热机备份和多slave),该主从结构的基本拓扑图如下所示: 建立基本的主从复制可以总结为以下三个基本步骤: 配置ma ...

  3. Amoeba搞定mysql主从读写分离

    前言:一直想找一个工具,能很好的实现mysql主从的读写分离架构,曾经试用过mysql-proxy发现lua用起来很不爽,尤其是不懂lua脚本,突然发现了Amoeba这个项目,试用了下,感觉还不错,写 ...

  4. Mysql主从配置+读写分离

    Mysql主从配置+读写分离     MySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具.因此,我们首先要在系统中源码编译安装cmake工具. ...

  5. Amoeba实现mysql主从读写分离

    Amoeba实现mysql主从读写分离 这段在网上看了下关于amoeba的文章,总体感觉好像要比mysql-proxy好的多,也参考了不少的资料,此文章可能与其他文章作者会有雷同的地方,请谅解,但是此 ...

  6. MySQL主从问题

    Mysql数据库主从心得整理      管理mysql主从有2年多了,管理过200多组mysql主从,几乎涉及到各个版本的主从,本博文属于总结性的,有一部分是摘自网络,大部分是根据自己管理的心得和经验 ...

  7. Mysql主从配置+读写分离(转)

       MySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具.因此,我们首先要在系统中源码编译安装cmake工具. 注:安装前须查看是否已经安装了 ...

  8. MYSQL 主从服务器配置工作原理

    一.        主从配置的原理: Mysql的 Replication 是一个异步的复制过程,从一个 Mysql instace(我们称之为 Master)复制到另一个 Mysql instanc ...

  9. windows环境下mysql主从配置

    mysql主从配置. 相关理论知识可以百度一下,这里就不多说了,直接说如何配置. 一.环境介绍及说明 主库所在的操作系统:win7 主库的版本:mysql-5.6.24-winx64.zip 主库的i ...

随机推荐

  1. Win10关闭自动更新

    1.搜索栏输入“组策略”后回车 2.找到计算机配置→管理模板→Windows组件→Windows更新 3.在右侧双击“配置自动更新”,然后选择“已启用”,在左下方下拉菜单中选择“2 - 通知下载并通知 ...

  2. [转]各种编码ANSI、GB2312、GBK、GB18030、UNICODE以及UTF-8傻傻分不清!

    计算机编程中的编码一直是让新手非常头疼的问题,特别是 GBK.GB2312.UTF-8 这三个比较常见的网页编码的区别,更是让许多新手晕头转向,怎么解释也解释不清楚,看一遍貌似懂了,但实际使用的时候又 ...

  3. SDUT -refresh的停车场(栈和队列)

    题目描写叙述  refresh近期发了一笔横財,开了一家停车场.因为土地有限,停车场内停车数量有限,可是要求进停车场的车辆过多. 当停车场满时,要进入的车辆会进入便道等待.最先进入便道的车辆会优先 进 ...

  4. EF的代码优先设计

    CodeFirst 用中文说是代码优先,此技术可以让我们先写代码,然后由Entity Framework根据我们的代码建立数据库 接下来用学生这个例子来演示,有学生表,课程表,和成绩表三张表 首先是M ...

  5. Redis(七)-- SpringMVC整合Redis集群

    1.pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www ...

  6. iOS实现传递不定长的多个参数

    我们在使用苹果官方的文档的时候会发现可传不定数的参数例如: // [[UIAlertView alloc]initWithTitle:<#(nullable NSString *)#> m ...

  7. OracleServiceORCL这个服务竟然不见了

    OracleServiceORCL这个服务竟然不见了,后数据库连接不成功,晕死,以前使用数据库还能看到,现在竟然不见了?Why?我猜测原因有二: ①:电脑已经装了Oracle数据库后又装了MySql数 ...

  8. poj_2396 有上下界的网络流

    题目大意 一个mxn的矩阵,给出矩阵中每一行的和sh[1,2...m]以及每一列的数字的和目sv[1,2...n],以及矩阵中的一些元素的范围限制,比如a[1][2] > 1, a[2][3] ...

  9. Linux学习——自定义shell终端提示符

    转自:here 我使用的Linux发行版是LinuxMint 17.2 Rafaela,默认情况下Terminal中的shell提示包括了用户名.主机名.当前目录(绝对路径)和提示符.这样会导致当进入 ...

  10. 开源的PaaS方案:在OpenStack上部署CloudFoundry (三)部署BOSH

    BOSH是CloudFoundry提供的用来安装部署和升级CloudFoundry的自动化工具,可是说是CloudFoundry的一部分.总体来说,BOSH是Client/Server结构, BOSH ...