CentOS7.6安装mysql8.0.34

news2024/12/27 21:20:14

一、查看服务器相关信息

cat /etc/redhat-release
cat /proc/version 

[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
[root@localhost ~]# cat /proc/version
Linux version 3.10.0-957.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) ) #1 SMP Thu Nov 8 23:39:32 UTC 2018
 

查看OS版本

CentOS上执行,查看OS版本

[root@localhost ~]#  rpm -qa | grep glibc
glibc-common-2.17-260.el7.x86_64
glibc-2.17-260.el7.x86_64

二、mysql8.0.34下载

从官网下载MySQL
因为教材使用的是8.0.31版本的MySQL,所以这里附上8.0.31版本MySQL的下载链接。

解压版MySQL 下载地址

 

三、mysql8.0.34安装及配置步骤

1、修改并禁用 SELinux 功能

vi /etc/selinux/config
修改后:
 
SELINUX=disabled
 
保存退出后执行
 
setenforce 0

2、查看系统是否自带mariadb并卸载(防止mysql与mariadb的文件发生冲突)

查询 rpm -qa | grep mariadb
 
删除 rpm -e mariadb-libs-5.5.68-1.el7.x86_64 --nodeps

3、将下载好的mysql压缩包上传到服务器并解压至 /usr/local/ 路径下,重命名为mysql

解压 tar -xvf mysql-8.0.34-linux-glibc2.12-x86_64.tar.xz -C /usr/local/
     cd /usr/local/
命名 mv mysql-8.0.34-linux-glibc2.12-x86_64 ./mysql

4、进入mysql文件夹,创建data,log目录(这里的data和log目录根据自己的磁盘情况而定)

cd mysql
mkdir data log
touch ./log/mysql.log

5、创建mysql用户和组并修改权限

groupadd mysql
useradd -g mysql mysql
chown -R mysql.mysql /usr/local/mysql

6、创建编辑my.cnf配置文

vi /etc/my.cnf

输入i 进入编辑模式后,将下方内容粘贴到文件中输入:wq退出并保存

[client]
port = 3306
 
#根据实际情况调整mysql.sock配置
socket = /tmp/mysql.sock
 
[mysqld]
#Mysql服务的唯一编号 每个mysql服务Id需唯一
server-id = 1
 
#服务端口号 默认3306
port = 3306
 
#mysql安装根目录
basedir = /usr/local/mysql
 
#mysql数据文件所在位置
datadir = /usr/local/mysql/data
 
#pid
pid-file = /usr/local/mysql/mysql.pid
 
#设置socke文件所在目录
socket = /tmp/mysql.sock
 
#设置临时目录
tmpdir = /tmp
 
# 用户
user = mysql
# 允许访问的IP网段
bind-address = 0.0.0.0
 
#错误日志
log_error=/usr/local/mysql/log/mysql.log
 
#设置认证插件
default_authentication_plugin=mysql_native_password
 
#设置sqlmode(根据需求自定义)
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
 
 
# 跳过密码登录
#skip-grant-tables
 
#主要用于MyISAM存储引擎,如果多台服务器连接一个数据库则建议注释下面内容
skip-external-locking
 
#只能用IP地址检查客户端的登录,不用主机名
skip_name_resolve = 1
 
#数据库默认字符集,主流字符集支持一些特殊表情符号(特殊表情符占用4个字节)
character-set-server = utf8mb4
 
#数据库字符集对应一些排序等规则,注意要和character-set-server对应
collation-server = utf8mb4_general_ci
 
#设置client连接mysql时的字符集,防止乱码
init_connect='SET NAMES utf8mb4'
 
#是否对sql语句大小写敏感,1表示不敏感
lower_case_table_names = 1
 
#最大连接数
max_connections = 400
 
#最大错误连接数
max_connect_errors = 1000
 
#TIMESTAMP如果没有显示声明NOT NULL,允许NULL值
explicit_defaults_for_timestamp = true
 
#SQL数据包发送的大小,如果有BLOB对象建议修改成1G
max_allowed_packet = 128M
 
#MySQL连接闲置超过一定时间后(单位:秒)将会被强行关闭
#MySQL默认的wait_timeout  值为8个小时, interactive_timeout参数需要同时配置才能生效
interactive_timeout = 1800
wait_timeout = 1800
 
