Centos7安装MySQL5.7-基础篇

Linux--Centos7安装MySQL5.7-基础篇

  • 卸载Centos7自带MariaDB服务
  • 下载上传MySQL安装包(.tar.gz)
  • 创建MySQL用户组并修改权限
  • 配置MySQL文件
  • 初始化MySQL数据库
  • 启动MySQL服务
  • 修改MySQL密码
  • 连接MySQL

卸载Centos7自带MariaDB服务

Centos7默认安装了MariaDB服务,需要先将其删除。

  • 查看mariadb当前安装列表:
 rpm -qa | grep mariadb
  • 卸载MariaDB服务
//若修改过my.cnf文件,会打印一些信息,无需在意
rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64

Centos7安装MySQL5.7-基础篇_第1张图片

下载上传MySQL安装包(.tar.gz)

自行移步MySQL官网进行下载:

MySQL官网
Centos7安装MySQL5.7-基础篇_第2张图片
通过 lrzsz 命令将MySQL安装包上传到Linux系统中

  • 通过yum安装lrzsz : yum -y install lrzsz
    Centos7安装MySQL5.7-基础篇_第3张图片

  • 通过rz命令将MySQL安装包上传到Linux
    Centos7安装MySQL5.7-基础篇_第4张图片

  • 将安装包安装,修改解压文件名:

    • tar -zxvf 安装包

    • mv 移动文件夹 目标文件夹【目标文件夹如果存在的话会将移动文件夹移动到目标文件夹目录下,如果不存在会将移动文件夹的名称改为目标文件夹】
      Centos7安装MySQL5.7-基础篇_第5张图片

创建MySQL用户组并修改权限

创建用户组以及用户

Centos7安装MySQL5.7-基础篇_第6张图片

//在Linux系统中创建MySQL用户组
groupadd mysql
//为MySQL用户组添加MySQL用户
useradd -r -g mysql mysql

创建数据目录并赋予权限

mkdir -p  /data/mysql              #创建目录
chown mysql:mysql -R /data/mysql   #赋予权限

Centos7安装MySQL5.7-基础篇_第7张图片

配置MySQL文件

配置my.cnf :vi /etc/my.cnf ,如果my.cnf不存在会重新创建,如果存在修改即可

Centos7安装MySQL5.7-基础篇_第8张图片

my.cnf内容如下,编辑完成后即可保存退出

[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
#注意这里是自己配置的路径
basedir=/software/mysql/mysql5.7
datadir=/data/mysql
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true

初始化MySQL数据库

进入MySQL的bin目录,初始化。

./mysqld --defaults-file=/etc/my.cnf --basedir=/software/mysql/mysql5.7 --datadir=/data/mysql/ --user=mysql --initialize

查看密码,切记这是初始密码,用于进入MySQL服务。

cat /data/mysql/mysql.err

在这里插入图片描述

启动MySQL服务

先将mysql.server放置到/etc/init.d/mysql中。

cp /software/mysql/mysql5.7/support-files/mysql.server /etc/init.d/mysql

启动。

service mysql start
ps -ef|grep mysql

在这里插入图片描述

此时恭喜你,MySQL服务已经安装好了!

修改MySQL密码

此时MySQL服务已经启动,需要到MySQL安装目录下的bin文件下,登录MySQL,执行以下命令:

./mysql -u root -p
//登录时的秘密是初始化时候的密码,登录成功后执行以下命令,修改密码
SET PASSWORD = PASSWORD('root123');
//这个地方可能会报错,请看另外一篇文张
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
FLUSH PRIVILEGES;

Centos7安装MySQL5.7-基础篇_第9张图片

连接MySQL

使用navicat连接MySQL时提示:
Centos7安装MySQL5.7-基础篇_第10张图片

这个时候不要慌,第一时间想到的是防火墙的原因,下面我们先来测试一下:

//查看防火墙状态
systemctl status firewalld
//因为防火墙是运行状态,所以我们先关闭防火墙,然后再测试连接
systemctl stop firewalld

Centos7安装MySQL5.7-基础篇_第11张图片

果然不出所料,关闭防火墙后连接又换了一个错,这个错是啥原因嘞,突然想到MySQL只允许本地连接,不允许远程访问,此时我们遇到两个问题:第一是开放3306端口,第二是设置MySQL允许远程连接,我们一步一步来:

Centos7安装MySQL5.7-基础篇_第12张图片

我们开始放开端口3306端口:

// --permanent 永久生效,没有此参数重启后失效
//开放指定端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
//开放端口段,适用于多个项目部署
firewall-cmd --zone=public --add-port=1000-2000/tcp --permanent 
//重新载入
firewall-cmd --reload
//查看
firewall-cmd --zone=public --query-port=3306/tcp
//如果添加错了,不要慌,我们还可以移除,切记移除后也要重新载入
firewall-cmd --zone=public --remove-port=80/tcp --permanent

Centos7安装MySQL5.7-基础篇_第13张图片

端口开放成功,此时我们再来设置MySQL允许远程连接:

进入MySQL的bin目录,然后进入MySQL服务,执行以下命令:

//访问mysql库
use mysql
//使root能再任何host访问
update user set host = '%' where user = 'root';
//刷新
FLUSH PRIVILEGES;                                    

Centos7安装MySQL5.7-基础篇_第14张图片

然后我们再去连接MySQL,显示连接成功。

Centos7安装MySQL5.7-基础篇_第15张图片

恭喜你,现在MySQL基础内容就算是安装成功了。

你可能感兴趣的:(MySQL,mysql,数据库,linux)