Mysql多实例安装
准备MySQL帐号
[root@node8 ~]# groupadd -r mysql[root@node8 ~]# useradd -r -g mysql -d /usr/local/mysql -s /sbin/nologin -M mysql[root@node8 ~]# id mysql uid=994(mysql) gid=992(mysql) groups=992(mysql)
创建多实例Data目录
[root@node8 ~]# mkdir -pv /data/mysql/mysql3306/{conf,data,logs,tmp} mkdir: created directory ‘/data’ mkdir: created directory ‘/data/mysql’ mkdir: created directory ‘/data/mysql/mysql3306’ mkdir: created directory ‘/data/mysql/mysql3306/conf’ # 存放配置文件 mkdir: created directory ‘/data/mysql/mysql3306/data’ # 数据目录 mkdir: created directory ‘/data/mysql/mysql3306/logs’ # 存放Binlog等日志文件 mkdir: created directory ‘/data/mysql/mysql3306/tmp’[root@node8 ~]# mkdir -pv /data/mysql/mysql3307/{conf,data,logs,tmp} ...[root@node8 ~]# chown -R mysql.mysql /data/mysql[root@node8 ~]# ll /data/mysql/* /data/mysql/mysql3306: total 0 drwxr-xr-x 2 mysql mysql 23 Jan 12 00:49 conf drwxr-xr-x 2 mysql mysql 6 Jan 12 00:39 data drwxr-xr-x 2 mysql mysql 6 Jan 12 00:39 logs drwxr-xr-x 2 mysql mysql 6 Jan 12 00:39 tmp /data/mysql/mysql3307: total 0 drwxr-xr-x 2 mysql mysql 40 Jan 12 00:51 conf drwxr-xr-x 2 mysql mysql 6 Jan 12 00:39 data drwxr-xr-x 2 mysql mysql 6 Jan 12 00:39 logs drwxr-xr-x 2 mysql mysql 6 Jan 12 00:39 tmp
二进制方式安装Mysql(5.7.20)
1. 解压并做软链接(方便后续版本升级)[root@node8 ~]# tar xf tools/mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz -C /usr/local[root@node8 ~]# cd /usr/local/[root@node8 local]# ln -sv mysql-5.7.20-linux-glibc2.12-x86_64 mysql ‘mysql’ -> ‘mysql-5.7.20-linux-glibc2.12-x86_64’[root@node8 local]# chown -R mysql:mysql mysql/[root@node8 local]# ll mysql/ total 40 drwxr-xr-x 2 mysql mysql 4096 Jan 12 00:43 bin -rw-r--r-- 1 mysql mysql 17987 Sep 13 23:48 COPYING drwxr-xr-x 2 mysql mysql 52 Jan 12 00:43 docs drwxr-xr-x 3 mysql mysql 4096 Jan 12 00:43 include drwxr-xr-x 5 mysql mysql 4096 Jan 12 00:43 lib drwxr-xr-x 4 mysql mysql 28 Jan 12 00:43 man -rw-r--r-- 1 mysql mysql 2478 Sep 13 23:48 README drwxr-xr-x 28 mysql mysql 4096 Jan 12 00:43 share drwxr-xr-x 2 mysql mysql 86 Jan 12 00:43 support-files2. 提供多实例的my.cnf配置文件[root@node8 local]# cp /root/tools/my3306.cnf /data/mysql/mysql3306/conf/[root@node8 local]# cp /root/tools/my3306.cnf /data/mysql/mysql3307/conf/my3307.cnf[root@node8 local]# sed -i 's/3306/3307/g' /data/mysql/mysql3307/conf/my3307.cnf # 修改相关配置为33073. 分别初始化mysql[root@node8 mysql]# ./bin/mysqld --defaults-file=/data/mysql/mysql3306/conf/my3306.cnf --initialize[root@node8 mysql]# ./bin/mysqld --defaults-file=/data/mysql/mysql3307/conf/my3307.cnf --initialize4. 启动Mysql并修改登录密码[root@node8 ~]# mysqld --defaults-file=/data/mysql/mysql3306/conf/my3306.cnf &[root@node8 ~]# mysqld --defaults-file=/data/mysql/mysql3307/conf/my3306.cnf &[root@node8 ~]# grep password /data/mysql/mysql3306/data/error.log 2018-01-11T17:02:31.267950Z 1 [Note] A temporary password is generated for root@localhost: gE-p+sgfQ1!d[root@node8 ~]# mysql -S /tmp/mysql3306.sock -pgE-p+sgfQ1!dmysql> alter user user() identified by 'PASSWORD';
注:
conf文件中关于prompt的设置要放在/etc/my.cnf中才会生效
关闭实例:
[root@node8 ~]# mysqladmin -uroot -prootpwd -S /tmp/mysql3306.sock shutdown[root@node8 ~]# mysqladmin -uroot -prootpwd -S /tmp/mysql3307.sock shutdown