多实例安装(基于5.7版本 )
获取软件包:
[root@localhost ~]# wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz
解压并做超链接
[root@localhost ~]# mv mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz /app/soft/
[root@localhost soft]# tar xf mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz
[root@localhost soft]# ln -s mysql-5.7.36-linux-glibc2.12-x86_64 mysql5
创建数据存储目录
[root@localhost soft]# mkdir -p /data/mysql5_data/{data,logs}
创建 主配置 文件
[root@localhost mysql5_data]# vim my.cnf
[mysqld]
user = mysql
port = 3308
socket=/data/mysql5_data/mysql.sock
basedir=/app/soft/mysql5/
datadir=/data/mysql5_data/data
log-error=/data/mysql5_data/logs/error.log
[mysql]
prompt = "\\u@\\d*\\h \\R:\\m:\\s >"
创建用户,修改存放数据目录的权限及安装目录
[root@localhost mysql5_data]# useradd mysql -s /sbin/nologin
[root@localhost mysql5_data]# chown mysql:mysql -R /my_data/
[root@localhost mysql5_data]# chown mysql:mysql -R mysql5/
初始化:
[root@localhost mysql5]# bin/mysqld --user=mysql --basedir=/app/soft/mysql5 --datadir=/data/mysql5_data/data --initialize
注意:
如果初始化成功之后再进行下一步;如果不确定执行是否成功 ;可以使用echo $?
0 为执行成功;
非0 为执行不成功;需要重新初始化执行;
启动数据库:(两种方式)
使用mysqld 启动
[root@localhost mysql5]# /bin/mysqld --defaults-file=/data/mysql5_data/my.cnf --user=mysql &
使用mysqld_safe
[root@localhost mysql5]# bin/mysqld_safe --defaults-file=/data/mysql5_data/my.cnf --user=mysql &
解释:
mysqld 开启 之后只有一个进程;
mysqld_safe:开启之后有两个进程;
他们之间的关系是mysqld_safe是mysqld 守护进程。
连接数据库 :
[root@localhost mysql5]# bin/mysql -S /data/mysql5_data/mysql.sock -P 3308 -u root -p
密码会在初始化的时候随机生成;第一次登录需要,登录之后在修改密码
安装第二个 实例
创建 数据存储目录
[root@localhost data]# mkdir -p my_data2/{data,logs}
修改权限
root@localhost data]# chown -R mysql:mysql my_data2/
创建my.cnf或者修改原有的配置(添加一下修改一下标签就好)
注意: 我的my.cnf是独立使用的
[root@localhost mysql5_data2]# vim my.cnf
[mysqld]
user = mysql
port = 3307
socket=/data/mysql5_data2/mysql.sock
basedir=/app/soft/mysql5/
datadir=/data/mysql5_data2/data
log-error=/data/mysql5_data2/logs/error.log
[mysql]
prompt = "\\u@\\d*\\h \\R:\\m:\\s >"
初始化 :
[root@localhost mysql5]# bin/mysqld --user=mysql --basedir=/app/soft/mysql5 --datadir=/data/mysql5_data2/data --initialize
启动第二个实例:
[root@localhost mysql5]# bin/mysqld bin/mysqld --defaults-file=/data/mysql5_data2/my.cnf --user=mysql &
测试:连接3307端口实例
[root@localhost mysql5]# bin/mysql -S /data/mysql5_data2/mysql.sock -P3307 -uroot -p
好了现在多实例就创建完成了