12.MySql服务

目录

1. 什么是数据库

1.1. 数据:

1.2. 数据库:

2. mysql概述

3. 版本及下载

4. yum仓库安装

4.1. 添加yum源

4.2. 安装

5. 本地RPM包安装

5.1. 使用迅雷下载集合包

5.2. 上传数据

5.3. 安装

6. 生产环境中使用通用二进制包安装

6.1. 作用

6.2. 软件包下载

6.3. 使用xftp将软件包上传到根目录

6.4. 解压缩

6.5. 使用前的准备

6.6. 初始化软件

6.7. 设置mysql的配置文件

6.8. 配置启动脚本


1. 什么是数据库

1.1. 数据:

描述事物的符号记录, 可以是数字、 文字、图形、图像、声音、语言等,数据有多种形式,它们都可以经过数字化后存入计算机。

1.2. 数据库:

存储数据的仓库,是长期存放在计算机内、有组织、可共享的大量数据的集合。数据库中的数据按照一定数据模型组织、描述和存储,具有较小的冗余度,较高的独立性和易扩展性,并为各种用户共享,总结为以下几点:

数据结构化

数据的共享性高,冗余度低,易扩充

数据独立性高

数据由 DBMS 统一管理和控制(安全性、完整性、并发控制、故障恢复)

2. mysql概述

MySQL是一个小型关系数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被sun公司10亿美金收购。2009年,SUN又被Oracle以74亿美金收购。

目前MySQL被广泛地应用在Internet上的中小型网站中。由于体积小、速度快、总体拥有成本低,尤其是开放源代码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库

3. 版本及下载

MySQL数据库存在多种版本,不同的版本在不同的平台上:https://dev.mysql.com/downloads/mysql/

也可以选择MySQL对应版本的,找到安装教程,如MySQL5.7为例:https://dev.mysql.com/doc/refman/5.7/en/installing.html

4. yum仓库安装

4.1. 添加yum源

访问官方:https://www.mysql.com/

查看官方教程:https://dev.mysql.com/doc/refman/8.0/en/linux-installation-yum-repo.html

选择downloads页面的:MySQL Community (GPL) Downloads »选择:MySQL Yum Repository

选择:MySQL Yum Repository

选择版本后下载yum源,注意:Euler22版本对应Centos8 即RedHat8

添加yum源

[root@server ~]# wget https://dev.mysql.com/get/mysql80-community-release-el8-9.noarch.rpm # 下载
[root@server ~]# rpm -ivh mysql80-community-release-el8-9.noarch.rpm # 安装
[root@server ~]# yum list | grep mysql

4.2. 安装

root@server ~]# yum install mysql-community-server.x86_64
[root@server ~]# systemctl start mysqld # 启动,注意有d
[root@server ~]# systemctl status mysqld
[root@server ~]# grep 'temporary password' /var/log/mysqld.log
2023-07-09T02:38:36.368700Z 6 [Note] [MY-010454] [Server] A temporary password is
generated for root@localhost: qQ6OmpD?8_.f # 查看初始登录密码
[root@server ~]# mysql -u root -p # 以root身份登录
Enter password: # 赋值初始登录密码
mysql> alter user 'root'@'localhost' identified by 'Admin123!'; # 设置新密码
mysql> show variables like 'validate_password.%'; # 查看密码设置默认的规则
+--------------------------------------+--------+
| Variable_name | Value |
+--------------------------------------+--------+
| validate_password.check_user_name | ON | # ON时,账户及密码不能相同
| validate_password.dictionary_file | | # 规则文件保存路径
| validate_password.length | 8 | # 密码长度
| validate_password.mixed_case_count | 1 | # 至少要包含大/小写字母的个数
| validate_password.number_count | 1 | # 至少要包含数字的个数
| validate_password.policy | MEDIUM | # 密码的验证强度等级
| validate_password.special_char_count | 1 | # 密码中特殊字符个数
+--------------------------------------+--------+
7 rows in set (0.01 sec)
# 默认为中级密码验证规则,密码长度8为,内容至少包含:一个大写字母、一个小写字母、一位数字和一个特殊
字符
# 若密码不好记忆可以调低密码验证等级,在设置简单的密码,但生产中不推荐
mysql> set global validate_password.policy=low;
mysql> set global validate_password.length=6;
mysql> alter user 'root'@'localhost' identified by '123456';
mysql> exit
Bye
[root@server ~]# mysql -u root -p
Enter password: # 密码为123456
mysql> show databases; # 注意s和分号结尾
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
mysql> show global variables like 'port'; # 查看默认端口号
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| port | 3306 |
+---------------+------+
1 row in set (0.00 sec)
mysql> quit
Bye

