Mysql集群讲解(三)Mysql多实例(多个数据库)搭建

Mysql集群讲解(三)

Mysql多实例(多个数据库)搭建

多实例概述:

MySQL多实例是指安装MySQL之后,我们可以在一台Linux服务器上同时启动多个MySQL数据库(实例),不需要安装多个MySQL;

如果是有多台Linux服务器,那么我们需要每台服务器都分别安装MySQL;

在一台Linux服务器上启动多个MySQL数据库(实例),通过为各个数据库实例配置独立的配置文件来实现,即每个数据库实例有自己单独的配置文件;

多实例配置:

1、 在MySQL安装主目录下创建/data/3307, /data/3308/, /data/3309, /data/3310四个目录;

2、执行数据库初始化,在MySQL的/usr/local/mysql-5.7.18/bin目录下执行命令:

./mysqld --initialize-insecure --basedir=/usr/local/mysql-5.7.18 --datadir=/usr/local/mysql-5.7.18/data/3307 --user=mysql

./mysqld --initialize-insecure --basedir=/usr/local/mysql-5.7.18 --datadir=/usr/local/mysql-5.7.18/data/3308 --user=mysql

./mysqld --initialize-insecure --basedir=/usr/local/mysql-5.7.18 --datadir=/usr/local/mysql-5.7.18/data/3309 --user=mysql

./mysqld --initialize-insecure --basedir=/usr/local/mysql-5.7.18 --datadir=/usr/local/mysql-5.7.18/data/3310 --user=mysql

其中 initialize-insecure 表示不生成MySQL数据库root用户的随机密码,即root密码为空;

3、在/data/3307, /data/3308/, /data/3309, /data/3310 四个目录下分别创建一个my.cnf文件;

4、配置四个MySQL数据库服务的my.cnf文件

这里之举个例子:其他3308 3309 3310 中只需要修改端口号即可

[client]

port        = 3307

socket      = /usr/local/mysql-5.7.18/data/3307/mysql.sock

default-character-set=utf8

[mysqld]

port    = 3307

socket  = /usr/local/mysql-5.7.18/data/3307/mysql.sock

datadir = /usr/local/mysql-5.7.18/data/3307

log-error = /usr/local/mysql-5.7.18/data/3307/error.log

pid-file = /usr/local/mysql-5.7.18/data/3307/mysql.pid

character-set-server=utf8

lower_case_table_names=1

autocommit = 1

多实例启动:

切换到/usr/local/mysql-5.7.18/bin目录下,使用 msyqld_safe 命令指定配置文件并启动MySQL服务:

./mysqld_safe --defaults-file=/usr/local/mysql-5.7.18/data/3307/my.cnf &

./mysqld_safe --defaults-file=/usr/local/mysql-5.7.18/data/3308/my.cnf &

./mysqld_safe --defaults-file=/usr/local/mysql-5.7.18/data/3309/my.cnf &

./mysqld_safe --defaults-file=/usr/local/mysql-5.7.18/data/3310/my.cnf &

其中 --defaults-file 是指定配置文件,& 符合表示后台启动;

启动后配置:(3308 3309 3310 别忘记修改 密码和远程权限)

1、登录进入mysql,在mysql-5.7.18/bin目录下执行命令:

./mysql -uroot -p -S /usr/local/mysql-5.7.18/data/3307/mysql.sock

其中 -p 是指定密码,如果没有密码则可以不写 -p,-S是指定sock文件,mysql.sock文件是服务器与本机客户端进行通信的ip与端口文件;或者使用用端口、主机登录 ./mysql -uroot -p -P3307 -h127.0.0.1 登录进入MySQL

2、修改mysql的密码,执行:

alter user ‘root‘@‘localhost‘ identified by ‘123456‘;

(其中123456是我们设置的密码)

3、授权远程访问,执行命令:(这样远程客户端才能访问)

grant all privileges on *.* to [email protected]‘%‘ identified by ‘123456‘;

其中*.* 的第一个*表示所有数据库名,第二个*表示所有的数据库表;

[email protected]‘%‘ 中的root表示用户名,%表示ip地址,%也可以指定具体的ip地址,比如[email protected],[email protected]

4、执行以下如下命令刷新权限:

flush privileges;

多实例关闭:

切换到/usr/local/mysql-5.7.18/bin目录下,使用 mysqladmin 命令 shutdown

./mysqladmin -uroot -p -S /usr/local/mysql-5.7.18/data/3307/mysql.sock shutdown

或者:./mysqladmin -uroot -p -P3307 -h127.0.0.1 shutdown

如果已经进入到了MySQL的命令行,可以直接执行 shutdown;

退出MySQL命令行,执行: exit

时间: 2024-11-07 10:28:43

Mysql集群讲解(三)Mysql多实例(多个数据库)搭建的相关文章

MySql集群讲解(二)Mysql Liunx环境下搭建

