单台mysql服务器_【实操篇】用户:单台服务器部署多MySQL实例,咋弄?

【前言】

总有一些需求和业务情况让你不得不在已有mysql进程数据服务器上,再安装一个mysql进程,今天就搞一下一台服务器上两个mysql如何安装,本文新库安装采用二进制形式。

【服务器信息】

服务器A IP: 192.168.0.100 端口3306 3307

服务器B IP: 192.168.0.101 端口 3306

【业务需求】

最近来了一个需求,服务器A已有MySQL_1,再创建一个新库MySQL_2进程,并恢复服务器B上的MySQL_3中数据至新的服务器A上新创建的MySQL_2库中;服务器A上MySQL1用的是3006端口,新创建的MySQL_2进程规划使用3307端口。

【解决方案】

规划:

MySQL_1数据存放路径:/mysqldata/3306/

MySQL_2数据存放路径:/mysqldata/3307/

1. 创建mysql编译目录

[root@dcm-testdb ~]# mkdir -p /mysqldata/3307

[root@dcm-testdb ~]#mkdir -p /mysqldata/3307/data

[root@dcm-testdb ~]#chown -R mysql:mysql /mysqldata/3307

2. 登录MySQL_3查看要恢复的数据

[root@dcm-testdb ~]#/mysqlsoft/mysql/bin/mysql -uroot -p

mysql> select table_schema,round(sum(data_length+index_length)/1024/1024,4) from information_schema.tables group by table_schema;

3. 使用mysqldump做MySQL_3库全备

[root@dcm-testdb ~]#/mysqlsoft/mysql/bin/mysqldump -uroot -p --all-databases --single-transaction --socket=/mysql/3307/data/mysqld.sock --master-data=2 >/mysql/backup/full_0625.sql

4. 服务器A上创建MySQL_2

[root@dcm-testdb ~]# mkdir -p /mysqldata/3307/{data/,etc/,log/}

[root@dcm-testdb ~]# chown -R mysql:mysql /mysqldata/3307/data

[root@dcm-testdb ~]# chown -R mysql:mysql /mysqldata/3307/etc

5. 在/mysqldata/etc/下创建新实例的my.cnf

[root@dcm-testdb ~]#vi /mysqldata/3307/etc/my.cnf

[mysqld]

datadir=/mysqldata/3307/data

Basedie=/usr/local/mysql

socket=/mysqldata/3307/data/mysql.sock

[mysqld_safe]

log-error=/mysqldata/3307/log/mysqld3307.log

pid-file=/mysqldata/3307/mysqld3307.pid

**5. 配置自启动 **

#将mysql的启动服务添加到系统服务中,设置开机自启动:(chkconfig 命令redhat系统的)

[root@dcm-testdb ~]#cp /mysqlsoft/mysql/support-files/support-files/mysql.server /etc/init.d/mysql3307.server

创建软连接:

[root@dcm-testdb ~]# ln -s /mysqlsoft/mysql /usr/local/mysql

赋予执行权限:

[root@dcm-testdb ~]# chmod +x /etc/init.d/mysql3307.server

添加开机mysql自启动服务:

[root@dcm-testdb ~]# chkconfig --add mysql3307.server

显示服务列表:

[root@dcm-testdb ~]# chkconfig --list

如果看到mysql的服务,并且3,4,5都是on的话则成功,如果是off,则使用如下命令:

[root@dcm-testdb ~]# chkconfig --level 345 mysql3307.server on

5.新实例初始化

[root@dcm-testdb ~]#/mysqlsoft/mysql/bin/mysqld --defaults-file=/mysqlsoft/3307/etc/my.cnf --initialize --datadir=/mysqlsoft/3307/data/ --basedir=/usr/local/mysql --user=mysql

6.启动新数据库并修改root密码

[root@dcm-testdb ~]#/usr/local/mysql/bin/mysqld_safe --defaults-file=/mysqlsoft/3307/etc/my.cnf --user=mysql &

PS:一定记得后台方式运行MySQL库,否则会随着session的断开MySQL服务会中断。

[root@dcm-testdb ~]#/usr/local/mysql/bin/mysqladmin -uroot -p password ‘mysql’ --socket=/tmp/mysql3307.sock

mysql> GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ identified by ‘mysql’;

Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

7.服务器A MySQL_2上恢复MySQL_3的数据

/usr/local/mysql/bin/mysql -uroot -pmysql --socket=/mysql/3307/data/mysqld.sock

8. 验证数据

使用如下命令查看MySQL_2和MySQL_3的大小,做简单对比

mysql> select table_schema,round(sum(data_length+index_length)/1024/1024,4) from information_schema.tables group by table_schema;

欢迎关注如下个人微信公众号:

b29255d3bb17b72b17b87cd76885bfa6.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值