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
使用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/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/11780477/viewspace-2154132/