MySql安装及部署

MySql安装及部署

一、MySql安装

1、安装准备

1)如果是虚拟机服务器,按照如下步骤准备MySQL安装前环境
(1)卸载自带的mariadb以及如果之前安装过MySQL,需要全都卸载掉

①先查看是否安装过MySQL或者mariadb

[xxx@hadoop102 software]$

rpm -qa | grep -i -E mysql|mariadb

mariadb-libs-5.5.56-2.el7.x86_64

mysql-community-libs-5.7.16-1.el7.x86_64

mysql-community-client-5.7.16-1.el7.x86_64

mysql-community-common-5.7.16-1.el7.x86_64

mysql-community-libs-compat-5.7.16-1.el7.x86_64

mysql-community-server-5.7.16-1.el7.x86_64

②出现以上任何一个都需要卸载(之前安装mysql版本不同内容也可能不同)

用下面的命令进行卸载

[xxx@hadoop102 software]$

rpm -qa | grep -i -E mysql|mariadb | xargs -n1 sudo rpm -e --nodeps

(2)如果之前安装过MySQL需要清空原先的所有数据

①通过/etc/my.cnf查看MySQL数据的存储位置

[xxx@hadoop102 software]$ sudo cat /etc/my.cnf

[mysqld]

datadir=/var/lib/mysql

②去往/var/lib/mysql以下得拿root权限

[xxx@hadoop102 mysql]$ su - root

[root@hadoop102 ~]#

cd /var/lib/mysql

[root@hadoop102 mysql]#

rm -rf * (注意敲击命令的位置)

2)如果是阿里云服务器,按照如下步骤准备MySQL安装前环境

说明:由于阿里云服务器安装的是Linux最小系统版,没有如下工具,所以需要安装。

(1)卸载MySQL依赖,虽然机器上没有装MySQL,但是这一步不可少

[xxx@hadoop102 software]# sudo yum remove mysql-libs

(2)下载依赖并安装

[xxx@hadoop102 software]# sudo yum install libaio

[xxx@hadoop102 software]# sudo yum -y install autoconf

2、安装MySql

1)上传MySQL安装包以及MySQL驱动jar包

mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar

mysql-connector-java-5.1.37.jar

2)解压MySQL安装包

[xxx@hadoop102 software]$ mkdir mysql_lib

[xxx@hadoop102 software]$

tar -xf mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar -C mysql_lib/

3)安装MySQL依赖

[xxx@hadoop102 software]$ cd mysql_lib

[xxx@hadoop102 mysql_lib]$

sudo rpm -ivh mysql-community-common-5.7.28-1.el7.x86_64.rpm

[xxx@hadoop102 mysql_lib]$

sudo rpm -ivh mysql-community-libs-5.7.28-1.el7.x86_64.rpm

[xxx@hadoop102 mysql_lib]$

sudo rpm -ivh mysql-community-libs-compat-5.7.28-1.el7.x86_64.rpm

4)安装mysql-client

[xxx@hadoop102 mysql_lib]$

sudo rpm -ivh mysql-community-client-5.7.28-1.el7.x86_64.rpm

5)安装mysql-server

[xxx@hadoop102 mysql_lib]$

sudo rpm -ivh mysql-community-server-5.7.28-1.el7.x86_64.rpm

注意:如果报如下错误,这是由于yum安装了旧版本的GPG keys所造成,从rpm版本4.1后,在安装或升级软件包时会自动检查软件包的签名。
warning: 05_mysql-community-server-5.7.16-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
error: Failed dependencies:
libaio.so.1()(64bit) is needed by mysql-community-server-5.7.16-1.el7.x86_64
解决办法:
[xxx@hadoop102 software]$ sudo yum -y install libaio

6)启动MySQL

[xxx@hadoop102 software]$

sudo systemctl start mysqld

7)查看MySQL密码

[xxx@hadoop102 software]$

sudo cat /var/log/mysqld.log | grep password

3、配置MySql

1)用刚刚查到的密码进入MySQL(如果报错,给密码加单引号)

[xxx@hadoop102 software]$ mysql -uroot -p’password’

2)设置复杂密码(由于MySQL密码策略,此密码必须足够复杂)

mysql> set password=password(“Qs23=zs32”);

3)更改MySQL密码策略

mysql> set global validate_password_length=4;

mysql> set global validate_password_policy=0;

4)设置简单好记的密码

mysql> set password=‘123456’;

5)进入MySQL库

mysql> use mysql

6)查询user表

mysql> select user, host from user;

7)修改user表,把Host表内容修改为%

mysql> update user set host=“%” where user=“root”;

8)刷新

mysql> flush privileges;

9)退出

mysql> quit;

4、脚本形式安装

切换至root用户

[root@hadoop102 mysql]# vim install_mysql.sh

#!/bin/bash

set -x

[ "$(whoami)" = "root" ] || exit 1

[ "$(ls *.rpm | wc -l)" = "7" ] || exit 1

test -f mysql-community-client-8.0.31-1.el7.x86_64.rpm && \

test -f mysql-community-client-plugins-8.0.31-1.el7.x86_64.rpm && \

test -f mysql-community-common-8.0.31-1.el7.x86_64.rpm && \

test -f mysql-community-icu-data-files-8.0.31-1.el7.x86_64.rpm && \

test -f mysql-community-libs-8.0.31-1.el7.x86_64.rpm && \

test -f mysql-community-libs-compat-8.0.31-1.el7.x86_64.rpm && \

test -f mysql-community-server-8.0.31-1.el7.x86_64.rpm || exit 1

 

# 卸载MySQL

systemctl stop mysql mysqld 2>/dev/null

rpm -qa | grep -i 'mysql\|mariadb' | xargs -n1 rpm -e --nodeps 2>/dev/null

rm -rf /var/lib/mysql /var/log/mysqld.log /usr/lib64/mysql /etc/my.cnf /usr/my.cnf

 

set -e

# 安装并启动MySQL

yum install -y *.rpm >/dev/null 2>&1

systemctl start mysqld

 

#更改密码级别并重启MySQL

sed -i '/\[mysqld\]/avalidate_password.length=4\nvalidate_password.policy=0' /etc/my.cnf

systemctl restart mysqld

 

# 更改MySQL配置

tpass=$(cat /var/log/mysqld.log | grep "temporary password" | awk '{print $NF}')

cat << EOF | mysql -uroot -p"${tpass}" --connect-expired-password >/dev/null 2>&1

set password='000000';

update mysql.user set host='%' where user='root';

alter user 'root'@'%' identified with mysql_native_password by '000000';

flush privileges;

EOF

执行脚本install_mysql.sh

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值