在公司资源紧张的情况下,需要在一台服务器上部署多个数据库实例,现在就来实战一下该情况。

需要启动两个不同的端口,分别是3306和3307

[root@node1 ~]# mkdir /u01/mysql/{3306,3307} -p

[root@node1 ~]# tree /u01/
/u01/
└── mysql
    ├── 3306
    └── 3307

[root@node1 3306]# pwd
/u01/mysql/3306
[root@node1 3306]# vim my.cnf

[root@node1 3306]# grep -v '^#' my.cnf

[mysqld]
datadir=/u01/mysql/3306/data
basedir=/u01/mysql/3306
socket=/u01/mysql/3306/mysql.sock
port=3306
user=root
log_error=/u01/mysql/3306/mysqld.log
symbolic-links=0

初始化数据库:

[root@node1 3306]# mysqld --defaults-file=/u01/mysql/3306/my.cnf --initialize

启动数据库:

[root@node1 3306]# mysqld_safe --defaults-file=/u01/mysql/3306/my.cnf &

数据库的初始密码存在mysqld.log中

[root@node1 3306]# more mysqld.log |grep password
2019-10-21T02:45:19.489156Z 1 [Note] A temporary password is generated for root@localhost: Olp6<bu#op3J

[root@node1 3306]# mysql -uroot -p -S mysql.sock
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.27 MySQL Community Server (GPL)

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> alter user 'root'@'localhost' identified by 'password'

[root@node1 3306]# netstat -tlunp|grep mysqld

tcp6 0 0 :::3306 :::* LISTEN 4401/mysqld

[root@node1 3306]# ps -ef|grep mysqld
root 4245 1 0 10:46 ? 00:00:00 /bin/sh /usr/bin/mysqld_safe --defaults-file=/u01/mysql/3306/my.cnf
root 4401 4245 0 10:46 ? 00:00:01 /usr/local/src/mysql-5.7.27-linux-glibc2.12-x86_64/bin/mysqld --defaults-file=/u01/mysql/3306/my.cnf --basedir=/u01/mysql/3306 --datadir=/u01/mysql/3306/data --plugin-dir=/usr/local/mysql/lib/plugin --user=root --log-error=/u01/mysql/3306/mysqld.log --pid-file=node1.pid --socket=/u01/mysql/3306/mysql.sock --port=3306

这样3306端口的数据库就可以正常使用了。

3307端口的也是一样的,修改一下配置文件,

[root@node1 3307]# pwd
/u01/mysql/3307
[root@node1 3307]# vim my.cnf

root@node1 3307]# grep -v '^#' my.cnf

[mysqld]
datadir=/u01/mysql/3307/data
basedir=/u01/mysql/3307
socket=/u01/mysql/3307/mysql.sock
port=3307
user=root
log_error=/u01/mysql/3307/mysqld.log
symbolic-links=0

!includedir /etc/my.cnf.d

初始化:

[root@node1 3307]# mysqld --defaults-file=/u01/mysql/3307/my.cnf --initialize

启动数据库:

[root@node1 3307]# mysqld_safe --defaults-file=/u01/mysql/3307/my.cnf &

然后查看初始化密码,登陆进数据库,重置密码。

