多实例启动本质就是不同配置文件启动mysql
二进制文件直接启动mysql:
1.下载对应版本二进制文件并解压
下载地址:https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz
本例下载版本为5.7.35
这里可以下载其他版本:
MySQL :: Download MySQL Community Server (Archived Versions)
cd /opt
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz tar -zxf mysql-5.7.35-linux-glibc2.12-x86_64.tar.gz
把需要后续使用的命令软连接到PATH下
ln -s /opt/mysql-5.7.35/bin/mysql /usr/sbin/mysql
ln -s /opt/mysql-5.7.35/bin/mysqld /usr/sbin/mysqld
ln -s /opt/mysql-5.7.35/bin/mysqladmin /usr/sbin/mysqladmin
...
2.增加mysql用户和组
groupadd mysql useradd -r -g mysql -s /sbin/nologin mysql
3.创建mysql实例所需文件
mkdir -p /data/mysql_3306/data
chown -R mysql:mysql /data/mysql_3306/data
chmod -R 750 /data/mysql_3306/data
4.初始化数据库
/opt/mysql-5.7.35/bin/mysqld --initialize-insecure --datadir=/data/mysql_3306/data/ --basedir=/opt/mysql-5.7.35/ --user=mysql
5.创建初始my.cnf配置文件(最简配置)
[mysqld]
user=mysql
port=3306
basedir=/opt/mysql-5.7.35
# 创建好对应的目录
datadir=/data/mysql_3306/data
socket=/data/mysql_3306/mysql_3306.sock
log-error=/data/mysql_3306/mysql_3306.log
pid-file=/data/mysql_3306/mysql_3306.pid
server-id=1
6.启动mysqld
./mysqld --defaults-file=/data/mysql_3306/my.cnf &
7.设置本地root密码
刚才初始化的时候使用了--initialize-insecrue,所以现在root是没有密码的可以直接登录
mysql -h127.0.0.1 -P 3306 -uroot -p
登录后使用以下SQL修改本地root登录密码
set password for 'root'@'localhost' = password('123456');
flush privileges;
-- 允许root使用密码123456通过任意主机登录
grant all privileges on *.* to 'root'@'%' identified by '123456';
flush privileges;
因为二进制安装,mysql默认依然会连接/tmp/下的sock文件,所以连接需要指定IP地址,且不能使用localhost,不然会有如下报错
yum安装myqsl:
先下载mysql的rpm仓库:
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
rpm -ivh mysql57-community-release-el7-10.noarch.rpm
yum install mysql-server
https://repo.mysql.com/yum/也可以选择其他版本mysql的rpm仓库
有时候秘钥检查错误,可以在mysql的rpm仓库配置文件中关闭检查(gpgcheck=0)