5. 本地RPM包安装

5.1. 使用迅雷下载集合包

进入下载网站:https://downloads.mysql.com/archives/community/

如图:

5.2. 上传数据

使用xftp将下载安装包上传到linux端

5.3. 安装

6. 生产环境中使用通用二进制包安装

6.1. 作用

二进制包:源码包经过成功编译之后产生的包

优点:由于二进制包在发布之前就已经完成了编译的工作,因此用户安装软件的速度较快

注意:在生产环境中通用二进制包安装方法较为常用

6.2. 软件包下载

网址:https://dev.mysql.com/downloads/mysql/

如图:

根据上图系统参数里的glibc版本cpu架构选择对应的下载选项:

6.3. 使用xftp将软件包上传到根目录

6.4. 解压缩

[root@server ~]# cd /
[root@server /]# tar xvf mysql-8.0.33-linux-glibc2.17-x86_64-minimal.tar
# 解压缩后有三个子包
# mysql-8.0.33-linux-glibc2.17-x86_64-minimal.tar.xz:安装mysql必须的文件
# mysql-router-8.0.33-linux-glibc2.17-x86_64-minimal.tar.xz:官方提供的一个轻量级中间
件,主要作用是在应用程序与MySQL服务器之间提供透明的路由方式,是高可用性 (HA) 解决方案的构建块
# mysql-test-8.0.33-linux-glibc2.17-x86_64-minimal.tar.xz:测试框架,用于做mysql 服务的
单元,回归和一致性测试,并提供了运行单元测试和创建新单元测试的工具
# 继续解压缩
[root@server /]# tar xvf mysql-8.0.33-linux-glibc2.17-x86_64-minimal.tar.xz
[root@server /]# ls

6.5. 使用前的准备

[root@server /]# mv mysql-8.0.33-linux-glibc2.17-x86_64-minimal /usr/local/mysql
# 移动到默认安装目录,也可自行修改
[root@server /]# cd /usr/local/mysql[root@server mysql]# groupadd mysql # 创建名为mysql的用户组
[root@server mysql]# useradd -r -g mysql -s /bin/false mysql # 创建名为 mysql的系统
用户,将其添加到mysql用户组中,并设置其登录shell为/bin/false,以限制该用户的登录权限[root@server mysql]# mkdir mysql-files # 创建一个名为 mysql-files 的目录,用于存放MySQL数据文件,一般存储备份数据
[root@server mysql]# chown mysql:mysql mysql-files # 将mysql-files目录的所有者和所属组设置为mysql用户和组
[root@server mysql]# chmod 750 mysql-files # 设置mysql-files目录的权限为 750,以确保只有 “mysql” 用户组的成员可以读取、写入和执行该目录

6.6. 初始化软件

[root@server mysql]# bin/mysqld --initialize --user=mysql # 注意:需要复制密码
[root@server mysql]# bin/mysql_ssl_rsa_setup # 支持ssl,用于安全通信
[root@server mysql]# bin/mysqld_safe --user=mysql & # 使用后台方式以mysql用户身份启动MySQL 服务器,mysqld_safe 是一个用于启动和监控 MySQL 服务器的脚本# 注意:此时上述命令执行完毕处于后台运行状态,需要另行启动一个终端[root@server ~]# ps -ef | grep mysql # 查看进程运行状态
[root@server ~]# cd /usr/local/mysql
[root@server ~]# bin/mysql -u root -p # 登录,可能报错# 报错,需要找到下面的文件进行软连接
[root@server ~]# ln -s /usr/lib64/libncurses.so.6 /usr/lib64/libncurses.so.5  #创建一个软连接[root@server ~]# ln -s /usr/lib64/libtinfo.so.6 /usr/lib64/libtinfo.so.5[root@server ~]# bin/mysql -u root -p
Enter password: # 粘贴之前的初始密码
mysql> alter user 'root'@'localhost' identified with mysql_native_password by '123456'; #修改密码
mysql> flush privileges; # 刷新
mysql>exit[root@server ~]# ps -ef | grep mysql
[root@server ~]# kill -9 pid号 # 在当前终端关闭运行的mysql

6.7. 设置mysql的配置文件

