ITPub博客

首页 > 数据库 > MySQL > mysql5.7_onOEL7.2_systemd_multi_instances

mysql5.7_onOEL7.2_systemd_multi_instances

原创 MySQL 作者:ilsyx 时间:2018-05-07 17:39:10 0 删除 编辑
1 描述
使用OEL7.2系统 system 管理源码安装的mysql5.7多实例.
2 操作环境
2.1 OS info
OEL7.2 x64
3 过程设计
编辑/etc/my.cnf ,本文创建mysqld@3307.service与mysqld@3308.service两个实例,分别对应3307与3308端口。创建相应实例目录。
复制systemd 服务文件,复制mysql base目录下/usr/local/mysql/usr/lib/systemd/system/的mysqld@.service文件到系统/usr/lib/systemd/system目录下,并重命名成与多实例名一致的文件。
systemctl daemon-reload
systemctl start mysqld@3307.service
systemctl start mysqld@.service3308
4 详细步骤操作
[root@localhost ~]# vi /etc/my.cnf
[root@localhost ~]# cat !$
cat /etc/my.cnf
[mysqld@3307]
datadir=/usr/local/mysql/data/3307
socket=/usr/local/mysql/data/3307/mysql.sock
port=3307
log-error=/var/log/mysqld-service3307.log


[mysqld@3308]
datadir=/usr/local/mysql/data/3308
socket=/usr/local/mysql/data/3308/mysql.sock
port=3308
log-error=/var/log/mysqld-service3308.log


[root@localhost ~]# mkdir -p /usr/local/mysql/data/3307
[root@localhost ~]# mkdir -p /usr/local/mysql/data/3308
[root@localhost ~]# chown -R mysql.mysql /usr/local/mysql/data/


[root@localhost ~]# cd /usr/lib/systemd/system
[root@localhost system]# ls -l mysqld*
-rw-r--r--. 1 root root 1637 May  3 03:07 mysqld.service
-rw-r--r--. 1 root root 1668 May  3 03:07 mysqld@.service
[root@localhost system]# cp mysqld@.service mysqld@3307
[root@localhost system]# cp mysqld@.service mysqld@3308
[root@localhost system]# systemctl daemon-reload
[root@localhost system]# mkdir /var/run/mysqld/
[root@localhost system]# chown -R mysql.mysql /var/run/mysqld
[root@localhost system]# cd /var/log/
[root@localhost log]# ls -lrt|tail
-rw-r--r--. 1 root  root    8460 May  8 01:20 boot.log
-rw-------. 1 root  root    1739 May  8 01:20 cron
-rw-r--r--. 1 root  root     360 May  8 01:20 wpa_supplicant.log
-rw-------. 1 root  root     594 May  8 01:20 maillog
-rw-rw-r--. 1 root  utmp   22656 May  8 01:21 wtmp
-rw-r--r--. 1 root  root  291416 May  8 01:21 lastlog
-rw-r-----. 1 mysql mysql   4377 May  8 01:24 mysqld-service3307.log
-rw-r-----. 1 mysql mysql   4449 May  8 01:24 mysqld-service3308.log
-rw-------. 1 root  root  540273 May  8 01:24 messages
-rw-------. 1 root  root    7764 May  8 01:24 secure
[root@localhost log]# grep password mysqld-service3307.log
2018-05-07T17:24:01.123362Z 1 [Note] A temporary password is generated for root@localhost: x&aQ/IT&p5%u
[root@localhost log]# grep password mysqld-service3308.log
2018-05-07T17:24:17.635837Z 1 [Note] A temporary password is generated for root@localhost: xt2aq-KYGWnt
[root@localhost log]# /usr/local/mysql/bin/mysql -uroot -p'x&aQ/IT&p5%u' -S /usr/local/mysql/data/3307/mysql.sock
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.22


Copyright (c) 2000, 2018, 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> exit
Bye
[root@localhost log]# /usr/local/mysql/bin/mysql -uroot -p'xt2aq-KYGWnt' -S /usr/local/mysql/data/3308/mysql.sock
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.22


Copyright (c) 2000, 2018, 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> exit
Bye
[root@localhost log]#


[root@localhost log]# systemctl stop mysqld@330*
[root@localhost log]# ps -ef |grep mysql
root       3328   2861  0 01:32 pts/0    00:00:00 grep --color=auto mysql
[root@localhost log]# systemctl start mysqld@330*
[root@localhost log]# ps -ef |grep mysql
root       3335   2861  0 01:32 pts/0    00:00:00 grep --color=auto mysql
[root@localhost log]# systemctl start mysqld@330*
[root@localhost log]# systemctl start mysqld@3307
[root@localhost log]# systemctl start mysqld@3308
[root@localhost log]# ps -ef |grep mysql
mysql      3367      1  5 01:32 ?        00:00:00 /usr/local/mysql/bin/mysqld --defaults-group-suffix=@3307 --daemonize --pid-file=/var/run/mysqld/mysqld-3307.pid
mysql      3420      1 10 01:32 ?        00:00:00 /usr/local/mysql/bin/mysqld --defaults-group-suffix=@3308 --daemonize --pid-file=/var/run/mysqld/mysqld-3308.pid
root       3449   2861  0 01:32 pts/0    00:00:00 grep --color=auto mysql
[root@localhost log]# systemctl stop mysqld@330*
[root@localhost log]# ps -ef |grep mysql
root       3459   2861  0 01:32 pts/0    00:00:00 grep --color=auto mysql
[root@localhost log]# systemctl start mysqld@330*
[root@localhost log]# ps -ef |grep mysql
root       3466   2861  0 01:33 pts/0    00:00:00 grep --color=auto mysql
[root@localhost log]#
5 个人总结
多实例命名文件如 mysqld@3307 不需要以.service扩展名结尾。 (我加上了.service扩展名后不知道为什么会启动混乱)
本环境中注意各个目录都要存在。
6 资料参考引用
https://dev.mysql.com/doc/refman/5.7/en/using-systemd.html

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/11780477/viewspace-2154132/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-06-12

  • 博文量
    195
  • 访问量
    598489