CentOS7安装MySQL8.0教程

环境介绍
操作系统:Centos7.6
MySQL版本: 8.0.27
只要是8.0.*版本,那就可以按照本文说明安装

一、安装前准备

1、卸载MariaDB

安装MySQL的话会和MariaDB的文件冲突,所以需要先卸载掉MariaDB。

1.1、查看是否安装mariadb
rpm -qa|grep mariadb
1.2、卸载
rpm -e --nodeps 文件名
1.3、检查是否卸载干净
rpm -qa|grep mariadb
2.检查依赖
2.1、查看是否安装libaio(MySQL需要依赖libaio库)
rpm -qa|grep libaio

如果没有安装则执行

yum -y install libaio //安装libaio 
2.2、查看是否安装numactl
rpm -qa|grep numactl

如果没有安装则执行

yum -y install numactl //安装numactl 

二、下载并安装MySQL

1、下载资源包

阿里云下载地址:https://mirrors.aliyun.com/mysql/MySQL-8.0/?spm=a2c6h.25603864.0.0.5f4c712bmNnZeW
官网下载地址:https://dev.mysql.com/downloads/mysql/
在这里插入图片描述

2、解压

本文安装包上传到了 /usr/local/ 目录下
进入安装包目录

cd /usr/local/

解压

tar -zxvf mysql-8.0.27-el7-x86_64.tar.gz
3、重命名

将解压后的文件夹重命名为mysql

mv mysql-8.0.27-el7-x86_64/ mysql
4、创建存储数据文件

在重命名后的mysql文件夹中创建data文件夹

mkdir mysql/data
5、设置用户组并赋权

先进入mysql文件夹

cd /usr/local/mysql

创建用户组

groupadd mysql

创建用户
-r:创建系统用户
-g:指定用户组

useradd -r -g mysql mysql

更改属主和数组

chown -R mysql:mysql ./

更改权限

chmod -R 755 ./
6、初始化MySQL

进入MySQL的bin目录

cd /usr/local/mysql/bin/

初始化

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

初始化完成后会打印一个随机密码,后面会用到。
在这里插入图片描述

7、配置参数文件
vi /etc/my.cnf

配置文件修改为以下内容 也可以根据自己需要设置参数

# client:客户端配置部分,这里定义了连接到MySQL服务器的客户端的一些参数
[client]
# MySQL服务器监听的端口,默认为3306
port = 3306
# MySQL服务器的Unix套接字文件路径
socket = /usr/local/mysql/data/mysql.sock
# 客户端使用的默认字符集,设置为utf8mb4
default-character-set = utf8mb4# mysql:MySQL客户端程序的配置部分
[mysql]  
# MySQL客户端使用的默认字符集,同样设置为utf8mb4
default-character-set = utf8mb4# mysqld:MySQL服务器的配置部分,其中包含了一些重要的服务器参数设置
[mysqld]  
# 控制服务器是否应执行客户端字符集的握手。在此设置为FALSE,表示服务器不应执行字符集的握手
character-set-client-handshake = FALSE
# 服务器默认字符集设置为 utf8mb4
character-set-server = utf8mb4
# 服务器默认排序规则设置为 utf8mb4_general_ci
collation-server = utf8mb4_general_ci
# 每次客户端连接到服务器时,都会执行的初始化SQL语句,此处设置为设置字符集为utf8mb4
init_connect = 'SET NAMES utf8mb4'# MySQL服务器监听的端口,同样设置为3306
port = 3306
# MySQL服务器的Unix套接字文件路径
socket = /usr/local/mysql/data/mysql.sock
# 禁用外部锁定功能
skip-external-locking
key_buffer_size = 16M
max_allowed_packet = 1M
table_open_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
datadir = /usr/local/mysql/data
#lower_case_table_names=1
#如果要设置lower_case_table_names可以在初始化里面设置 ./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql --lower_case_table_names=1# mysqldump工具的配置部分
[mysqldump]
# 启用快速模式,用于导出数据
quick
# 用于mysqldump导出数据时允许的最大数据包大小
max_allowed_packet = 16M[mysql]
no-auto-rehash[myisamchk]
key_buffer_size = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M[mysqlhotcopy]
interactive-timeout

配置后修改 /etc/my.cnf 的权限为777

chmod 777 /etc/my.cnf
8.启动MySQL
/usr/local/mysql/support-files/mysql.server start
9.设置软连接,并重启MySQL
ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
ln -s /usr/local/mysql/mysql.sock /var/mysql.sock
service mysql restart
10、登录并更改密码
[root@localhost bin]# mysql -uroot -p
Enter password: 输入初始化随机密码

