CentOS 7如何安装配置MySQL 5.7
来源:亿速云
时间:2023-04-28 15:05:00 155浏览 收藏
对于一个数据库开发者来说,牢固扎实的基础是十分重要的,golang学习网就来带大家一点点的掌握基础知识点。今天本篇文章带大家了解《CentOS 7如何安装配置MySQL 5.7》,主要介绍了,希望对大家的知识积累有所帮助,快点收藏起来吧,否则需要时就找不到了!
CentOS 7安装配置MySQL 5.7
概述
前文记录了在Windows系统中安装配置MySQL 5.7,由于安装部署大数据环境需要,现在要在CentOS 7系统中安装配置MySQL 5.7,CentOS 7环境安装配置也已经记录过,所以此处直接进行安装配置。
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服务,并查看服务运行状态:
1 # systemctl start mysqld 2 # systemctl status mysqld
MySQL 5.7数据库安装完成。
配置MySQL 5.7
查看log文件获取密码:
1 # grep 'temporary password' /var/log/mysqld.log
使用如下命令登录MySQL数据库:
1 # mysql -uroot -p
密码输入刚才查到的密码,即可登录数据库:
使用如下命令,修改root用户密码:
1 > SET PASSWORD = PASSWORD('******');
数据库默认远程访问未开放,使用如下命令进行配置:
1 > GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '******' WITH GRANT OPTION;
星号为root用户的密码(下图红色覆盖区域):
然后输入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
注意:
此处设置为utf8mb4:一是因为utf8编码只支持3字节的数据,而移动端的表情数据是4个字节的字符,所以直接往utf-8编码的数据库中插入表情数据,会报异常;二是看过一位大神的文章提到,MySQL中的utf8并不是真正的utf8,所以使用utf8mb4。
配置完成后,执行如下命令重启数据库服务:
1 # systemctl restart mysqld
使用修改后的密码,登录数据库,执行如下命令查看字符集设置:
1 # SHOW VARIABLES LIKE 'character%';
执行如下命令,设置数据库服务开机启动:
1 # systemctl enable mysqld
因为记录了两种不同的安装方式,所以配置也记录了两遍,只是希望看不同安装方式的朋友不需要回头再去翻配置。
以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于数据库的相关知识,也可关注golang学习网公众号。
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
258 收藏
-
344 收藏
-
152 收藏
-
345 收藏
-
127 收藏
-
438 收藏
-
274 收藏
-
437 收藏
-
269 收藏
-
220 收藏
-
304 收藏
-
122 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 542次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 508次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 497次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 484次学习