mysql多实例

本文介绍如何在同一服务器上部署多个MySQL实例的方法,包括通过复制软件、调整配置文件来启动不同的数据库服务,以及注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据库启动:先找参数文件,然后启动

启动数据库:

[root@mysql_6 ~]# mysqld_safe --defaults-file=/etc/my.cnf &

[1] 23404

[root@mysql_6 ~]# 160409 17:41:48 mysqld_safe Logging to'/usr/local/mysql/data/mysql_6.err'.

160409 17:41:48 mysqld_safe Starting mysqld daemon with databasesfrom /usr/local/mysql/data

报错的话:查看 看日志上面标明的

初始化数据库:

 

查看数据是否启动:

[root@mysql_6 ~]# netstat -tulnp|grep mysql

关闭数据库:

[root@mysql_6 ~]# mysqladmin -S /var/run/mysqld/mysql2.sockshutdown

mysqladmin: connect to server at 'localhost' failed

error: 'Access denied for user 'root'@'localhost' (using password:NO)'

出错:加上 u和 p

[root@mysql_6 ~]# mysqladmin -uroot -p123123 -S/var/run/mysqld/mysql2.sock shutdown

Warning: Using a password on the command line interface can beinsecure.

关闭成功

 

 

 

环境:

    mysql编译安装 密码有

前提:服务器资源足够

 

用途:

开多实例节省资源

互联网特别节省 

最佳负载:50%(有空闲)-70%(充分利用但是80%左右,就很危险

服务器特点:不管用不用,到时间服务器都坏

 

#实现方法.一

多个mysql软件个对应一个数据库    多软件  多实例

大体:

    1.cp mysql文件夹 属主属组mysql

    2.配置参数文件

    3.注意:service-id  和 mysql/data/auto.cnf  UUID

 

具体操作:

    1.  cp -r/usr/local/mysql/ /usr/local/mysql_2/

          chown -R mysql:mysql mysql_2/

    2.参数文件/etc/my2.cnf

[mysqld]

basedir=/usr/local/mysql_2

datadir=/usr/local/mysql_2/data

socket=/var/run/mysqld/mysql2.sock

pid-file=/var/run/mysqld/mysql2.pid

port=3307

user=mysql

log_bin = mysqlserver

server-id=2

[mysql]

socket=/var/run/mysqld/mysql2.sock

user=mysql

 

修改my.cnf

[mysqld]

 

basedir=/usr/local/mysql    #两个实例需要不同

datadir=/usr/local/mysql/data   #两个实例需要不同

socket=/var/run/mysqld/mysql.sock   #两个实例需要不同

pid-file=/var/run/mysqld/mysql.pid   #两个实例需要不同

port=3306 #两个实例需要不同

user=mysql  #两个实例一样

log_bin = mysqlserver #开启log_bin配置文件名默认开启

server-id=1

[mysql]

socket=/var/run/mysqld/mysql.sock

user=mysql

 

3.启动

service mysqld start #启动mysql3306

mysql -uroot -p123123 -S/var/run/mysqld/mysql.sock#进入

 

/usr/local/mysql_2/bin/mysqld_safe--defaults-extra-file=/etc/my2.cnf &  #启动mysql  3307

mysql -uroot -p123123 -S/var/run/mysqld/mysql2.sock#进入

 

service mysqld stop #关闭mysql3306

ps aux|grep mysql

mysqladmin -S /var/run/mysqld/mysql2.sock shutdown #关闭mysql3307

 

 

实现方法.二

mysql专门支持实例 有风险  不建议使用

 

 

 

实现方法.三

一个mysql软件对应 多个数据库(实例)  单软件 多实例

 

具体操作:

1.[root@mysql_6 mysql]#mkdir data_slave

2.[root@mysql_6 mysql]#chown mysql:mysql data_slave

3.[root@mysql_6 mysql]#cp /etc/my.cnf /etc/my_slave.cnf

4.vi参数文件(又名配置文件)

配置文件说明

[mysqld]

innodb_buffer_pool_size=1024M    #mysql启动所占内存

basedir=/usr/local/mysql     # mysql基准目录

datadir=/usr/local/mysql/data_slave    #mysql数据库

port=3308   #端口

server-id=3  #ID

5.初始化数据库

[root@mysql_6 mysql]# ./scripts/mysql_install_db --user=mysql--basedir=/usr/local/mysql --datadir=/usr/local/mysql/data_slave/--defaults-file=/etc/my_slave.cnf

注意在 mysql下执行命令

有两个OK表示:初始化成功

6.启动数据库

[root@mysql_6 mysql]# mysqld_safe--defaults-file=/etc/my_slave.cnf &

7.连接数据库

[root@mysql_6 data_slave]# mysql -P3308 -uroot

ERROR 1045 (28000): Access denied for user 'root'@'localhost'(using password: NO)

[root@mysql_6 data_slave]# mysql -P3308 -uroot -p

Enter password:

ERROR 1045 (28000): Access denied for user 'root'@'localhost'(using password: NO)

[root@mysql_6 data_slave]# mysql -P3308 -uroot -p123123

 

转载于:https://www.cnblogs.com/xiaomuyhn/p/5470698.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值