Mysql单机多实例

  • Mysql单机多实例已关闭评论
  • 60 views
  • A+
所属分类:MySQL

测试环境:

mysql的版本:5.7.9

 

1、建立多实例数据存放目录,以端口为目录:

  1. mkdir -p /data/{3306,3307}/log

2、在3306、3307目录下添加配置文件:

配置根据情况修改,这里只贴一个配置,只需要改改端口就好。

[root@mysql data]# cat /data/3306/my.cnf

  1. [client]
  2. port = 3306
  3. socket = /data/3306/mysql.sock
  4. [mysqld]
  5. port=3306
  6. socket = /data/3306/mysql.sock
  7. pid-file = /data/3306/data/mysql.pid
  8. basedir = /usr/local/mysql
  9. datadir = /data/3306/data
  10. #server-id=1
  11. #log-bin=mysql-bin
  12. #log-bin-indexmysql-bin.index
  13. # LOGGING
  14. log_error=/data/3306/log/mysql-error.log
  15. slow_query_log_file=/data/3306/log/mysql-slow.log

 

3、初始化第一个实例:

  1. mysql_install_db --datadir=/data/3306/data/ --user=mysql

由于5.6版本后安装都会随机生成一个密码在:~/.mysql_secret

  1. [root@mysql data]# cat ~/.mysql_secret
  2. # Password set for user 'root@localhost' at 2016-06-01 09:25:18
  3. bse5kaaG.xyf

启动实例3306:

  1. /bin/sh /usr/local/mysql/bin/mysqld_safe --defaults-file=/data/3306/my.cnf 2>&1 > /dev/null &

修改密码:提示密码在命令行中不安全。

  1. [root@mysql data]# mysqladmin -uroot -pbse5kaaG.xyf password '123456' -S /data/3306/mysql.sock
  2. mysqladmin: [Warning] Using a password on the command line interface can be insecure.
  3. Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.

完成上面就可以登陆3306端口的Mysql啦。

4、初始化第二个实例:

  1. mysql_install_db --datadir=/data/3307/data/ --user=mysql

报错:提示data目录不为空,虽然上面已经执行了:rm -rf /data/3307/data/*,但是并不能解决问题。

 

  1. [root@mysql data]# mysql_install_db --datadir=/data/3307/data/ --user=mysql
  2. 2016-06-01 09:33:45 [WARNING] mysql_install_db is deprecated. Please consider switching to mysqld --initialize
  3. 2016-06-01 09:33:45 [ERROR]   The data directory '/data/3307/data/' already exist and is not empty.

 

解决方法:把整个data目录删除; /data/3307/data,同重新建立一个data目录。

  1. rm -rf /data/3307/data
  2. mkdir /data/3307/data

修改密码:查看初始化生成的随机密码:

  1. [root@mysql data]# cat ~/.mysql_secret
  2. # Password set for user 'root@localhost' at 2016-06-01 09:36:20
  3. Z7fifnuhRMUZ

启动实例3307:

  1. /bin/sh /usr/local/mysql/bin/mysqld_safe --defaults-file=/data/3307/my.cnf 2>&1 > /dev/null &

再修改3307实例的密码:

  1. mysqladmin -uroot -pZ7fifnuhRMUZ password '123456' -S /data/3307/mysql.sock

 

查看实例启动情况:

Mysql单机多实例

 

这样就可以在单机上做主从,读写分离的实验啦。

  • 安卓客户端下载
  • 微信扫一扫
  • weinxin
  • 微信公众号
  • 微信公众号扫一扫
  • weinxin
avatar