zoukankan      html  css  js  c++  java
  • CentOS7中安装与配置MySQL5.7数据库

           image

           CentOS7中把之前默认的数据库MySQL替换成了Mariadb,而Mariadb仅仅是MySQL的一个分支,但对于需要使用MySQL的开发人员来说,这是时就需要在系统中安装MySQL数据库,话不多说,直接开整。

    一、MySQL的下载

    ①、先下载mysql源安装包(Yum Repository)

    wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
    

    如果出现 -bash: wget: 未找到命令。表示系统没有安装wget,如果安装过了,忽略这一步。

    yum -y install wget

    下载完wget后再执行 wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm,这里下载很快。


    ②、然后就是安装mysql源:

    yum -y localinstall mysql57-community-release-el7-11.noarch.rpm 


    ③、之后在线安装MySQL服务器:这里下载东西有点多,可能会下载很久(我网速快一下子就下载好了),耐心等待,安装完成后就会覆盖掉之前的mariadb。

    yum -y install mysql-community-server

    image

    至此MySQL就安装好了。

    二、MySQL服务的启动

    ①、启动MySQL服务

    systemctl start mysqld


    ②、查看MySQL运行状态,运行状态如图:

    systemctl status mysqld.service 

    image

    此时MySQL已经开始正常运行。


    ③、设置开机启动

    systemctl enable mysqld
    systemctl daemon-reload
    


    三、修改root登录密码

    ①、找到mysql初始化密码。

    mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个临时的默认密码。我们可以使用如下命令查找:

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

    image


    也可以直接打开mysqld.log文件查看。

    vi /var/log/mysqld.log

    image

    这里的临时密码  /DdvL=Qg9Gtb 暂时记住这个密码(你的可能不同),按 esc 再按 :q  退出。


    ②、然后进入MySQL:

    mysql -u root -p

    输入临时密码 进入mysql命令行;(注意:输入密码时时看不见的!)

    image

    此时不能做任何事情,因为MySQL默认必须修改密码之后才能操作数据库:

    image

    注意:mysql5.7默认密码策略要求密码必须是大小写字母数字特殊字母的组合,至少8位。

    ALTER USER 'root'@'localhost' IDENTIFIED BY 'TangHaoRong20200703.';

    注意:TangHaoRong20200703.是你自己设置的登录密码。

    image

    成功配置,我们就可以操作数据库了。

    image


    ----------------------------------------------------------------------------------------------------------------------------------


    续:

    如果你觉得这种密码策略太麻烦了,我们可以给它改简单一点,因为就自己使用,又不是公司里面。

    首先查看验证密码规则的相关信息:

    show variables like 'validate_password%';

    image

       介绍一下红色框中各个参数的含义:

    • validate_password_check_user_name:是否检验用户名。
    • validate_password_dictionary_file:密码策略文件,策略为STRONG才需要。
    • validate_password_length:密码最少长度,默认8个。
    • validate_password_mixed_case_count:大小写字符长度,至少1个。
    • validate_password_number_count :数字至少1个。
    • validate_password_policy:密码策略,默认为MEDIUM策略。
    • validate_password_special_char_count:特殊字符至少1个。

     

        其中validate_password_policy密码策略的验证规则如下:

    • 0(LOW):必须包含 长度。
    • 1(MEDIUM):必须包含 长度、数字、小写、大写和特殊字符。
    • 2(STRONG):必须包含 长度、数字、小写、大写、特殊字和字典文件。


    下面我们给它改成 0(LOW)等级的密码策略:

      修改密码策略,在/etc/my.cnf文件添加如下内容:

    #密码策略为LOW
    validate_password_policy=0
    #密码长度为6
    validate_password_length=6
    

    如果你不需要密码策略,直接在my.cnf文件中添加如下配置禁用即可:

    validate_password = off


    查看验证密码规则:

    show variables like 'validate_password%';


    更改密码:

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

    然后我们就可以使用123456登录本地mysql了。

    四、配置默认编码为utf8

    我们知道MySQL数据库的默认编码为latin1,但是我们需要的是utf-8,所以需要改一下。

    ①、修改/etc/my.cnf配置文件,在[mysqld]的最下面添加编码配置,如下所示:

    character_set_server=utf8
    init_connect='SET NAMES utf8'
    

    输入vi命令:

    vi /etc/my.cnf

    按 i 进入编辑模式,加入后按 esc 和 :wq 保存退出。

    image


    ②、然后重启mysql服务;

    systemctl restart mysqld


    ③、进入数据库,查看下编码。

    mysql -u root –p
    show variables like '%character%';
    

    image
    至此MySQL的所有配置全部完成 !!!

    五、设置允许远程登录

    mysql默认只允许本地用户登录,不允许远程登录,那么想要在其它机器上连接mysql,就必须修改root允许远程连接,

    或者添加一个允许远程连接的帐户,为了安全起见,我添加一个新的帐户:

    ①、首先进入mysql,并且为root设置远程登录密码

    mysql -u root -p
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'ABcd1234!' WITH GRANT OPTION;
    

    注意:ABcd1234!是远程登录的密码,不是本地登录密码。

    image

    然后退出mysql> exit。


    ②、防火墙开放3306端口,如果没有开启3306端口,开启一下:

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


    ③、再重新载入

    firewall-cmd –reload
    #查看开放端口
    firewall-cmd --zone=public --list-ports

    六、测试远程登录

    测试远程连接,下图表示成功连接,我们就可以在其它机器上操作mysql了。

    image

  • 相关阅读:
    OWA or ECP stops working after you install a security update
    【PHP】熟悉php对应的DES相关加解密,与java、C#对接加解密工程
    SOAPUI中文教程使用断言
    【死磕Java并发】深入分析synchronized的实现原理
    【死磕 NIO】— 深入分析Buffer
    【死磕Java并发】内存模型之happensbefore
    【死磕Java并发】Java内存模型之重排序
    【死磕 NIO】— Proactor模式是什么?很牛逼吗?
    【死磕Java并发】—–深入分析volatile的实现原理
    音视频技术应用(14) FFmpeg 转mp4 格式 为yuv, rgb 格式
  • 原文地址:https://www.cnblogs.com/tanghaorong/p/13225950.html
Copyright © 2011-2022 走看看