zoukankan      html  css  js  c++  java
  • CentOS 7安装配置MySQL 5.7

    概述
    前文记录了在Windows系统中安装配置MySQL 5.7(前文连接:https://www.cnblogs.com/Dcl-Snow/p/10513925.html),由于安装部署大数据环境需要,现在要在CentOS 7系统中安装配置MySQL 5.7,CentOS 7环境安装配置也已经记录过(前文连接:https://www.cnblogs.com/Dcl-Snow/p/10811659.html),所以此处直接进行安装配置。
    yum源安装MySQL 5.7
    安装MySQL 5.7
    在CentOS 7系统中系统默认的源文件是不包含MySQL的,直接使用yum源执行安装命令会提示“没有可用软件包 mysql-community-server。”:
    mysql01
    所以需要先手动执行以下命令,下载源文件的安装文件:

      1 # cd /home
      2 # wget 'https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm'

    mysql02
    然后执行源文件安装命令:
      1 # rpm -ivh mysql57-community-release-el7-11.noarch.rpm

    mysql03
    现在可以安装MySQL了,执行如下命令:
      1 # yum install -y mysql-community-server

    稍候片刻,等待下载安装完成:
    mysql04
    执行如下命令,启动数据库并查看数据库状态:
      1 # systemctl start mysqld
      2 # systemctl status mysqld

    mysql05
    配置MySQL 5.7
    该版本数据库会在安装时,会在/var/log/mysqld.log文件中生成一个随机的root用户的密码,查看该文件获取密码:
      1 # cat /var/log/mysqld.log

    mysql06
    或者使用如下命令:
      1 # grep 'temporary password' /var/log/mysqld.log

    mysql07
    使用如下命令登录MySQL数据库:
      1 # mysql -uroot -p

    密码输入刚才查到的密码,即可登录数据库:
    mysql08
    使用如下命令,修改root用户密码:
      1 > SET PASSWORD = PASSWORD('Password@123!');

    mysql09
    数据库默认远程访问未开放,使用如下命令进行配置:
      1 > GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Password@123!' WITH GRANT OPTION;

    然后输入quit,回车退出数据库登录,使用命令打开数据库的配置文件:
      1 # vim /etc/my.cnf

    mysql10
    设置数据库字符集为utf8mb4,并设置sql_mode支持group by语句,完整的配置文件内容如下:
      1 [mysqld]
      2 datadir=/var/lib/mysql
      3 socket=/var/lib/mysql/mysql.sock
      4 symbolic-links=0
      5 log-error=/var/log/mysqld.log
      6 pid-file=/var/run/mysqld/mysqld.pid
      7 character-set-server = utf8mb4
      8 collation-server = utf8mb4_unicode_ci
      9 sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
     10 
     11 [mysql]
     12 default-character-set = utf8mb4
     13 
     14 [client]
     15 default-character-set = utf8mb4
     16 


    注意:
    此处设置为utf8mb4:一是因为utf8编码只支持3字节的数据,而移动端的表情数据是4个字节的字符,所以直接往utf-8编码的数据库中插入表情数据,会报异常;二是看过一位大神的文章提到,MySQL中的utf8并不是真正的utf8,所以使用utf8mb4。

    配置完成后,执行如下命令重启数据库服务:

      1 # systemctl restart mysqld

    使用修改后的密码,登录数据库,执行如下命令查看字符集设置:
      1 # SHOW VARIABLES LIKE 'character%';

    mysql11
    执行如下命令,设置数据库服务开机启动:
      1 # systemctl enable mysqld

    压缩包安装MySQL 5.7
    若服务器无法联网,不能使用yum源进行安装,可以使用能够联网的电脑,去官网下载压缩包进行安装,下面换台服务器进行压缩包安装。
    首先去官方网站:https://www.mysql.com/下载相关安装包:
    压缩包安装01
    远程连接到服务器上的/usr目录下创建mysql57:
      1 # cd /usr
      2 # mkdir mysql57

    使用Xftp将压缩包上传到服务器上的mysql57目录:
    压缩包安装02
    由于CentOS 7系统中默认安装了mariadb,使用如下命令,查看并卸载mariadb:
      1 # rpm -qa | grep mariadb
      2 # rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64

    然后使用rpm命令进行安装:
      1 # rpm -ivh *.rpm

    压缩包安装03
    使用如下命令启动MySQL服务,并查看服务运行状态:
      1 # systemctl start mysqld
      2 # systemctl status mysqld

    压缩包安装04
    MySQL 5.7数据库安装完成。
    配置MySQL 5.7
    查看log文件获取密码:
      1 # grep 'temporary password' /var/log/mysqld.log

    压缩包安装05
    使用如下命令登录MySQL数据库:
      1 # mysql -uroot -p

    密码输入刚才查到的密码,即可登录数据库:
    压缩包安装06
    使用如下命令,修改root用户密码:
      1 > SET PASSWORD = PASSWORD('******');

    数据库默认远程访问未开放,使用如下命令进行配置:
      1 > GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '******' WITH GRANT OPTION;

    星号为root用户的密码(下图红色覆盖区域):
    压缩包安装07
    然后输入quit,回车退出数据库登录,使用命令打开数据库的配置文件:
      1 # vim /etc/my.cnf

    设置数据库字符集为utf8mb4,并设置sql_mode支持group by语句,完整的配置文件内容如下:
      1 [mysqld]
      2 character-set-server = utf8mb4
      3 collation-server = utf8mb4_unicode_ci
      4  sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
      5 
      6 [mysql]
      7 default-character-set = utf8mb4
      8 
      9 [client]
     10 default-character-set = utf8mb4
     11 


    压缩包安装08
    注意:
    此处设置为utf8mb4:一是因为utf8编码只支持3字节的数据,而移动端的表情数据是4个字节的字符,所以直接往utf-8编码的数据库中插入表情数据,会报异常;二是看过一位大神的文章提到,MySQL中的utf8并不是真正的utf8,所以使用utf8mb4。

    配置完成后,执行如下命令重启数据库服务:

      1 # systemctl restart mysqld

    使用修改后的密码,登录数据库,执行如下命令查看字符集设置:
      1 # SHOW VARIABLES LIKE 'character%';

    压缩包安装09
    执行如下命令,设置数据库服务开机启动:
      1 # systemctl enable mysqld

    因为记录了两种不同的安装方式,所以配置也记录了两遍,只是希望看不同安装方式的朋友不需要回头再去翻配置,至此CentOS 7安装配置MySQL 5.7记录完成。

  • 相关阅读:
    Vue 4.0及以上修改默认8080端口号
    EasyRTC进入会议室视频父组件传递数据给子组件显示为null的问题修复
    EasyRTC通过Golang缓存库fastcache实现在线用户存储在内存中加快速度
    视频远程通话系统EasyRTC 日志显示调用位置不正确如何优化?
    通过浏览器使用WebRTC时会话终止或断开都是什么原因?
    为什么我们要用BS架构来开发流媒体平台?
    TSINGSEE青犀视频流媒体平台为什么会存在跨域问题?
    EasyDSS/EasyNVR传输高清视频如何优化及节省带宽消耗?
    【解决方案】TSINGSEE青犀视频AI+智慧工地,助力工地安全生产
    【解决方案】TSINGSEE青犀视频助力危化企业安全生产,实现AI全流程监管
  • 原文地址:https://www.cnblogs.com/Dcl-Snow/p/11969388.html
Copyright © 2011-2022 走看看