概述

前文记录了在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。”:



所以需要先手动执行以下命令,下载源文件的安装文件:

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



然后执行源文件安装命令:

  1 # rpm -ivh mysql57-community-release-el7-11.noarch.rpm



现在可以安装MySQL了,执行如下命令:

  1 # yum install -y mysql-community-server

稍候片刻,等待下载安装完成:



执行如下命令,启动数据库并查看数据库状态:

  1 # systemctl start mysqld
2 # systemctl status mysqld



配置MySQL 5.7


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

  1 # cat /var/log/mysqld.log



或者使用如下命令:

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



使用如下命令登录MySQL数据库:

  1 # mysql -uroot -p

密码输入刚才查到的密码,即可登录数据库:



使用如下命令,修改root用户密码:

  1 > SET PASSWORD = PASSWORD('Password@123!');



数据库默认远程访问未开放,使用如下命令进行配置:

  1 > GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Password@123!' WITH GRANT OPTION;

然后输入quit,回车退出数据库登录,使用命令打开数据库的配置文件:

  1 # vim /etc/my.cnf



设置数据库字符集为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%';



执行如下命令,设置数据库服务开机启动:

  1 # systemctl enable mysqld


压缩包安装MySQL 5.7


若服务器无法联网,不能使用yum源进行安装,可以使用能够联网的电脑,去官网下载压缩包进行安装,下面换台服务器进行压缩包安装。

首先去官方网站:https://www.mysql.com/下载相关安装包:



远程连接到服务器上的/usr目录下创建mysql57:

  1 # cd /usr
2 # mkdir mysql57

使用Xftp将压缩包上传到服务器上的mysql57目录:



由于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



使用如下命令启动MySQL服务,并查看服务运行状态:





MySQL 5.7数据库安装完成。

配置MySQL 5.7


查看log文件获取密码:





使用如下命令登录MySQL数据库:



密码输入刚才查到的密码,即可登录数据库:



使用如下命令,修改root用户密码:

  1 > SET PASSWORD = PASSWORD('******');

数据库默认远程访问未开放,使用如下命令进行配置:

  1 > GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '******' WITH GRANT OPTION;

星号为root用户的密码(下图红色覆盖区域):



然后输入quit,回车退出数据库登录,使用命令打开数据库的配置文件:



设置数据库字符集为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



注意:

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

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



使用修改后的密码,登录数据库,执行如下命令查看字符集设置:





执行如下命令,设置数据库服务开机启动:



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

CentOS 7安装配置MySQL 5.7的更多相关文章

  1. CentOS 7 安装配置 MySQL

    https://blog.imzhengfei.com/centos-7-an-zhuang-pei-zhi-mysql/ MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前 ...

  2. CentOS 7 安装 配置 MySQL

    第一部分:CentOS 7安装MySQL 5.7 1.下载YUM库 shell > wget http://dev.mysql.com/get/mysql57-community-release ...

  3. 在CentOS下安装配置MySQL(转)

    今天刚把项目做完,需要马上部署到新到的测试服务器上,于是乎,要在服务器上安装环境,由于好久在linux上部署了,手有些生,比较费劲装完,现在把重要步骤贴出,供自己以后参照.1.首先要看看有没有已经安装 ...

  4. CentOS 7 安装配置MySQL

    环境 CentOS Linux release 7.5.1804 (Core) MySQL:mysql80-community-release-el7-1 检查: 在centos7中默认的是maria ...

  5. 在CentOS下安装配置MySQL

    经常需要在linux环境下部署项目或安装Mysql数据库,由于记性不好,每次都是求助度娘,每次搜到的步骤都不一样,所以每次都在尝试.冒险:于是乎,把安装的重要步骤贴出,供自己以后参照. 1.首先要看看 ...

  6. Centos下安装配置LAMP(Linux+Apache+MySQL+PHP)

    Centos下安装配置LAMP(Linux+Apache+MySQL+PHP)   关于LAMP的各种知识,还请大家自行百度谷歌,在这里就不详细的介绍了,今天主要是介绍一下在Centos下安装,搭建一 ...

  7. Linux普通用户安装配置mysql(非root权限)

    Linux普通用户安装配置mysql(非root权限) 说明:在实际工作中,公司内网的机器我们一般没有root权限,也没有连网,最近参考网上的资料使用一般的账户成功安装mysql,记录如下 Linux ...

  8. CentOS6.5下安装配置MySQL

    CentOS6.5下安装配置MySQL,配置方法如下: 安装mysql数据库:# yum install -y mysql-server mysql mysql-deve 查看mysql-server ...

  9. (转载)Linux下安装配置MySQL+Apache+PHP+WordPress的详细笔记

    Linux下安装配置MySQL+Apache+PHP+WordPress的详细笔记 Linux下配LMAP环境,花了我好几天的时间.之前没有配置过,网上的安装资料比较混乱,加上我用的版本问题,安装过程 ...