# 回到之前的终端,敲一个回车,显示进程以杀死
[root@server mysql]# vim /etc/my.cnf # 新建配置文件,输入以下内容:
[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
server-id = 1
port = 3306
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
tmpdir = /tmp
socket = /tmp/mysql.sock
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
init_connect='SET NAMES utf8mb4'
default-storage-engine=INNODB
log_error = error.log# 注意:以下是上述配置文件的解释
[client] # 客户端设置
port = 3306 # 默认端口号
socket = /tmp/mysql.sock # 启动套接字[mysqld]
###############################基础设置#####################################
server-id = 1 # Mysql服务的唯一编号 每个mysql服务Id需唯一
port = 3306 # 端口号 3306
basedir = /usr/local/mysql # mysql安装根目录
datadir = /usr/local/mysql/data # mysql数据文件所在位置 没有改目录则创建
tmpdir = /tmp # 临时目录 比如load data infile会用到
socket = /tmp/mysql.sock # 设置socke文件所在目录
#数据库默认字符集,主流字符集支持一些特殊表情符号(特殊表情符占用4个字节)
character-set-server = utf8mb4
#数据库字符集对应一些排序等规则,注意要和character-set-server对应
collation-server = utf8mb4_general_ci
#设置client连接mysql时的字符集,防止乱码
init_connect='SET NAMES utf8mb4'
default-storage-engine=INNODB
###############################日志设置#####################################
#数据库错误日志文件
log_error = error.log

6.8. 配置启动脚本

[root@server ~]# cd /usr/local/mysql/support-files
[root@server support-files]# cp -a mysql.server /etc/init.d/mysql.server # 拷贝启动脚本
[root@server support-files]# cd /etc/init.d
[root@server init.d]# vim mysql.server # 增加=之后的内容
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data[root@server init.d]# cd ~
[root@server ~]# systemctl daemon-reload # 重载系统配置
[root@server ~]# systemctl start mysql
[root@server ~]# vim ~/.bash_profile # 设置环境变量需添加如下语句
export PATH=$PATH:/usr/local/mysql/bin   #也可以PATH=$PATH:$HOME/bin:/usr/local/mysql/bin[root@server ~]# source ~/.bash_profile
[root@server ~]# mysql -uroot -p

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

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

相关文章

十一、常用API——练习

常用API——练习 练习1 键盘录入:练习2 算法水题:练习3 算法水题:练习4 算法水题:练习5 算法水题: 练习1 键盘录入: 键盘录入一些1~100之间的整数,并添加到集合中。 直到集合中所有数据和超过2…

汽车标定技术(十七)--Bypass的前世今生

目录 1.Bypass的诞生 2.Bypass的发扬光大 2.1 基于XCP的Bypassing 2.2 基于Debug的Bypass 2.3 小结 3.Bypass的实际应用 1.Bypass的诞生 下图我相信只要用过INCA的朋友都非常熟悉。 这是远古时期(2000年左右?我猜)ETAS针对发动机控制参数标定设计的一种并行数据…

opencv-python计算视频光流

光流基本概念 光流表示的是相邻两帧图像中每个像素的运动速度和运动方向。具体:光流是空间运动物体在观察成像平面上的像素运动的瞬时速度,是利用图像序列中像素在时间域上的变化以及相邻帧之间的相关性来找到上一帧跟当前帧之间存在的对应关系&#xf…

嵌入式Qt中实现http服务接收POST请求

嗨喽,大家好!以下知识点做个简单记录分享给小伙伴们! 首先我们来理解几个概念 websocket服务器和http服务器的区别 “ WebSocket服务器和HTTP服务器是两种不同的服务器类型,它们在协议、连接方式和通信模式等方面有所区别。 协议…

计算机网络-物理层设备(中继器 集线器)

文章目录 中继器中继器的功能再生数字信号和再生模拟信号同一个协议 集线器(多口中继器)不具备定向传输的原因集线器是共享式设备的原因集线器的所有接口都处于同一个碰撞域(冲突域)内的原因 小结 中继器 中继器的功能 中继器的…

中移(苏州)软件技术有限公司面试问题与解答(5)—— Linux进程调度参数调优是如何通过代码实际完成的1

接前一篇文章:中移(苏州)软件技术有限公司面试问题与解答(0)—— 面试感悟与问题记录 本文对于中移(苏州)软件技术有限公司面试问题中的“(11)Linux进程调度参数调优是如…

python爬虫爬取网站

流程: 1.指定url(获取网页的内容) 爬虫会向指定的URL发送HTTP请求,获取网页的HTML代码,然后解析HTML代码,提取出需要的信息,如文本、图片、链接等。爬虫请求URL的过程中,还可以设置请求头、请求参数、请求…

EasyExcel使用,实体导入导出

简介 Java解析、生成Excel比较有名的框架有Apache poi、jxl。但他们都存在一个严重的问题就是非常的耗内存,poi有一套SAX模式的API可以一定程度的解决一些内存溢出的问题,但POI还是有一些缺陷,比如07版Excel解压缩以及解压后存储都是在内存中…

深入浅出AI落地应用分析:AI个人助手Monica

前言:铺天盖地的大模型以及所谓的应用到目前为止实际还是很少有像Monica这样贴合个人工作习惯的产品落地,比如像Chatgpt等这样的产品,绝大多数人不会专门买🪜翻墙出去用,而且大多数场景下素人或小白都不知道该怎么用,但是Monica这款产品就很好的以浏览器的插件的形式始终…

PyTorch][chapter 12][李宏毅深度学习][Semi-supervised Linear Methods-1]

