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

本文详细描述了如何在CentOS7系统中卸载MariaDB,然后安装并配置MySQL5.7,包括添加用户、创建数据目录、配置my.cnf文件、初始化数据库、设置环境变量、修改密码以及防火墙设置等内容。
MySQL5.7&spm=1001.2101.3001.5002&articleId=132180631&d=1&t=3&u=812c6b4abbc9491483c90e70e1478a4b)
1297

被折叠的 条评论
为什么被折叠?



