美文网首页Linux系统Linux/服务器技术
CentOS7安装MySQL数据库、设置防火墙

CentOS7安装MySQL数据库、设置防火墙

作者: 白巧克力LIN | 来源:发表于2022-01-29 15:59 被阅读0次

    CentOS7安装MySQL数据库步骤

    MySQL数据库安装

    首先输入su按回车输入密码,进入root权限

    下载wget命令

    在下载MySQL数据库前,首先要wget命令,代码如下所示:

    yum -y install wget
    

    删除已安装的MySQL服务

    在下载MySQL数据包前,需要先查看是否已经安装了MySQL服务,代码如下:

    rpm -qa | grep mysql
    或
    yum list installed | grep mysql
    

    如果已经安装了MySQL服务,则需要把MySQL服务删除,代码如下所示:

    yum -y remove mysql-libs.x86_64
    

    安装MySQL安装包

    在安装MySQL安装包前,先进入/usr/local目录创建tools、mysql文件并进入tools目录,执行以下代码:

    cd /usr/local/
    mkdir -p tools
    mkdir -p mysql
    cd tools
    

    下载安装包,执行以下代码:

    wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm
    

    如下图所示:

    安装MySQL,执行如下代码:

    rpm -ivh mysql57-community-release-el7-8.noarch.rpm
    

    如下图所示:

    安装好后会在/etc/yum.repos.d/目录下生成两个repo包,如下图所示:

    进入/etc/yum.repos.d/目录下安装MySQL服务,执行如下代码:

    yum install mysql-server
    

    如下图所示:

    可能遇到的问题

    问题一

    The GPG keys listed for the “MySQL 5.7 Community Server” repository are already installed but they are not correct for this package.
    或
    Public key for mysql-community-libs-compat-5.7.37-1.el7.x86_64.rpm is not installed
    

    就执行如下代码强制安装MySQL服务:

    yum install mysql-server --nogpgcheck
    

    问题二

    Loaded plugins: fastestmirror, langpacks
    Existing lock /var/run/yum.pid: another copy is running as pid 2847.
    Another app is currently holding the yum lock; waiting for it to exit...
    

    yum在锁定状态中。 已经有一个yum进程在运行了,可以使用kill干掉它:

    kill -s 9 2847              #kill进程
    或
    rm -f /var/run/yum.pid      #强制停止
    

    然后继续安装:

    yum install mysql-server
    或
    yum install mysql-server --nogpgcheck
    

    MySQL数据库配置

    在安装好MySQL后,我们接下来启动MySQL数据库并配置一些环境。

    获取临时密码

    首先启动MySQL,执行如下代码:

    systemctl start mysqld
    

    获取临时密码,执行如下代码:

    grep 'temporary password' /var/log/mysqld.log
    

    如下图所示:

    ·登录MySQL

    mysql -u root -p
    

    输入上面的临时密码,如下图所示:

    修改密码

    临时密码太复杂不方便我们记忆,当我们想要使用简单的里面来登录MySQL时,需要修改MySQL的配置,

    修改validate_password_policy参数的值,由于MySQL默认的validate_password_policy参数值是1,也就是设置的密码必须符合长度,且必须含有数字,小写或大写字母,特殊字符,所以我们要把validate_password_policy参数值改为0,validate_password_length(密码长度)参数默认为8,我们修改为1,执行如下代码:

    set global validate_password_policy=0;
    set global validate_password_length=1;
    

    如下图所示:

    修改上面的配置后,我们开始修改MySQL的密码,执行如下代码:

    alter user 'root'@'localhost' identified by '123456';
    

    这里我们把MySQL的密码改为123456了。

    修改MySQL默认编码

    首先退出mysql,然后进入my.cnf文件:

    exit            #退出mysql
    vim /etc/my.cnf     #进入my.cnf文件
    

    添加如下代码:

    character_set_server=utf8
    init_connect='SET NAMES utf8'
    

    如下图所示:

    查看数据库编码,执行如下代码:

    systemctl restart mysqld        #启动mysql
    mysql -u root -p               #登录mysql
    show variables like '%character%';  #查看编码
    

    如下图所示:

    数据库简单操作

    show databases;         #看当前所有数据库
    use mysql;              #进入mysql数据库
    show tables;            #查看mysql数据库中所有的表
    

    设置防火墙

    由于CentOS 7中防火墙已经由firewalld来管理,可以用yum 命令安装Firewalld,执行如下命令:

    yum install firewalld firewalld-config
    

    查看防火墙状态,执行如下代码:

    systemctl status firewalld
    

    如下图所示:

    防火墙其他命令

    systemctl start firewalld.service       #启动防火墙
    firewall-cmd --reload  或者  service firewalld restart        #重启防火墙
    firewall-cmd --zone=public --add-port=3306/tcp --permanent  #permanent永久生效,没有此参数防火墙重启便失效,防火墙开放3306端口
    firewall-cmd --zone=public --remove-port=3306/tcp --permanent   #防火墙关闭开放的3306端口
    systemctl stop firewalld        #禁用防火墙
    systemctl enable firewalld       #设置开机启动
    systemctl disable firewalld     #停止并禁用开机启动
    firewall-cmd --permanent --list-port    #查看端口列表
    

    相关文章

      网友评论

        本文标题:CentOS7安装MySQL数据库、设置防火墙

        本文链接:https://www.haomeiwen.com/subject/dgqfkrtx.html