MySql集群讲解(二) MySQL Linux环境下搭建 A:下载: wget https://cdn.mysql.com/Downloads/MySQL-5.7/mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz B:安装前环境检查: 1.检查Linux是否安装了mariadb数据库,mariadb数据库是mysql的分支,执行命令: yum list installed | grep mariadb rpm -qa | grep mariadb 2.若Lin

Mysql集群讲解(四) 一主多从环境搭建

Mysql集群讲解(四) 一主多从环境搭建: A:环境配置(#号后内容记得删除) 配置主从MySQL配置文件my.cnf 主(3307)里面加入 log-bin=mysql-bin     #表示启用二进制日志 server-id=3307        #表示server编号,编号要唯一 从(3308)里面加入 server-id=3308        #表示server编号,编号要唯一 从(3309)里面加入 server-id=3309        #表示server编号,编号要唯一

Mysql集群讲解(五) 多主多从环境搭建

A:概述: 一主多从,可以缓解读的压力,但是一旦主宕机了,就不能写了: 所以我们可以采用双主双从架构 架构规划: 主master 3307 ---> 从slave 3309 主master 3308 ---> 从slave 3310 3307 <---> 3308 互为主从 2个写节点,每个写节点下又是2个读节点: B:文件配置: 1.配置每一台MySQL服务器的配置文件my.cnf [client] port        = 3307 socket      = /usr/lo

Mysql集群讲解(一)

主从复制概述 在实际生产中,数据的重要性不言而喻,提供安全可靠的数据保障是技术与运维部门的职责所在: 如果我们的数据库只有一台服务器,那么很容易产生单点故障的问题,比如这台服务器访问压力过大而没有响应或者奔溃,那么服务就不可用了,再比如这台服务器的硬盘坏了,那么整个数据库的数据就全部丢失了,这是重大的安全事故: 为了避免服务的不可用以及保障数据的安全可靠性,我们至少需要部署两台或两台以上服务器来存储数据库数据,也就是我们需要将数据复制多份部署在多台不同的服务器上,即使有一台服务器出现故障了,其他

「mysql优化专题」高可用性、负载均衡的mysql集群解决方案(12)

一.为什么需要mysql集群? 一个庞大的分布式系统的性能瓶颈中,最脆弱的就是连接.连接有两个,一个是客户端与后端的连接,另一个是后端与数据库的连接.简单如图下两个蓝色框框(其实,这张图是我在悟空问答解答别人的时候用Windows的自带画板画的,勿喷啊..) 版权归作者所有,哈哈 在客户端与后端中可以利用类似nginx的负载均衡解决(本专题是mysql优化,后面出高并发专题再详细讲解连接1的负载均衡),而数据库层是最脆弱的一层,一般在应用设计时在上游就需要把请求拦截掉,数据库层只承担"能力范围内

Corosync+Pacemaker+DRBD+MySQL 实现高可用(HA)的MySQL集群

大纲一.前言二.环境准备三.Corosync 安装与配置四.Pacemaker 安装与配置五.DRBD 安装与配置六.MySQL 安装与配置七.crmsh 资源管理 推荐阅读: Linux 高可用(HA)集群基本概念详解 http://www.linuxidc.com/Linux/2013-08/88522.htm Linux 高可用(HA)集群之Heartbeat详解 http://www.linuxidc.com/Linux/2013-08/88521.htm 一.前言      前几篇博文

mysql集群搭建教程-基础篇

       计算机一级考试系统要用集群,目标是把集群搭建起来,保证一个库dang了,不会影响程序的运行.于是在孟海滨师哥的带领下开始了我的第一次搭建mysql集群,首先看了一些关于集群的资料,然后根据步骤一步步的整,遇到了一些问题,在这里把我遇到的问题以及解决方法分享出来. [是什么]         集群(cluster)技术是一种较新的技术,通过集群技术,可以在付出较低成本的情况下获得在性能.可靠性.灵活性方面的相对较高的收益,其任务调度则是集群系统中的核心技术.         MySQ

mysql集群7.4.1

一:mysql集群原理: 1 mysql集群分为三个节点: 1.1 控制节点:本身不提供服务只是控制整个集群的开启与关闭 1.2 数据节点:真正提供数据库的存储,并和其他数据节点关联用 1.3 sql节点:和平常数据库一样提供正常服务 二:mysql集群要点与思路: 1 最好将现有的mysql或MariaDB卸载干净, rpm -qa | grep mysql 找出含有mysql的软件包 rpm -e  --nodeps mysql   删除后再查一下是否删除干净 2 关闭防火墙/selinux

mysql集群安装(centos)

永不放弃,一切皆有可能!!! 只为成功找方法,不为失败找借口! mysql集群安装(centos) mysql cluster : 1. 基于NDB Cluster 的分布式数据库系统 2. mysql集群中各服务器节点不共享数据 3. 在mysql cluster中节点指的是进程,区别于其他的集群中节点指的是计算机的情况, 因而在单台计算机上可以有任意多的节点 4. 三种节点: 1)管理节点: 管理cluster内其他节点; 包括启动,停止, 备份,配置等; 在启动其他节点前需要先启动管理节点