mysql 5.7 glibc_CentOS7.5下安装 mysql5.7(glibc版)以及实现多实例

1. 下载glibc版的MySQL安装包

点击“DOWNLOADS”

11456ff4618331d36d0393997ab98c71.png

滑动到页面最下面,点击“MySQL Community Server”

5893d53616eb8bacea01bb97210f4e29.png

点击“Looking for previous GA versions?”

7bf437f6aaacd89f0cd9c6844c4cf15e.png

选择要下载的版本

38b74ac198a343276b1267490732b0c1.png

点击“No thanks, just start my download.”开始下载

ba70d59fe6bacf8b9bd862c77debbd47.png

2. MySQL二进制安装

2.1 环境准备

检查是否已经安装了MySQL或者是MariaDB,如果已经安装,则先把安装的卸载

rpm -qa |grep mysql

rpm -qa |grep mariadb

yum remove -y mariadb*

2.2 创建软件目录

mkdir -p /application

上传软件到此目录

2.3 解压并改名为mysql

tar -zxvf mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz

mv mysql-5.7.28-linux-glibc2.12-x86_64 mysql

ls -l mysql

1c1dca05cb4bcd977af57cdff5b13324.png

2.4 修改环境变量

vim /etc/profile

在最后一行加入以下配置:

export PATH=/application/mysql/bin:$PATH

source /etc/profile

2.5 建立mysql用户和组(如果已有可忽略)

useradd -M -s /sbin/nologin mysql

2.6 创建相关目录并修改权限

mkdir -p /data/mysql

chown -R mysql.mysql /application/*

chown -R mysql.mysql /data/*

2.7 初始化数据库

进到MySQL的bin目录

cd /application/mysql/bin

方法一:

初始化数据,初始化管理员的临时密码

mysqld --initialize --user=mysql --basedir=/application/mysql --datadir=/data/mysql

648438c4e3b30ffc4b6303159d3fd87f.png

方法二:

初始化数据,初始化管理员的密码为空

mysqld --initialize-insecure --user=mysql --basedir=/application/mysql --datadir=/data/mysql

执行了方法一再执行方法二时,报错,如下:

1076beb917a78f57517d4e00597a12ad.png

报错原因:

在 /data/mysql 存在文件

解决:

\rm -rf /data/mysql/*

再次执行 mysqld --initialize-insecure --user=mysql --basedir=/application/mysql --datadir=/data/mysql

499f2749f0f5dfefd27c6ac7be2c52ce.png

MySQL5.7新特性重要说明:

MySQL5.7开始,MySQL加入了全新的密码安全机制:

(1)初始化完成后,会生成临时密码(显示到屏幕上,并且会往日志中记一份)

(2)密码复杂度:长度,超过12位;复杂度,数字、字符、大小写字母四种混乱组合

(3)密码过期时间180天

注意:MySQL5.6和MySQL5.7初始化是有区别的,MySQL5.6初始化目录如下:

/application/mysql/scripts/mysql_install_db --user=mysql --basedir=/application/mysql --datadir=/data/mysql

2.8 书写MySQL默认配置文件

cat > /etc/my.cnf <

[mysqld]

user=mysql

basedir=/application/mysql

datadir=/data/mysql

server_id=1port=3306socket=/tmp/mysql.sock

[mysql]

socket=/tmp/mysql.sock

prompt=3306 [\\d]>EOF

2.9 配置启动脚本

cd /application/mysql/support-files/

./mysql.server start

cp mysql.server /etc/init.d/mysqld

2bb88608a1aa3ca9c877c26f0010bd9b.png

2.10 使用systemd管理mysql

vim /etc/systemd/system/mysqld.service

[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=/application/mysql/bin/mysqld --defaults-file=/etc/my.cnf

LimitNOFILE= 5000

启动MySQL

systemctl start/stop/restart/status mysqld

2.11 在mysql系统外,使用mysqladmin设置密码

mysqladmin -u root -p password "123456"

4693308e8601f6ebee194cfa33d56e86.png

3. 多实例的应用

3.1 准备多个目录

mkdir -p /data/330{7,8,9}/data

3.2 准备配置文件

cat > /data/3307/my.cnf <

[mysqld]

basedir=/application/mysql

datadir=/data/3307/data

socket=/data/3307/mysql.sock

log_error=/data/3307/mysql.log

port=3307server_id=2log_bin=/data/3307/mysql-bin

EOFcat > /data/3308/my.cnf <

[mysqld]

basedir=/application/mysql

datadir=/data/3308/data

socket=/data/3308/mysql.sock

log_error=/data/3308/mysql.log

port=3308server_id=3log_bin=/data/3308/mysql-bin

EOFcat > /data/3309/my.cnf <

[mysqld]

basedir=/application/mysql

datadir=/data/3309/data

socket=/data/3309/mysql.sock

log_error=/data/3309/mysql.log

port=3309server_id=4log_bin=/data/3309/mysql-bin

EOF

3.3 初始化三套数据

mv /etc/my.cnf /etc/my.cnf.bak

mysqld --initialize-insecure --user=mysql --datadir=/data/3307/data --basedir=/application/mysql

mysqld --initialize-insecure --user=mysql --datadir=/data/3308/data --basedir=/application/mysql

mysqld --initialize-insecure --user=mysql --datadir=/data/3309/data --basedir=/application/mysql

3.4 systemd管理多实例

cd /etc/systemd/system

cp mysqld.service mysqld3307.service

cp mysqld.service mysqld3309.service

cp mysqld.service mysqld3308.service

vim mysqld3307.service

ExecStart=/application/mysql/bin/mysqld --defaults-file=/data/3307/my.cnf

vim mysqld3308.service

ExecStart=/application/mysql/bin/mysqld --defaults-file=/data/3308/my.cnf

vim mysqld3309.service

ExecStart=/application/mysql/bin/mysqld --defaults-file=/data/3309/my.cnf

3.5 授权

chown -R mysql.mysql /data/*

3.6 启动

systemctl start mysqld3307.service

systemctl start mysqld3308.service

systemctl start mysqld3309.service

3.7 验证多实例

netstat -lnp |grep 330

遇到如下报错:

4c3f08fc1440e4d4a67b7c280c4314db.png

解决方法:

yum install -y net-tools

6b1f9d9b44b3694eb2719288abbc6ec2.png

mysql -S /data/3307/mysql.sock -e "select @@server_id"

mysql -S /data/3308/mysql.sock -e "select @@server_id"

mysql -S /data/3309/mysql.sock -e "select @@server_id"

479f6ef9adf6024e069e145998a9d227.png

本文参考自:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值