CentOS6.5下源码安装多个MySQL实例及复制搭建
多实例安装
本节是在CentOS6.5下源码安装MySQL5.6.35的基础上,在同一台机器增加一个MySQL实例。参考Centos中安装多个mysql数据的配置实例,安装目录为/usr/local/mysql3307/
、目录创建(-p父目录不存在则创建此目录)
[root@VMUest ~]# cd mysql-5.6.
[root@VMUest mysql-5.6.]# mkdir -p /usr/local/mysql3307/data 、编译安装
[root@VMUest mysql-5.6.]# cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql3307 \
-DMYSQL_DATADIR=/usr/local/mysql3307/data \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE= \
-DWITH_INNOBASE_STORAGE_ENGINE= \
-DWITH_MEMORY_STORAGE_ENGINE= \
-DWITH_READLINE= \
-DMYSQL_UNIX_ADDR=/usr/local/mysql3307/mysql.sock \
-DMYSQL_TCP_PORT= \
-DENABLED_LOCAL_INFILE= \
-DWITH_PARTITION_STORAGE_ENGINE= \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
[root@VMUest mysql-5.6.]# make && make install
[root@VMUest mysql-5.6.]# make clean 、设置权限
修改/usr/local/mysql3307权限
[root@VMUest mysql-5.6.]# chown -R mysql:mysql /usr/local/mysql3307 、初始化配置
进入安装路径
[root@VMUest mysql-5.6.]# cd /usr/local/mysql3307
执行初始化配置脚本,创建系统自带的数据库和表
[root@VMUest mysql3307]# scripts/mysql_install_db --basedir=/usr/local/mysql3307 --datadir=/usr/local/mysql3307/data --port= --user=mysql 、启动MySQL
添加服务,拷贝服务脚本到init.d目录
[root@VMUest mysql3307]# cp support-files/mysql.server /etc/init.d/mysql3307
[root@VMUest mysql3307]# vim /etc/init.d/mysql3307
修改下面参数
basedir=/usr/local/mysql3307
datadir=/usr/local/mysql3307/data
conf=/usr/local/mysql3307/my.cnf
$bindir/mysqld_safe --defaults-file=$conf --datadir=$datadir --pid-file=$server_pid_file [root@VMUest mysql3307]# chkconfig --add mysql3307
[root@VMUest mysql3307]# service mysql3307 start --启动MySQL 、配置用户
修改root密码
[root@VMUest mysql3307]# mysql -P3307 -S/usr/local/mysql3307/mysql.sock -uroot
mysql> SET PASSWORD = PASSWORD('mysql5635');
设置mydba用户可以远程访问
mysql> GRANT ALL PRIVILEGES ON *.* TO 'mydba'@'%' IDENTIFIED BY 'mysql5635' WITH GRANT OPTION;
防火墙设置可参考 http://www.cnblogs.com/ShanFish/p/6519950.html
整体配置非常简单,只需调整安装目录、端口等信息,代码中红色字体为添加部分
#本地登录如果不带-S/usr/local/mysql3307/mysql.sock,进入的是3306实例
[root@VMUest mysql3307]# mysql -P3307 -uroot -p
#本地/远程登录使用-h、-P,进入的是3307实例
cmd> mysql -h192.168.85. -P3307 -umydba -p
复制搭建(Master-Slave)
接下来在上面的环境上搭建Master-Slave复制,参考Mycat+MySQL 主从复制,3306作为Master,3307作为Slave
#添加日志目录
[root@VMUest ~]# mkdir -p /usr/local/mysql/log
[root@VMUest ~]# mkdir -p /usr/local/mysql3307/log
[root@VMUest ~]# chown -R mysql:mysql /usr/local/mysql/log
[root@VMUest ~]# chown -R mysql:mysql /usr/local/mysql3307/log
一、针对Master的操作
、编辑Master配置文件
[root@VMUest ~]# vim /usr/local/mysql/my.cnf
[mysqld]
#repl master
server-id=
log-bin=/usr/local/mysql/log/mysql-bin
max_binlog_size=100M
binlog-format=MIXED 、重启Master实例
[root@VMUest ~]# service mysql restart 、创建复制用户
mysql> use `mysql`;
mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'localhost' IDENTIFIED BY 'repl'; 、获取Master状态信息
#在session1锁表
mysql> FLUSH TABLES WITH READ LOCK;
如果master已有数据且需同步到slave,在此进行备份 .databak
#在session2查看状态
mysql > SHOW MASTER STATUS; 、在Master上释放读锁
mysql> UNLOCK TABLES; Master释放读锁后,新数据就可以写入
mysql> source E:/MySQL/ExampleDatabases/sakila-db/sakila-schema.sql
mysql> source E:/MySQL/ExampleDatabases/sakila-db/sakila-data.sql
二、针对Slave的操作
、编辑Slave配置文件
[root@VMUest ~]# vim /usr/local/mysql3307/my.cnf
[mysqld]
#repl slave
server-id=
relay_log=/usr/local/mysql3307/log/mysql-relay-bin
master-info-file=/usr/local/mysql3307/log/master.info
relay-log-info-file=/usr/local/mysql3307/log/relay-log.info
skip-slave-start 、重启Slave实例
[root@VMUest ~]# service mysql3307 restart
如果有备份数据,在此进行还原 .databak 、在Slave上设置Master配置
mysql> change master to
master_host='127.0.0.1',
master_port=,
master_user='repl',
master_password='repl',
master_log_file='mysql-bin.000001',
master_log_pos=; 、启动Slave线程并查看状态
mysql> start slave;
mysql> show slave status\G
本文是在之前的两篇文章的基础上进行扩展,文中的操作步骤可能是跳跃式的,建议先阅读CentOS6.5源码安装MySQL5.6.35、Mycat+MySQL 主从复制了解基础环境。
补充N天后主、从my.cnf内容
/*** 主my.cnf ***/
[mysqld]
#add -- :
#skip-grant-tables
character_set_server=utf8
lower_case_table_names=
max_connections=
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
port= #add -- :
#repl master
server-id=
log-bin=/usr/local/mysql/log/mysql-bin
max_binlog_size=100M
binlog-format=row
expire_logs_days= #add -- :
character_set_server=utf8mb4
#collation_server=utf8mb4_unicode_ci
secure_file_priv='' #[client]
#default-character-set=utf8mb4 /*** 从my.cnf ***/
[mysqld]
#add -- :
#skip-grant-tables
character_set_server=utf8
lower_case_table_names=
max_connections=
basedir=/usr/local/mysql3307
datadir=/usr/local/mysql3307/data
port= #add -- :
#repl slave
server-id=
relay_log=/usr/local/mysql3307/log/mysql-relay-bin
master-info-file=/usr/local/mysql3307/log/master.info
relay-log-info-file=/usr/local/mysql3307/log/relay-log.info
#skip-slave-start #add -- :
log-bin=/usr/local/mysql3307/log/mysql-bin
max_binlog_size=100M
binlog-format=row
log_slave_updates=
expire_logs_days=
CentOS6.5下源码安装多个MySQL实例及复制搭建的更多相关文章
- CentOS6.5下源码安装MySQL5.6.35
接上一篇文章使用RPM包安装MySQL,确实很方便.但是安装后却不知道各文件保存在哪个文件夹下!尝试使用源码安装~本文主要参考:CentOS 6.4下编译安装MySQL 5.6.14一.卸载旧版本 . ...
- CentOS6.x下源码安装MySQL5.5
1. 更新yum源:http://www.cnblogs.com/vurtne-lu/p/7405931.html 2. 卸载原有的mysql数据库 [root@zabbix ~]# yum -y r ...
- Centos6 系统下源码方式安装Mysql 记录
在运维工作中经常部署各种运维环境,涉及mysql数据库的安装也是时常需要的.mysql数据库安装可以选择yum在线安装,但是这种安装的mysql一般是系统自带的,版本方面可能跟需求不太匹配. #### ...
- centos 6x系统下源码安装mysql操作记录
在运维工作中经常部署各种运维环境,涉及mysql数据库的安装也是时常需要的.mysql数据库安装可以选择yum在线安装,但是这种安装的mysql一般是系统自带的,版本方面可能跟需求不太匹配.可以通过源 ...
- CentOS 7下源码安装MySQL 5.7
网上说linux安装mysql服务分两种安装方法: ①源码安装,优点是安装包比较小,只有几十M左右,缺点是安装依赖的库多,安装编译时间长,安装步骤复杂容易出错: ②使用官方编译好的二进制文件安装,优点 ...
- lnux下源码安装MySQL 5.6
nux下源码安装MySQL 5.6 说明:本文是我自己测试的MySQL5.6源码安装,经本人亲自实践,完全可用,另在5.6之前的版本也是可以按照本文源码安装的.我是在两台linux下一台安装5.5,另 ...
- CentOS下源码安装Apache2.4+PHP5.4+MySQL5.5
一.准备(把所有的源文件放在‘/home/yuanjun’目录下) apr http://mirror.bjtu.edu.cn/apache/apr/apr-1.4.6.tar.gz apr-util ...
- nginx在Centos7.5下源码安装和配置
安装nginx 安装nginx依赖包 yum install -y pcre-devel zlib-devel openssl-devel wget gcc tree vim 进入目录/root/se ...
- 在ConoHa上Centos7环境下源码安装部署LNMP
本文记录了从源码,在Centos 7上手动部署LNMP环境的过程,为了方便以后对nginx和mariadb进行升级,这里采用yum的方式进行安装. 1.建立运行网站和数据库的用户和组 groupadd ...
随机推荐
- 【2-SAT】[JSOI2010]满汉全席
感觉方法和题解差不多,但是题解写的好烦啊...也不是烦,就是很复杂 这里建议开一个数组表示当前这个点选或者不选的编号,这样之后自己理思路也会清楚一点 然而我调了一个小时才发现我是Tarjan写错了.. ...
- centos7 RPM命令安装操作
RPM 安装操作 命令: rpm -i 需要安装的包文件名 举例如下: rpm -i example.rpm 安装 example.rpm 包: rpm -iv example.rpm 安装 exam ...
- hive中,lateral view 与 explode函数
hive中常规处理json数据,array类型json用get_json_object(#,"$.#")这个方法足够了,map类型复合型json就需要通过数据处理才能解析. exp ...
- 8.0后广播在AndroidManifest.xml中注册后发送intent接收不到广播
8.0后广播在AndroidManifest.xml中注册后发送intent是接收不到广播了,看了一下原因,好像是8.0为了管理系统和节约电量特别针对广播和服务发送intent的方式启动做出的改变,也 ...
- CSIC_716_20191102【input、数据类型概述、运算符】
1.与用户交互 python2和python3在与用户交互方面存在差异. 在python3中,使用input( )方法提供用户输入,而在python2中,使用raw_input( )方法,才能实现同样 ...
- Windows del
删除一个或数个文件. DEL [/P] [/F] [/S] [/Q] [/A[[:]attributes]] namesERASE [/P] [/F] [/S] [/Q] [/A[[:]attribu ...
- 20175323《Java程序设计》第三周学习总结
教材学习内容总结 这周开始用幕布记录学习过程和思路,下面是我这章的知识框架总结https://mubu.com/doc/aNMW9Clym0 教材学习中的问题和解决过程 问题1:教材90页的Trian ...
- redis 本地连接可以 远程连接不上问题
1.所连主机防火墙关一下. 1:查看防火状态 systemctl status firewalld service status iptables 2:暂时关闭防火墙 systemctl stop ...
- Maven父子工程配置文件详解
项目骨架搭建成功之后. 因为父工程管理子工程.子工程相当于继承于子工程,所以子工程可以调用父工程里面的东西.那么就可以将jar包对应的配置文件书写到父工程的pom.xml文件中,注意:父工程的打包方式 ...
- day 64 Django基础十之Form和ModelForm组件
Django基础十之Form和ModelForm组件 本节目录 一 Form介绍 二 Form常用字段和插件 三 From所有内置字段 四 字段校验 五 Hook钩子方法 六 进阶补充 七 Mod ...