博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL5.7开多实例指导
阅读量:5106 次
发布时间:2019-06-13

本文共 1967 字,大约阅读时间需要 6 分钟。

一、mysql多实例原理

  在一台服务器上,mysql服务开启多个不同的端口,运行多个服务进程。他们通过不同的 socket来监听不同的端口互不干扰地运行。

 

二、开发环境

   ubuntu16.04.5LTS/i5/8G/500G/64位/mysql5.7.23/php7/apache2

 

三、配置步骤

 

1、创建mysql实例数据存储目录

cd /var/lib/mkdir 3308_mysql  chown -R mysql:mysql 3308_mysql    //修改权限

 

2、创建配置文件

(我的环境中,mysql配置主要是/etc/mysql/my.cnf,其中又相应的加载conf.d和mysql.conf.d文件夹中的文件。我们直接copy,然后修改部分重要内容即可)

cd /etc/mysql/cp -r conf.d conf3308.dcp my.cnf my3308.cnfcp -r mysql.conf.d mysql3308.conf.dvi my3308.cnf

修改内容如下

!includedir /etc/mysql/conf3308.d/

!includedir /etc/mysql/mysql3308.conf.d/

cd mysql3308.conf.dvi mysqld.cnf

修改内容如下:

[mysqld_safe]

socket        = /var/lib/3308_mysql/mysqldsafe.sock
#nice        = 0

[mysqld]

#
# * Basic Settings
#
user        = mysql
pid-file    = /var/lib/3308_mysql/mysqld.pid
socket        = /var/lib/3308_mysql/mysqld.sock
port        = 3308
basedir        = /usr
datadir        = /var/lib/3308_mysql

log_error = /var/lib/3308_mysql/error.log

 

3、添加读写权限apparmor

vi /etc/apparmor.d/usr.sbin.mysqld

在下面添加:

/var/lib/3308_mysql/ r,

/var/lib/3308_mysql/** rwk,

让apparmor重新加载配置文件

service apparmor reload

 

4、启动实例

这里得提醒大家的是,mysql_install_db初始化的方法已经不能在5.7版本使用了,亲测了N种方法都失败了,请使用以下命令。

mysqld --initialize-insecure --datadir=/var/lib/3308_mysql --user=mysql  //初始化,其中--initialize-insecure 为创建时不带密码mysqld_safe --defaults-file=/etc/mysql/my3308.cnf  //启动执行 ctrl + z //让实例后台运行

此时我们可以看数据库运行情况

netstat -anp | grep mysql

会看到

成功!监听3308端口

 

5、设置实例密码

mysql -uroot -p -S /var/lib/3308_mysql/mysqldsafe.sock -P 3308Enter password:   //直接enter,因为我们初始化时--initialize-insecuremysql> use mysqlmysql> UPDATE user SET authentication_string= password ('123456') WHERE User='root';mysql> exit

//重新启动

mysqladmin -uroot -S /var/lib/3308_mysql/mysqldsafe.sock shutdown  mysqld_safe --defaults-file=/etc/mysql/my3308.cnfctrl + zmysql -uroot -p -S /var/lib/3308_mysql/mysqldsafe.sock -P 3308Enter password:   //此时需要输入刚才设置的密码

四、建库测试

我们在3308中创建了库db3308,我们去3306库中并没发现此库

反过来我们在3306的数据库操作对3308也没有影响。

我们发现,各个库独立运行,互不干扰。

 

五、开更多实例

重复配置步骤即可

转载于:https://www.cnblogs.com/bushuwei/p/9635889.html

你可能感兴趣的文章
Sql Server 中由数字转换为指定长度的字符串
查看>>
Java 多态 虚方法
查看>>
Unity之fragment shader中如何获得视口空间中的坐标
查看>>
万能的SQLHelper帮助类
查看>>
tmux的简单快捷键
查看>>
[Swift]LeetCode922.按奇偶排序数组 II | Sort Array By Parity II
查看>>
Html5 离线页面缓存
查看>>
《绿色·精简·性感·迷你版》易语言,小到不可想象
查看>>
Android打包key密码丢失找回
查看>>
VC6.0调试技巧(一)(转)
查看>>
类库与框架,强类型与弱类型的闲聊
查看>>
webView添加头视图
查看>>
php match_model的简单使用
查看>>
在NT中直接访问物理内存
查看>>
Intel HEX 文件格式
查看>>
SIP服务器性能测试工具SIPp使用指导(转)
查看>>
php_扑克类
查看>>
回调没用,加上iframe提交表单
查看>>
(安卓)一般安卓开始界面 Loding 跳转 实例 ---亲测!
查看>>
Mysql 索引优化 - 1
查看>>