#内部内存临时表的最大值 ,设置成128M。
#比如大数据量的group by ,order by时可能用到临时表,
#超过了这个值将写入磁盘,系统IO压力增大
tmp_table_size = 134217728
max_heap_table_size = 134217728
 
#mysql binlog日志文件保存的过期时间,过期后自动删除
expire_logs_days = 5

7、进入mysql文件夹的bin目录下,初始化mysql

进入mysql文件夹的bin目录下,初始化mysql     --如有路径变动,注意修改对应路径

cd /usr/local/mysql/bin
./mysqld --user=mysql   --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/ --initialize

配置文件默认 /etc/my.cnf

8、启动MySQL服务

# cd ..
# cd support-files/
# ./mysql.server start

9、将MySQL加入系统进程中

#  cp mysql.server /etc/init.d/mysqld

重启MySQL服务:

# service mysqld restart

10、修改登录密码

# cd ..

# cd bin/

# ./mysql -u root -p

修改密码:

 mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'centos_data';

11、设置远程登录 

mysql> use mysql;

mysql> update user set user.Host='%' where user.User='root';

mysql> flush privileges;

指定防火墙3306开放

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

设置完需要重载规则

firewall-cmd --reload

远程连接成功

mysql 函数不能用,配置 (注意:如果后台项目程序已经启动,运行下面配置后,则需要重启项目)
1.查询

select @@global.sql_mode


查询结果:

'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'

2.重新设置,将 ONLY_FULL_GROUP_BY 去掉

set @@global.sql_mode= 'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'

PS:设置好后,运行sql需要关闭当前链接,重新打开运行即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/899897.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

不用插拔网线鼠标点击自动切换网线和WIFI

因为之前在zf单位工作,政务内网需要插网线,而访问外网又需要连wifi,切换就需要拔掉网线插上网线很麻烦,旁边老哥教我了一手.bat程序自动切换方法, .bat文件代码如下: 以下代码的.bat文件执行后会切换到以太网,同时关闭掉wifi和以太网4 echo off %1 mshta vbscript:CreateObjec…

YOLOX算法调试记录

YOLOX是在YOLOv3基础上改进而来,具有与YOLOv5相媲美的性能,其模型结构如下: 由于博主只是要用YOLOX做对比试验,因此并不需要对模型的结构太过了解。 先前博主调试过YOLOv5,YOLOv7,YOLOv8,相比而言,YOLOX的环…

Linux:shell脚本数组和脚本免交互