随机推荐

  1. 常见的 由于未调整服务器 ulimit 而引起的内存溢出问题

    原文内容来自于LZ(楼主)的印象笔记,如出现排版异常或图片丢失等问题,可查看当前链接:https://app.yinxiang.com/shard/s17/nl/19391737/e3bb62c9-9 ...

  2. C语言笔记 08_函数指针&回调函数&字符串&结构体&位域

    函数指针 函数指针是指向函数的指针变量. 通常我们说的指针变量是指向一个整型.字符型或数组等变量,而函数指针是指向函数. 函数指针可以像一般函数一样,用于调用函数.传递参数. 函数指针变量的声明: / ...

  3. [ASP.NET Core 3框架揭秘] 依赖注入[8]:服务实例的生命周期

    生命周期决定了IServiceProvider对象采用怎样的方式提供和释放服务实例.虽然不同版本的依赖注入框架针对服务实例的生命周期管理采用了不同的实现,但总的来说原理还是类似的.在我们提供的依赖注入 ...

  4. Microsemi Libero使用技巧——使用FlashPro单独下载程序

    前言 在工程代码编译完成之后,如果需要给某个芯片下载程序时,或者是工厂量产烧录程序时,我们不需要把整个工程文件给别人,而只需要把生成的下载文件给别人,然后使用FlashPro就可以单独下载程序文件了. ...

  5. javascript中的对象拷贝

    js中的数据类型 在介绍javascript中的对象的拷贝之前,我先介绍一个基础的东西,javascript中的数据类型. 我们做前端的应该都知到在es6 之前,javascript中的数据类型Boo ...

  6. Java开发中解决Js的跨域问题

    主流方法有JSONP和CORS两种,这里记一下后者的方式,理论基础就是在请求的时候在http请求头中添加如下属性: //指定允许其他域名访问 Access-Control-Allow-Origin:h ...

  7. Postman文件上传

    1:请求Url 2:选择消息体 3:选择表单参数 4:填写参数KEY-VALUE,记得打钩 5:Send发送请求

  8. Spring Boot Quartz 分布式集群任务调度实现

    Spring Boot Quartz 主要内容 Spring Scheduler 框架 Quartz 框架,功能强大,配置灵活 Quartz 集群 mysql 持久化定时任务脚本(tables_mys ...

  9. IDEA去除掉虚线,波浪线,和下划线实线的方法

    初次安装使用IDEA,总是能看到导入代码后,出现很多的波浪线,下划线和虚线,这是IDEA给我们的一些提示和警告,但是有时候我们并不需要,反而会让人看着很不爽,这里简单记录一下自己的调整方法,供其他的小 ...

  10. ASP.NET MVC快速开发框架FastExecutor开发全过程感受及总结

    困境 追溯到2018年5月份,是个炎热的夏天,毕业后1年7个月我提出了离职,原因是受不了原来公司过度的封装框架感觉一年多毫无进步与实施天天轰炸般的电话,偶然间出去面试了一次发现自己知识真的是比较局限, ...