CentOS7离线安装mysql5.7

目录

  • 前言
  • 一、环境准备
    • 1.1 CentOS的安装
    • 1.2 安装前检查是否有残余mysql
    • 1.3 MySQL的下载解压
  • 二、安装
    • 2.1 安装MySQL
    • 2.2 修改root密码
    • 2.3 开放远程访问权限
    • 2.4 修改字符编码
    • 2.5 开放3306端口防火墙
  • 3 其他配置


前言

由于每次安装mysql的环境都不同,有时有外网,有时没有。现就无外网环境的CentOS7上安装mysql5.7,为以后用到时提供参考。


提示:考虑到环境不同,以下内容,仅供参考

一、环境准备

名称 版本 下载源
CentOS 7.5 CentOS官网下载地址
MySQL 5.7 MySQL官网下载地址

1.1 CentOS的安装

以前记录过在线安装Linux相关软件的文章,版本是CentOS7.2,可以参考。

1.2 安装前检查是否有残余mysql

rpm方式安装残留

#查包名
rpm -qa|grep -i mysql
#删除命令
rpm -e –nodeps 包名
#查找mysql相关目录
find / -name mysql
#删除相关目录(依次删除)
rm -rf "目录文件路径"
#删除 /etc/my.cnf
rm -rf /etc/my.cnf
#删除/var/log/mysqld.log(如果不删除这个文件,会导致新安装的mysql无法生存新密码,导致无法登陆
rm -rf /var/log/mysqld.log
#查看mysql用户及用户组
more /etc/passwd | grep mysql
more /etc/group | grep mysql
more /etc/shadow | grep mysql
#删除mysql用户及用户组
userdel mysql
groupdel mysql
#检查是否有mariadb
rpm -qa | grep mariadb
#如果有则卸载
rpm -e --nodeps mariadb-libs
rpm -e --nodeps mariadb-devel-5.5.65-1.el7.x86_64

yum方式安装

#查看已安装的mysql
rpm -qa | grep -i mysql
#卸载mysql
yum remove 文件名

1.3 MySQL的下载解压

先按照上面的地址进入MySQL官网下载界面
CentOS7离线安装mysql5.7_第1张图片

下载到本地后通过工具上传到CentOS服务器指定目录中(我这里习惯把安装包放在/opt/software中,安装在/usrl/local/software)
在这里插入图片描述

# 创建文件夹
mkdir -p /opt/software
mkdir -p /usr/local/software/mysql
# 将mysql-5.7.38-linux-glibc2.12-x86_64.tar上传到/opt/software目录下
cd /opt/software
# 这里好多人会用tar -zxvf 进行解压会报错,改成
tar -xvf mysql-5.7.38-1.el7.x86_64.rpm-bundle.tar
# 移动到/usr/local/software指定目录下
mv mysql-* /usr/local/software/mysql
# 切换到安装包目录进行安装
cd /usr/local/software/mysql

二、安装

2.1 安装MySQL

#1、安装依赖 
rpm -ivh --nodeps --force mysql-community-common-5.7.38-1.el7.x86_64.rpm
#2、安装libs
rpm -ivh --nodeps --force mysql-community-libs-5.7.38-1.el7.x86_64.rpm 
#3、安装客户端 
rpm -ivh --nodeps --force mysql-community-client-5.7.38-1.el7.x86_64.rpm 
#4、安装服务 
rpm -ivh --nodeps --force mysql-community-server-5.7.38-1.el7.x86_64.rpm 

2.2 修改root密码

# 启动服务
systemctl startmysqld 或者 service mysqld start
# 获取密码
grep 'temporary password' /var/log/mysqld.log

在这里插入图片描述

# 登录
mysql -uroot -p
# 登录MySQL,输入刚刚查到的密码,输入的时候页面不显示,实际已经生效
set password for root@localhost = password('你的密码');
# 注意:如果密码级别与默认的级别要求不符时候会报
Your password does not satisfy the current policy requirements
#此时需要修改级别与最小的默认密码位数,然后在进行设置密码就好了
set global validate_password_policy=0;
set global validate_password_length=4;

2.3 开放远程访问权限

MySQL默认是没有开启远程控制的,必须添加远程访问的用户,即默认是只能自己访问,别的机器是访问不了的。

# user 为用户名,IP为可访问的IP地址,password为密码;
# IP如果填'%',%为任何IP都可以访问,强烈建议不要用%,可替换成具体IP地址。
 grant all privileges on *.* to 'root'@'%' identified by '你的密码' with grant option;
 # 刷新权限
 flush privileges;

2.4 修改字符编码

mysql 安装后默认不支持中文,需要修改编码。
修改 /etc/my.cnf 配置文件,在相关节点(没有则自行添加)下添加编码配置,注意位置如下:

[mysqld]
character-set-server=utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8

CentOS7离线安装mysql5.7_第2张图片

# 重启查看字符编码集
systemctl restart mysqld
mysql -uroot -p
show variables like 'character%';

CentOS7离线安装mysql5.7_第3张图片

2.5 开放3306端口防火墙

firewall-cmd --list-all
#在防火墙中将3306端口开放
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
#permanent为永久生效,没有此参数 服务器重启后配置失效

3 其他配置

1、设置安全选项:
mysql_secure_installation

2、开启/关闭MySQL
systemctl start/stop mysqld
service mysqld start/stop

3、重启MySQL
systemctl restart mysqld 

4、查看MySQL运行状态
systemctl status mysqld 
service mysqld status
5、设置开机启动
systemctl enable mysqld 

6、关闭开机启动
systemctl disable mysqld 

7、其他默认配置文件路径:
# 配置文件:
/etc/my.cnf 
# 数据目录
/var/lib/mysql
# 日志文件:
/var/log/mysqld.log 
# 服务启动脚本:
/var/lib/mysql/mysql.sock
# 其他文件:
/var/run/mysqld/mysqld.pid

8、查看版本
select version();

你可能感兴趣的:(linux,mysql,服务器)