MySql集群之多实例数据库搭建(二)

概述

MySQL多实例是指安装MySQL之后,我们可以在一台Linux服务器上同时启动多个MySQL数据库(实例),不需要安装多个MySQL;如果是有多台Linux服务器,那么我们需要每台服务器都分别安装MySQL;
在一台Linux服务器上启动多个MySQL数据库(实例),通过为各个数据库实例配置独立的配置文件来实现,即每个数据库实例有自己单独的配置文件;

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文件

[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

至此多数据库实例就搭建好了;

MySQL多实例数据库启动与关闭

MySQL多实例数据库启动。
切换到/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 是指定配置文件,& 符合表示后台启动;

MySQL多实例数据库关闭

切换到/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

MySQL多实例数据库配置

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 root@‘%’ identified by ‘123456’;
其中*.* 的第一个表示所有数据库名,第二个表示所有的数据库表;
root@‘%’ 中的root表示用户名,%表示ip地址,%也可以指定具体的ip地址,比如root@localhost,root@192.168.10.129
4、执行以下如下命令刷新权限:
flush privileges;
以上步骤一次性执行:
alter user ‘root’@‘localhost’ identified by ‘123456’;
grant all privileges on . to root@‘%’ identified by ‘123456’;
flush privileges;

参考

MySQL多实例数据库搭建

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

融极

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值