目录 一、shell数组的定义 二、定义数组的方式 (1)数组名(value1 value2 value3 value4 ...) (2)获取数组的长度 (3)获取数组下标对应的值 (4)数组的遍历 (5&#x…

Ubuntu20.04安装Nvidia显卡驱动教程

1、禁用nouveau 1、创建文件,如果没有下载vim编辑器,将vim换成gedit即可 $ sudo vim /etc/modprobe.d/blacklist-nouveau.conf 2、在文件中插入以下内容,将nouveau加入黑名单,默认不开启 blacklist nouveau options nouveau m…

Linux学习之基本指令二

-----紧接上文 在了解cat指令之前,我们首先要了解到Linux下一切皆文件,在学习c语言时我们就已经了解到了 对文件输入以及读入的操作(向显示器打印,从键盘读取数据),对于Linux下文件的操作,也是…

make系列之入门

一.欢迎来到我的酒馆 在本章节介绍make工具。 目录 一.欢迎来到我的酒馆二.什么是make三.make与Makefile四.如何写Makefile 二.什么是make 你可能会遇到一些名词:GNU,Linux,make。它们是什么,又有什么样的联系? …

mongodb.使用自带命令工具导出导入数据

在一次数据更新中,同事把老数据进行了清空操作,但是新的逻辑数据由于某种原因(好像是她的电脑中病毒了),一直无法正常连接数据库进行数据插入,然后下午2点左右要给甲方演示,所以要紧急恢复本地的…

【图论】Floyd算法

一.简介 Floyd算法,也称为Floyd-Warshall算法,是一种用于解决所有节点对最短路径问题的动态规划算法。它可以在有向图或带权图中找到任意两个节点之间的最短路径。 Floyd算法的基本思想是通过中间节点逐步优化路径长度。它使用一个二维数组来存储任意两…

挖漏洞竟能赚取百万美金?来认识一下这 6 位百万美元白帽黑客

在黑客世界,有三种人:白帽(黑客)、灰帽(黑客)和黑帽(黑客)。其中,白帽黑客,即 White Hat Hacker,又称白帽子,它们用自己的黑客技术来维…

redux的介绍、安装、三大核心与执行流程

redux的介绍、安装、三大核心与执行流程 一、redux的基本介绍二、redux的安装三、redux核心概念3.1 action3.2 reducer3.3 store 四、Redux代码执行流程五、加减案例练习 一、redux的基本介绍 redux中文官网Redux 是 React 中最常用的状态管理工具(状态容器&#x…

B树和B+树MySQL为什么用B+树?

文章目录 B树和B树B树B树的定义B树的插入操作删除操作 B树B树的定义B树的插入操作删除操作 B树和B树的区别?MySQL数据库为啥用B树作为索引,而不用B树? B树和B树 原文链接:https://blog.csdn.net/jinking01/article/details/115130286 B树 B树的定义…

深入理解python虚拟机:程序执行的载体——栈帧

栈帧(Stack Frame)是 Python 虚拟机中程序执行的载体之一,也是 Python 中的一种执行上下文。每当 Python 执行一个函数或方法时,都会创建一个栈帧来表示当前的函数调用,并将其压入一个称为调用栈(Call Stac…

RT1052的EPWM

文章目录 1 EPWM介绍1.1 引脚1.2 时钟1.3 比较寄存器 2 函数 1 EPWM介绍 RT1052 具有 4 个 eFlexPWM(eFlexWM1~eFlex_PWM4)。 每个 eFlexPWM 可以产生四路互补 PWM即产生 8 个 PWM,也可以产生相互独立的 PWM 波。四路分别是模块0-3每个 eFlexPWM 具有各自的故障检…

如何学习专业的学术用语01

问题的提出——凭啥人家写的词汇这么专业 做法一 做法二:做一个专业数据库 专门做教育技术类的

换过3个工作,我却得出10年测试人的血泪经验

我跟大多数IT职场的测试新人起点差不多,在测试的这条路上,没有天生的聪明天资,也没有一个耀眼的学历。在北京这样一个随便一个同事不是清华的本硕,就是北邮北航的硕士下,自己也常常感到惭愧。 自己从事测试多年&#…

论文笔记 Graph Attention Networks

2018 ICLR 1 intro 1.1. GCN的不足 无法完成inductive任务 inductive任务是指: 训练阶段与测试阶段需要处理的graph不同。通常是训练阶段只是在子图上进行,测试阶段需要处理未知的顶点。GGN 的参数依赖于邻接矩阵A/拉普拉斯矩阵L,所以换了…

一个完整挖洞 /src 漏洞实战流程【渗透测试】

目录: 1.如何找漏洞 2.找到后如何挖漏洞 3.漏洞如何提交 只要搞渗透,不就会听到很多行业内人前辈一直在重复:“信息搜集” 信息搜集有多重要,你搜集的到的多少资产信息,决定了你后续进行的一系列实战到什么程度! 要说 SQL 注入的漏洞咋找…

【博客700】如何使用 Nginx Ingress 快速实现金丝雀与蓝绿部署

如何使用 Nginx Ingress 快速实现金丝雀与蓝绿部署 背景 越来越多的应用采用微服务架构,应用数量相比传统模式更多,管理更加复杂,发布更加频繁,如果直接将新版本上线发布给全部用户。一旦遇到线上事故(或BUG&#xff…

Selenium的使用:WEB功能测试

Selenium是ThrougthWorks公司一个强大的开源WEB功能测试工具系列,本系统包括多款软件 Selenium语言简单,用(Command,target,value)三种元素组成一个行为,并且有协助录制脚本工具,但Selenese有一些严格的限制: …

在字节和滴滴划水四年,过于真实了...

先简单交代一下,我是某不知名211的计算机本硕,18年毕业加入滴滴,之后跳槽到了头条,一直从事测试开发相关的工作。之前没有实习经历,算是四年半的工作经验吧。 这四年半之间完成了一次晋升,换了一家公司&am…