两种改密方式二选一

alter user 'root'@'localhost' identified by '123456';
set password for root@localhost = '123456';
11.开放远程连接
mysql>use mysql;
msyql>update user set user.Host='%' where user.User='root';
mysql>flush privileges;    //刷新权限
12、连接工具测试连接MySQL

在这里插入图片描述
如果服务器本地可以连接,但是连接工具远程连接不进去,则需要检查一下防火墙是否放行3306端口,也可以暂时先关闭防火墙后重试。

13、关闭防火墙
systemctl stop firewalld

防火墙相关设置

# 查看当前防火墙状态
sudo systemctl status firewalld# 如果防火墙当前是关闭状态(inactive),则开启防火墙
sudo systemctl start firewalld# 若要让防火墙在系统重启后仍然保持开启状态(永久开启)
sudo systemctl enable firewalld# 开放 81 端口并设置为永久生效
sudo firewall-cmd --permanent --add-port=3306/tcp# 重新加载防火墙规则使之生效
sudo firewall-cmd --reload# 查看开放了哪些端口
firewall-cmd --list-ports
14、MySQL启动和停止

CentOS6和CentOS7命令都可以使用。

启动

service mysql start
systemctl start mysql

停止

service mysql stop
systemctl stop mysql

重启

service mysql restart
systemctl restart mysql

查看状态

service mysql status
systemctl status mysql

三、设置开机自启动(可选)

将服务文件拷贝到 /etc/init.d下,并重命名为mysqld

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

赋予可执行权限

chmod +x /etc/init.d/mysqld

添加服务

chkconfig --add mysqld

显示服务列表

chkconfig --list

注:如果看到mysqld的服务,并且3,4,5都是on的话则成功,如果是off,则执行

chkconfig --level 345 mysqld on

重启系统

reboot

重启后查看mysql是否开机自启动

ps -ef|grep mysql

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

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

相关文章

NzN的数据结构--栈的实现

在前面我们已经学习了哪些线性数据结构呢?大家一起来回顾一下:C语言学过的数组,数据结构中的线性表和顺序表和链表。那我们今天再来介绍数据结构里的两个线性结构--栈和队列。 目录 一、栈的概念及结构 二、用数组实现栈 1. 栈的初始化和…

Windows系统Docker部署IT工具箱It- Tools结合内网穿透实现公网访问

文章目录 1. 使用Docker本地部署it-tools2. 本地访问it-tools3. 安装cpolar内网穿透4. 固定it-tools公网地址 本篇文章将介绍如何在Windows上使用Docker本地部署IT- Tools,并且同样可以结合cpolar实现公网访问。 在前一篇文章中我们讲解了如何在Linux中使用Docker搭…

node.js-入门

定义 Node.js是一个跨平台Javascript运行环境,使开发者可以搭建服务器端的Javascript应用程序 作用:使用Node.js编写服务器端程序 1)编写数据接口,提供网页资源浏览功能等 2)前端工程化:集成各种开发中…

[C++]map set

一、set 1、概念 set是按照一定次序存储元素的容器在set中,元素的value也标识它(value就是key,类型为T),并且每个value必须是唯一的。set中的元素不能在容器中修改(元素总是const),但是可以从容器中插入或删除它们。在内部&…

4.9号驱动

1. ARM裸机开发和Linux系统开发的异同 相同点:都是对硬件进行操作 不同点: 有无操作系统 是否具备多进程多线程开发 是否可以调用库函数 操作地址是否相同,arm操作物理地址,驱动操作虚拟地址 2. Linux操作系统的层次 应用层…

在vite中限制node版本

