MySQL安装部署

MySQL安装部署

1.二进制安装

1.清除残留软件

rpm -qa|grep mariadb
yum remove mariadb-libs -y
rm -rf /etc/my.cnf

2.下载软件包安装依赖

wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz
yum install -y libaio-devel

3.解压到指定目录

tar zxf mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz -C /opt/
mv /opt/mysql-5.7.28-linux-glibc2.12-x86_64 /opt/mysql-5.7.28

4.创建软链接

ln -s /opt/mysql-5.7.28 /opt/mysql

5.配置环境变量

echo 'export PATH=$PATH:/opt/mysql/bin' >>/etc/profile
source /etc/profile
mysql -V

6.编写配置文件

cat> /etc/my.cnf <<EOF
[mysqld]
port=3306
user=mysql
basedir=/opt/mysql
datadir=/data/mysql_3306
socket=/tmp/mysql_3306.sock

[mysql]
socket=/tmp/mysql_3306.sock
EOF

7.创建数据目录

mkdir -p /data/mysql_3306

8.创建mysql用户

useradd -s /sbin/nologin -M mysql

9.授权软件目录和数据目录为mysql

chown -R mysql:mysql /data/
chown -R mysql:mysql /opt/mysql*

10.初始化数据库目录

mysqld --initialize-insecure --user=mysql --basedir=/opt/mysql --datadir=/data/mysql_3306/

11.复制启动文件并配置systemctl

cp /opt/mysql/support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
systemctl start mysqld

12.检查

netstat -lntup|grep 3306
mysql

2.多实例安装配置

1.创建多实例的数据目录

mkdir -p /data/mysql_330{7,8}
chown -R mysql:mysql /data/mysql_330*

2.初始化数据库目录

mysqld --initialize-insecure --user=mysql --basedir=/opt/mysql --datadir=/data/mysql_3307/
mysqld --initialize-insecure --user=mysql --basedir=/opt/mysql --datadir=/data/mysql_3308/

3.创建多实例配置文件

cat >/data/mysql_3307/my.cnf <<EOF
[mysqld]
port=3307
user=mysql
basedir=/opt/mysql
datadir=/data/mysql_3307
socket=/tmp/mysql_3307.sock

[mysql]
socket=/tmp/mysql_3307.sock
EOF

cat >/data/mysql_3308/my.cnf <<EOF
[mysqld]
port=3308
user=mysql
basedir=/opt/mysql
datadir=/data/mysql_3308
socket=/tmp/mysql_3308.sock

[mysql]
socket=/tmp/mysql_3308.sock
EOF

4.配置启动文件

cat >/etc/systemd/system/mysqld_3307.service <<EOF
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/opt/mysql/bin/mysqld --defaults-file=/data/mysql_3307/my.cnf
LimitNOFILE = 5000
EOF

cat >/etc/systemd/system/mysqld_3308.service <<EOF
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/opt/mysql/bin/mysqld --defaults-file=/data/mysql_3308/my.cnf
LimitNOFILE = 5000
EOF

5.重载并重启

systemctl daemon-reload
systemctl start mysqld_3307.service mysqld_3308.service

6.检查多实例是否启动成功查看端口

netstat -lntup|grep 330*

7.配置密码

mysqladmin password -S /tmp/mysql_3307.sock
mysqladmin password -S /tmp/mysql_3308.sock

8.登陆多实例

mysql -S /tmp/mysql_3307.sock -p
mysql -S /tmp/mysql_3308.sock -p
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页