Openstack(四)Mysql主从
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主从的更多相关文章
- 三十四.MySQL主从同步 、主从同步模式
mysql51:192.168.4.51 主 mysql52:192.168.4.52 从 mysql50:192.168.4.50 客户机 1.MySQL一主一从 1.1 51,52 安装m ...
- 《高可用MySQL》2 – 单机版MySQL主从配置
这里搭建的主从是最简单的单一主从复制(即一个Master和一个slave,没有任何的热机备份和多slave),该主从结构的基本拓扑图如下所示: 建立基本的主从复制可以总结为以下三个基本步骤: 配置ma ...
- Amoeba搞定mysql主从读写分离
前言:一直想找一个工具,能很好的实现mysql主从的读写分离架构,曾经试用过mysql-proxy发现lua用起来很不爽,尤其是不懂lua脚本,突然发现了Amoeba这个项目,试用了下,感觉还不错,写 ...
- Mysql主从配置+读写分离
Mysql主从配置+读写分离 MySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具.因此,我们首先要在系统中源码编译安装cmake工具. ...
- Amoeba实现mysql主从读写分离
Amoeba实现mysql主从读写分离 这段在网上看了下关于amoeba的文章,总体感觉好像要比mysql-proxy好的多,也参考了不少的资料,此文章可能与其他文章作者会有雷同的地方,请谅解,但是此 ...
- MySQL主从问题
Mysql数据库主从心得整理 管理mysql主从有2年多了,管理过200多组mysql主从,几乎涉及到各个版本的主从,本博文属于总结性的,有一部分是摘自网络,大部分是根据自己管理的心得和经验 ...
- Mysql主从配置+读写分离(转)
MySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具.因此,我们首先要在系统中源码编译安装cmake工具. 注:安装前须查看是否已经安装了 ...
- MYSQL 主从服务器配置工作原理
一. 主从配置的原理: Mysql的 Replication 是一个异步的复制过程,从一个 Mysql instace(我们称之为 Master)复制到另一个 Mysql instanc ...
- windows环境下mysql主从配置
mysql主从配置. 相关理论知识可以百度一下,这里就不多说了,直接说如何配置. 一.环境介绍及说明 主库所在的操作系统:win7 主库的版本:mysql-5.6.24-winx64.zip 主库的i ...
随机推荐
- SQL 2005 如何只安装客户端?
在“注册信息”输入合适的用户名和公司后,点击[下一步],在“要安装的组件”界面中选择要安装的组件:根据我们的需要来选择要安装的组件(各组件的说明如下表),这里我勾选所有的组件:我们可以点击 [高级 ...
- VR资源浏览网站
https://my.matterport.com 资源 https://my.matterport.com/show/?m=kCeVCzCjQ5s
- oracle 无效索引
错误信息:ORA-01502: index 'VOX_ID' or partition of such index is in unusable state 原因:将表的表空间做了更改,导致索引失效. ...
- Android ListView圆角
首先来看看ListView 相关基本属性 1.单击列表后,列表的背景变成黑色了. 可通过指定android:cacheColorHint的属性来放变它,将它指定为透明. 使用以下的属性值: a ...
- Int 型数值存储
1. Int 在计算机中占 4 Byte, 共 32 位, 最大正数为 2147483647, 最小负数为 -2147483648 2. 正数存储在计算机中的形式为原码,最大正数的十六进制形式为 0X ...
- GIS-013-Cesium Terrain 数据生成
一.Python 1.修改Python脚本文件 if __name__=='__main__': #sys.argv = ['F:\\000_Terrain\\T7-gdal2srtmtiles-de ...
- VR室内定位系统小结
一.写在开始之前 不管是HTC 的Vive还是OC的CV1,都说明VR 定位设备和手柄都会成为未来VR的发展趋势. VR目前关键就是体验,全身心的投入,身临其境的感觉. 不能总玩着玩着,出戏了.这肯定 ...
- windows cmd命令大全/cmd命令提示符大全
刚接触电脑的时候是从DOS系统开始,DOS时代根本就没有Windows这样的视窗操作界面,只有一个黑漆漆的窗口,让你输入命令.所以学DOS系统操作,cmd命令提示符是不可或缺的.可以告诉大家,大多数的 ...
- windows命令之PING DIR DEL CD TASKLIST (转)
最简单的莫过于PING命令了. PING命令的功能就是给对方主机发送IP数据包. 一般都是测试主机是否在线. 用法如下: PING 192.168.1.1.PING命令默认发送的是四个数据包,当然也可 ...
- mySQL数据库一:数据类型
integer(整型)varchar(字符串类型,必须要跟最大字符串)text(大文本)float(单精度,即七到八位有效数字)double(双精度,即15到16位有效数字)date(只有年月日)ti ...