[root@node1 3307]# netstat -tlunp|grep mysqld
tcp6 0 0 :::3307 :::* LISTEN 5426/mysqld
tcp6 0 0 :::3306 :::* LISTEN 4401/mysqld
[root@node1 3307]# ps -ef|grep mysqld
root 4245 1 0 10:46 ? 00:00:00 /bin/sh /usr/bin/mysqld_safe --defaults-file=/u01/mysql/3306/my.cnf
root 4401 4245 0 10:46 ? 00:00:02 /usr/local/src/mysql-5.7.27-linux-glibc2.12-x86_64/bin/mysqld --defaults-file=/u01/mysql/3306/my.cnf --basedir=/u01/mysql/3306 --datadir=/u01/mysql/3306/data --plugin-dir=/usr/local/mysql/lib/plugin --user=root --log-error=/u01/mysql/3306/mysqld.log --pid-file=node1.pid --socket=/u01/mysql/3306/mysql.sock --port=3306
root 5268 4147 0 10:58 pts/3 00:00:00 /bin/sh /usr/bin/mysqld_safe --defaults-file=/u01/mysql/3307/my.cnf
root 5426 5268 0 10:58 pts/3 00:00:01 /usr/local/src/mysql-5.7.27-linux-glibc2.12-x86_64/bin/mysqld --defaults-file=/u01/mysql/3307/my.cnf --basedir=/u01/mysql/3307 --datadir=/u01/mysql/3307/data --plugin-dir=/usr/local/mysql/lib/plugin --user=root --log-error=/u01/mysql/3307/mysqld.log --pid-file=node1.pid --socket=/u01/mysql/3307/mysql.sock --port=3307
root 6155 4147 0 11:41 pts/3 00:00:00 grep --color=auto mysqld

停止数据库:

[root@node1 3307]# mysqladmin -uroot -pWpw303@123 -S /u01/mysql/3307/mysql.sock shutdown  
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
2019-10-21T03:42:10.468422Z mysqld_safe mysqld from pid file /u01/mysql/3307/data/node1.pid ended
[1]+ Done mysqld_safe --defaults-file=/u01/mysql/3307/my.cnf (wd: /u01/mysql/3306)
(wd now: /u01/mysql/3307)
[root@node1 3307]# netstat -tlunp|grep mysqld   只有一个实例了。
tcp6 0 0 :::3306 :::* LISTEN 4401/mysqld

[root@node1 3307]# ps -ef|grep mysqld
root 4245 1 0 10:46 ? 00:00:00 /bin/sh /usr/bin/mysqld_safe --defaults-file=/u01/mysql/3306/my.cnf
root 4401 4245 0 10:46 ? 00:00:02 /usr/local/src/mysql-5.7.27-linux-glibc2.12-x86_64/bin/mysqld --defaults-file=/u01/mysql/3306/my.cnf --basedir=/u01/mysql/3306 --datadir=/u01/mysql/3306/data --plugin-dir=/usr/local/mysql/lib/plugin --user=root --log-error=/u01/mysql/3306/mysqld.log --pid-file=node1.pid --socket=/u01/mysql/3306/mysql.sock --port=3306
root 6209 4147 0 11:43 pts/3 00:00:00 grep --color=auto mysqld

最新文章

  1. C#中Math类的计算整数的三种方法
  2. Zookeeper总结
  3. win7 64位安装mongodb及管理工具mongoVUE1.6.9.0
  4. Delphi同步互斥总结
  5. [Git]更新远程代码到本地仓库
  6. LeetCode Maximum Product Subarray 解题报告
  7. Unicode解码、URL编码/解码
  8. Swift - 从ALAsset中获取照片的原图并转换成NSData
  9. Python基础知识拾遗
  10. SpringBoot 学习教程(二):示例
  11. 路径R
  12. postman插件部分Header设置无效的解决办法
  13. JavaEE 要懂的小事:一、图解Http协议
  14. TCP、UDP和HTTP详解
  15. OpenGL: 实现立体显示
  16. LogUtil工具
  17. RabbitMQ Headers Exchange示例
  18. Android 监听apk安装替换卸载广播
  19. windows下生成上传git时需要用的SSH密钥
  20. Objective-C 与命名空间

热门文章

  1. (十一)mybatis之整合ehcache缓存
  2. asp.net core 2.0发布到IIS报错解决方案
  3. Netty——基本使用介绍
  4. 搭建一个jumpserver跳板机
  5. 笔记本电脑安装jupyterthemes
  6. windwos服务器 无法与本地电脑进行复制粘贴解决办法
  7. 2018/7/31-zznu-oj- 2128: 素数检测 -【费马小定理裸应用】
  8. c# json数据解析——将字符串json格式数据转换成对象或实体类
  9. git ls-files 列出被修改或者被删除的文件
  10. Socket嵌套字通讯