centos7下安装解压版(tar.gz)MySQL5.7

本文详细描述了如何在CentOS7系统中卸载MariaDB,然后安装并配置MySQL5.7,包括添加用户、创建数据目录、配置my.cnf文件、初始化数据库、设置环境变量、修改密码以及防火墙设置等内容。
1.卸载centos7自带

#查看maridb信息

rpm -qa|grep mariadb

# mariadb-libs-5.5.68-1.el7.x86_64

#卸载

rpm -e mariadb-libs-5.5.56-2.el7.x86_64 --nodeps

2.解压mysql

#创建mysql安装包存放目录

mkdir /home/app

#解压mysql安装包 (安装包在/home/app目录下)

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

3.添加用户和用户组

groupadd mysql && useradd -r -g mysql mysql

4.创建数据目录并授权

#创建数据存放目录

mkdir -p ../data

#给目录授权

chown mysql:mysql -R ../data

5.添加mysql配置文件 my.cnf

#在etc目录下新建my.cnf文件

vim /etc/my.cnf

#添加配置信息

[mysqld]

# 设置3306端口

port=3306

# 设置mysql的安装目录

basedir=/usr/local/mysql/mysql57

# 设置mysql数据库的数据的存放目录

datadir=/usr/local/mysql/mysql57/data

log-error=/usr/local/mysql/mysql57/data/mysql.err

pid-file=/usr/local/mysql/mysql57/data/mysql.pid

# 允许最大连接数

max_connections=200

# 允许连接失败的次数。

max_connect_errors=10

# 服务端使用的字符集默认为utf8mb4

character-set-server=utf8mb4

# 创建新表时将使用的默认存储引擎

default-storage-engine=INNODB

# 默认使用“mysql_native_password”插件认证

#mysql_native_password

default_authentication_plugin=mysql_native_password

skip_grant_tables

socket=/tmp/mysql.sock

[mysql]

# 设置mysql客户端默认字符集

default-character-set=utf8mb4

[client]

# 设置mysql客户端连接服务端时默认使用的端口

port=3306

socket = /tmp/mysql.sock

default-character-set=utf8mb4

6.移动mysql目录

#移动mysql目录并重命名

mv /home/app/mysql-5.7.39-linux-glibc2.12-x86_64 /usr/local/mysql

7.初始化mysql

#进入到mysql目录下的bin目录

cd /usr/local/mysql/bin/

#执行下面的命令进行初始化

./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/mysql57/ --datadir=/usr/local/mysql/mysql57/data/ --user=mysql --initialize

#注意:阿里云服务器在安装时会报一下错误 需要安装 libaio

./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

#安装libaio

yum install -y libaio

8.移动mysql的启动文件到/etc/init.d目录下

cp /usr/local/mysql/mysql57/support-files/mysql.server /etc/init.d/mysql

9.启动mysql

service mysql start

10.配置环境变量,可以在任意目录下使用mysql相关的命令

#打开profile目录

vim /etc/profile

#在最下面添加

export MYSQL_HOME=/usr/local/mysql/mysql57

export PATH=$PATH:$MYSQL_HOME/bin

#重新加载配置

source /etc/profile

11.查看初始密码

cat /usr/local/mysql/mysql57/mysql.err | grep password

###### 2023-04-03T05:04:54.822998Z 1 [Note] A temporary password is generated for root@localhost: kme9gewsj+pC

由于加了skip_grant_tables这个,可以跳过密码验证,在修改完密码后,把这个注释掉,重启mysql就可,不需要查看密码

12.登录mysql并修改密码

#登录 使用上面的初始密码登录

mysql -uroot -p

#在mysql命令行修改密码

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

#刷新 使新密码生效

FLUSH PRIVILEGES;

13.设置允许外部访问

#选择访问mysql库

use mysql;

#使root能再任何host访问

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

#刷新

FLUSH PRIVILEGES;

14.添加mysql新用户并授权

#创建

CREATE USER 'user1'@'%' IDENTIFIED BY '123456';

#授权

grant all on *.* to user1@'%' identified by "123456";

#允许外部访问

update user set host = '%' where user = 'user1';  

#刷新

FLUSH PRIVILEGES;

15.添加开机自启

chkconfig --add mysql

16.防火墙常用命令   开放端口

常用命令:

systemctl start firewalld #启动

systemctl stop firewalld #停止

systemctl status firewalld #查看状态

systemctl disable firewalld #开机禁用

systemctl enable firewalld #开机启动

开放或关闭端口:

#开放3306/tcp端口 (--permanent永久生效,没有此参数重启后失效)

firewall-cmd --zone=public --add-port=3306/tcp --permanent

#查看3306/tcp端口

firewall-cmd --zone=public --query-port=3306/tcp

#关闭3306/tcp端口

firewall-cmd --zone=public --remove-port=3306/tcp --permanent

批量开放或关闭端口:

#批量开放端口,打开从40000到45000之间的所有端口

firewall-cmd --zone=public --add-port=40000-45000/tcp --permanent

#查看系统所有开放的端口

firewall-cmd --zone=public --list-ports

#批量关闭端口,关闭从40000到45000之间的所有端口

firewall-cmd --zone=public --remove-port=40000-45000/tcp --permanent

更新防火墙的设置:

#更新防火墙的设置,使上面的修改生效

firewall-cmd --reload

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值