1.修改package.json文件 {"name": "wine-store-frontend","version": "0.0.0","private": true,"type": "module","scripts": {"dev": "vite --open","build"…

Ant Design Vue 表单验证手机号的正则

代码&#xff1a; pattern: /^1[3456789]\d{9}$/ 1. <a-form-item label"原手机号" v-bind"validateInfos.contactTel"><a-inputstyle"width: 600px"allow-clear:maxlength"20"placeholder"请输入原手机号"v-mo…

【Android】 四大组件详解之活动、服务

文章目录 前言活动概述活动间的通信活动的生命周期活动的启动模式 服务概述启动和停止服务活动和服务间的通信服务的生命周期使用前台服务使用IntentService 前言 众所周知&#xff0c;Android的四大组件包括&#xff1a;活动&#xff08;Activity&#xff09;、服务&#xff…

东方博宜 1738. 胜负对决

东方博宜 1738. 胜负对决 以为这道题很简单呢&#xff0c;结果提交两次还不对&#xff0c;气死个人~ 思路&#xff1a;这道题的重点在于看清楚题意&#xff0c;是第奇数个&#xff0c;而不是数是奇数 。 还有&#xff0c;如果按照位数的奇偶来判定&#xff0c;那在读取数组的时…

UltraLight VM-UNet:平行视觉 Mamba 显着减少皮肤病变分割参数

UltraLight VM-UNet&#xff1a;平行视觉 Mamba 显着减少皮肤病变分割参数 摘要IntroductionRelated WorkMethodArchitecture OverviewMamba Parameter Impact AnalysisSkip-connection Path UltraLight VM-UNet: Parallel Vision MambaSignificantly Reduces Parameters for S…

【考研数学】强化跟张宇还是武忠祥?看完这篇就明白了

SO&#xff0c;不管你是选择武忠祥老师还是张宇老师&#xff0c;学长学姐都可以拍着胸脯告诉你&#xff0c;这两位老师都很优秀&#xff0c;跟哪位老师都能学好&#xff0c;所以你也不用担心因为错过一位老师的课而错失整个天下啦~ 根据不同老师的特点&#xff0c;结合自身情况…

RN使用蓝牙扫描

我项目需要用到蓝牙模块,蓝牙扫描到设备并且获取到电量显示到页面上,因此我做了如下demo,使用了react-native-ble-plx这个插件 点击进入官方文档官方文档 1.安卓环境配置(ios暂定,还没做ios,不过下面的方法是兼容的,自行配置ios权限) android/app/src/main/AndroidManifest.xml…

ChatGPT使用小结

ChatGPT是openAI旗下的一款语言模型&#xff0c;说它是语言模型更不如说他是一个全能小助手&#xff0c;自从去年它爆火之后&#xff0c;国内也出现了许多同款语言模型&#xff0c;这些智能语言模型的出现&#xff0c;对于像我这样的低端程序员的效率提升是巨大的。 很多人可能…

(二十七)Flask之数据库连接池DBUtils库

目录&#xff1a; 每篇前言&#xff1a;DBUtils库模式一&#xff08;底层使用threading.local实现&#xff09;&#xff1a;模式二&#xff1a; Flask中使用方式一&#xff1a;直接将DBUtils初始化放到settings.py文件中方式二&#xff1a;从utils文件夹中导入 脚本使用DBUtils…

Qt plugin 开发UI界面插件

目录 1.创建接口 2.创建插件 3.创建插件界面 4.插件实现 5.创建应用工程 6.应用插件 1.创建接口 打开QtCreater&#xff0c;点击左上角“文件”->新建文件或项目&#xff0c;在弹窗中选择C/CHeader File。 输入文件名&#xff0c;选好路径&#xff08;可自行设置名称…

jsonpath在线解析器网址

jsonpath在线解析器网址&#xff1a;https://jsonpath.com/

手动实现简易版RPC(上)

手动实现简易版RPC(上) 前言 什么是RPC&#xff1f;它的原理是什么&#xff1f;它有什么特点&#xff1f;如果让你实现一个RPC框架&#xff0c;你会如何是实现&#xff1f;带着这些问题&#xff0c;开始今天的学习。 本文主要介绍RPC概述以及一些关于RPC的知识&#xff0c;为…

02-结构化程式与自定义函数

视频教程&#xff1a;b站视频【MATLAB教程_台大郭彦甫&#xff08;14课&#xff09;原视频补档】https://www.bilibili.com/video/BV1GJ41137UH/?share_sourcecopy_web&vd_sourc*ed6b9f96888e9c85118cb40c164875dfc 官网教程&#xff1a; MATLAB 快速入门 - MathWorks 中…

【动手学深度学习】15_汉诺塔问题

注&#xff1a; 本系列仅为个人学习笔记&#xff0c;学习内容为《算法小讲堂》&#xff08;视频传送门&#xff09;&#xff0c;通俗易懂适合编程入门小白&#xff0c;需要具备python语言基础&#xff0c;本人小白&#xff0c;如内容有误感谢您的批评指正 汉诺塔&#xff08;To…

基于springboot实现高校学科竞赛平台系统项目【项目源码+论文说明】

基于springboot实现高校学科竞赛平台系统演示 摘要 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理信息系统的实施在技术上已逐步成熟。本文介绍了高校学科竞赛平台的开发全过程。通过分析高校学科竞赛平台管理的不足&#xff0c;创建了一个计算机管理高校学科竞…