一台MySQL数据库启动多个实例

1、编译安装MySQL5.5

# yum install -y cmake gcc gcc-c++ make cmake ncurses ncurses-devel
# groupadd mysql
# useradd -g mysql -s /sbin/nologin mysql
# tar zxvf mysql-5.5.31.tar.gz
# cd mysql-5.5.31# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql5.5-DSYSCONFDIR=/usr/local/mysql5.5/etc -DMYSQL_DATADIR=/usr/local/mysql5.5/data
# make && make install
# cp support-files/my-medium.cnf /usr/local/mysql5.5/etc/my3306.cnf
# cp support-files/my-medium.cnf/usr/local/mysql5.5/etc/my3307.cnf
# chown -R mysql.mysql/usr/local/mysql5.5/
# echo‘PATH=$PATH:/usr/local/mysql5.5/bin‘ >> /etc/profile
# source /etc/profile

2、配置多实例信息

# cd /usr/local/mysql5.5/etc/
# mkdir ../data3306    #创建数据库数据目录
# mkdir ../data3307
# vi my.cnf
[mysqld_multi]
mysqld = /usr/local/mysql5.5/bin/mysqld_safe
mysqladmin = /usr/local/mysql5.5/bin/mysqladmin
user = root       #登陆数据库用户
password = 123       #登陆数据库密码,用于关闭数据库,两台数据库密码设置一样
[mysqld1]
user = mysql
port = 3306
socket = /tmp/mysql3306.sock
pid-file = /usr/local/mysql5.5/data3306/mysql.pid
basedir = /usr/local/mysql5.5
datadir = /usr/local/mysql5.5/data3306
log_error = /var/log/mysql/3306_error.log
[mysqld2]
user = mysql
port = 3307
socket = /tmp/mysql3307.sock
pid-file = /usr/local/mysql5.5/data3307/mysql.pid
basedir = /usr/local/mysql5.5
datadir = /usr/local/mysql5.5/data3307
log_error = /var/log/mysql/3307_error.log

3、启动实例1,2

# mysqld_multi --defaults-file=/usr/local/mysql5.5/etc/my.cnf start 1
# mysqld_multi --defaults-file=/usr/local/mysql5.5/etc/my.cnf start 2
#同时启动或关闭1,2
# mysqld_multi --defaults-file=/usr/local/mysql5.5/etc/my.cnf start/stop 1,2
#查看MySQL是否启动
# mysqld_multi --defaults-file=./my.cnf report 1,2
Reporting MySQL servers
MySQL server from group: mysqld1 is running
MySQL server from group: mysqld2 is running
# netstat -antp |grep mysql
tcp  0    0 0.0.0.0:3306  0.0.0.0:*   LISTEN      20896/mysqld    
tcp  0    0 0.0.0.0:3307  0.0.0.0:*   LISTEN      21499/mysqld

注:如果不想用mysqld_multi工具,可以独立实例配置文件,自己启动或关闭,如下:

# /usr/local/mysql5.5/bin/mysqld_safe --defaults-extra-file=/usr/local/mysql5.5/etc/my3306.cnf --datadir=/usr/local/mysql5.5/data3306/ --user=mysql &
# mysqladmin -uroot -p123 -S/tmp/mysql3306.sock shutdown

4、本地登录

# mysql -S /tmp/mysql3306.sock -P 3307 -uroot -p123
# mysql -S /tmp/mysql3307.sock -P 3307 -uroot -p123

5、远程登录(先开启远程访问权限)

mysql> grant all on *.* to‘root‘@‘%‘ identified by ‘123‘;
# mysql -h 192.168.1.10 -P 3306 -uroot -p123
# mysql -h 192.168.1.10 -P 3307 -uroot -p123
时间: 2024-10-07 00:50:26

一台MySQL数据库启动多个实例的相关文章

mysql数据库分区功能及实例详解

分区听起来怎么感觉是硬盘呀,对没错除了硬盘可以分区数据库现在也支持分区了,分区可以解决大数据量的处理问题,下面一起来看一个mysql数据库分区功能及实例详解 一,什么是数据库分区 前段时间写过一篇关于mysql分表的的文章,下面来说一下什么是数据库分区,以mysql为例.mysql数据库中的数据是以文件的形势存在磁盘上的,默认放在/mysql/data下面(可以通过my.cnf中的datadir来查看),一张表主要对应着三个文件,一个是frm存放表结构的,一个是myd存放表数据的,一个是myi存

多实例MySQL数据库启动问题

环境: 操作系统:CentOS release 6.5数据库1:版本:mysql5.6.37 basedir:/usr/local/mysql5637 配置文件位置:/data/mysql5637/my.cnf数据库2:版本:mysql5.7.19basedir:/usr/local/mysql5719配置文件位置:/data/mysql5719/my.cnf 问题摘要 今天把5.7.19的数据库给shutdown了,然后使用mysqld_safe --defaults-file=/data/m

Java 通过JDBC连接Mysql数据库的方法和实例【图文说明】

JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成.JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序. 如果要使用数据库就要添加数据库的驱动,不同的数据库有不用的驱动,这里就不一一说明,添加jar程序驱动包的方法就不在这里解释, 另一个文章里面有介绍http://www.cnblogs.com/ta

[转]Java 通过JDBC连接Mysql数据库的方法和实例【图文说明】

JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成.JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序. 如果要使用数据库就要添加数据库的驱动,不同的数据库有不用的驱动,这里就不一一说明,添加jar程序驱动包的方法就不在这里解释, 另一个文章里面有介绍http://www.cnblogs.com/ta

原有MySQL数据库 ,安装多实例教程

#mysql安装脚本安装好后 mkdir -v /usr/share/mysql/mysql-files mkdir -vp /data/mysql_data{1..4} * 修改 MySQL 二进制包目录的所属用户与所属组 chown root.mysql -R /usr/share/mysql * 修改 MySQL 多实例数据目录与 数据导入/导出专放目录的所属用户与所属组 chown mysql.mysql -R /usr/share/mysql/mysql-files /data/mys

【转】Java 通过JDBC连接Mysql数据库的方法和实例【图文说明】

JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成.JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序. 如果要使用数据库就要添加数据库的驱动,不同的数据库有不用的驱动,这里就不一一说明,添加jar程序驱动包的方法就不在这里解释, 另一个文章里面有介绍http://www.cnblogs.com/ta

mysql数据库启动失败

1.原因公司服务器故障,非正常停机导致数据库启动失败.报错信息[[email protected] dmp]# /etc/init.d/mysqld startStarting MySQL. ERROR! The server quit without updating PID file (/opt/mysql/data/15-144.pid). 2.查看mysql 日志180625 16:08:17 mysqld_safe Starting mysqld daemon with databas

MySQL数据库启动报错的处理

今天在linux中启动mysql时提示mysql Starting MySQL..The server quit without updating PID file了,下面我来给大家介绍解决办法. 从网上找了一堆方法如下: 1.可能是/usr/local/mysql/data/rekfan.pid文件没有写的权限解决方法 :给予权限,执行 "chown -R mysql:mysql /var/data" "chmod -R 755 /usr/local/mysql/data&

Java 通过JDBC连接Mysql数据库的方法和实例——五部曲

一:把mysql-connector-java-5.1.20-bin.jar导入到本项目工程的目录下,步骤如下: (1)先新建一个Web Project项目,取项目名为test (2)右键点击工程下的JRE System Library --> Buid Path --> Configure Build Path --> Libraries --> Add Library --> User Library --> new --> 取名为MySQL --> 选