这里面介绍半监督学习里面一些常用的方案: K-means ,HAC, PCA 等 目录: K-means HAC PCA 一 K-means 【预置条件】 N 个样本分成k 个 簇 step1: 初始化簇中心点 (随机从X中抽取k个样本点作为) Repeat: For all in X: 根据其到 &…

[Bug] [OpenAI] [TypeError: fetch failed] { cause: [Error: AggregateError] }

[Bug] [OpenAI] [TypeError: fetch failed] { cause: [Error: AggregateError] } ubuntu20 win10 edge浏览器访问 服务器部署 页面打开后想使用chatgpt报错了 rootcoal-pasi1cmp:/www/wwwroot/ChatGPT-Next-Web# PORT3000 yarn start yarn run v1.22.19 warning package.json:…

LeetCode160. 相交链表

160. 相交链表 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。 图示两个链表在节点 c1 开始相交: 题目数据 保证 整个链式结构中不存在环。 注意,…

【科技素养题】少儿编程 蓝桥杯青少组科技素养题真题及解析第23套

少儿编程 蓝桥杯青少组科技素养题真题及解析第23套 1、英国计算机科学家艾伦图灵于 1950 年提出了著名的“图灵测试”,用于判断计算机是否具有智能。“图灵测试”是通过()的方法进行判断的 A、让两台计算机对话 B、让人类与计算机对话 C、给计算机出题 D、让计算机分辨图…

【轮式平衡机器人】——TMS320F28069片内外设之ADC

一、ADC概述 这一部分不是我们的重点,原理分类啥的这里简要说明! 步骤:采样、保持、量化、编码 将采样电平(模拟值)转换为数字值的方法:直接比较型(并行ADC、逐次逼近型ADC)&…

2024.1.30 GNSS 学习笔记

站星双差Kalman滤波伪距差分定位流程 1. RTK定位技术(实时载波相位差分技术)原理-站间单差浮点解 1.RTK技术其实就是在RTD技术的基础上增加载波观测值的使用。由于伪距的噪声在分米量级,即使我们通过站间单差消除了绝大部分的误差影响&…

【React】前端项目引入阿里图标

【React】前端项目引入阿里图标 方式11、登录自己的iconfont-阿里巴巴矢量图标库,把需要的图标加入到自己的项目中去;2、加入并进入到项目中去选择Font class 并下载到本地3、得到的文件夹如下4. 把红框中的部分粘贴到自己的项目中(public 文…

爬虫入门到精通_基础篇4(BeautifulSoup库_解析库,基本使用,标签选择器,标准选择器,CSS选择器)

1 Beautiful说明 BeautifulSoup库是灵活又方便的网页解析库,处理高效,支持多种解析器。利用它不用编写正则表达式即可方便地实线网页信息的提取。 安装 pip3 install beautifulsoup4解析库 解析器使用方法优势劣势Python标准库BeautifulSoup(markup,…

Web3.0初探

Web3.0初探 一、互联网发展史二、什么是Web3.0?三、现在的发展方向(衍生出来的产品):四、目前问题五、Web3.0与元宇宙 一、互联网发展史 Web3.0也就是第三代互联网。最新版本的Web3.0是以太坊的创始合伙人Gavin Wood在2014年提出…

Redis核心技术与实战【学习笔记】 - 7.Redis GEO类型 - 面向 LBS 应用的数据类型

前言 前面,介绍了 Redis 的 5 大基本数据类型:String、List、Hash、Set、Sorted Set,它们可以满足绝大多数的数据存储需求,但是在面对海里数据统计时,它们的内存开销很大。所以对于一些特殊的场景,它们是无…

全面解析msvcr100.dll丢失的解决方法,关于msvcr100.dll文件丢失是如何显示的

msvcr100.dll文件的丢失是一个常见的问题,它会导致一些应用程序无法正常运行或出现错误。为了解决这个问题,我们可以采取多种方法。下面将介绍几种常用的msvcr100.dll丢失的解决方法,通过采用合适的方法,我们可以轻松解决该问题&a…