12.MySql服务

news2024/11/23 20:13:38

目录

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.coloradmin.cn/o/1422715.html

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

相关文章

如何应对Android面试官-> CoordinatorLayout详解,我用 Behavior 实现了手势跟随

前言 本章主要讲解下 CoordinatorLayout 的基础用法、工作原理和自定义Behavior 原理 使用很简单,百度上可以搜索下基础使用 协调者布局的功能 作为应用的顶层布局作为一个管理容器,管理与子 View 或者子 View 之间的交互处理子控件之间依赖下的交互处…

ChatGPT可与自定义GPTs一起使用,智能AI代理时代来啦!

1月31日凌晨,OpenAI在社交平台公布了一个超强新功能,可以在ChatGPT中输入“GPTs名字”的方法,调用多个自定义GPTs一起协同工作。 例如,我想开发一款社交APP,1)可以先用专业分析GPTs做一下市场调研&#xf…

呼吸灯--FPGA

目录 1.breath_led.v 2.tb_breath_led.v 呼吸灯就是从完全熄灭到完全点亮,再从完全点亮到完全熄灭。具体就是通过控制PWM的占空比控制亮灭程度。 绘制PWM波的步骤就是,首先灯是在第一个时钟周期保持高电平熄灭状态,在第二个时钟周期保持1/1…

OpenGL 入门(三)— Textures(纹理)

文章目录 前言纹理环绕方式纹理过滤多级渐远纹理(Mipmap)加载与创建纹理stb_image.h库生成纹理 应用纹理顶点着色器片元着色器完整脚本 纹理单元 前言 纹理(Texture)。纹理是一个2D图片(甚至也有1D和3D的纹理),它可以用来添加物体的细节。 你…

Visual Studio无法调试Unity的可能原因和解决办法

问题描述: 在unity和vs都安装了相关插件的情况下,vs在启动了“附加到Unity”后却并没有进入调试模式。 可能的原因及解决办法: 1、Unity未设置成调试模式 将Unity编辑器的右下角这个debug标志设置成debug模式: 设置后变成了: 注…

最小步数模型

AcWing 1107. 魔板 #include <bits/stdc.h> using namespace std;char g[2][4]; const int N 10; unordered_map<string, pair<char, string> > pre; unordered_map<string, int> d;void Set(string s) {for(int i0; i<4; i) g[0][i] s[i];for(in…

深入理解指针(1)

⽬录&#xff1a; 1. 内存和地址 2. 指针变量和地址 3. 指针变量类型的意义 4. const修饰指针 5. 指针运算 6. 野指针 7. 指针的使⽤和传址调⽤ 1. 内存和地址 1.1 内存 在讲内存和地址之前&#xff0c;我们想有个⽣活中的案例&#xff1a; 假设有⼀栋宿舍楼&#xff…

Nodejs基于Vue的物料物资生产销售制造执行系统

本系统具有的功能有&#xff1a; 后台&#xff1a; 1. 用户登录模块&#xff1a;账号密码的登录验证提示。 2. 基础数据模块&#xff1a;部门、员工、存货类型、计量单位、存货档案的增删改查。 3. 工程数据模块&#xff1a;工序、工艺路线、BOM管理的增删改查。 4. …

初探分布式链路追踪

本篇文章&#xff0c;主要介绍应用如何正确使用日志系统&#xff0c;帮助用户从依赖、输出、清理、问题排查、报警等各方面全面掌握。 可观测性 可观察性不单是一套理论框架&#xff0c;而且并不强制具体的技术规格。其核心在于鼓励团队内化可观察性的理念&#xff0c;并确保由…

聊聊java中的Eureka和Nacos

本文主要来自于黑马课程中 1.提供者与消费者 在服务调用关系中&#xff0c;会有两个不同的角色&#xff1a; 服务提供者&#xff1a;一次业务中&#xff0c;被其它微服务调用的服务。&#xff08;提供接口给其它微服务&#xff09; 服务消费者&#xff1a;一次业务中&#xff0…

JAVA和C#怎么开发SECS/GEM:recipe配方处理 S7F1、S7F19

recipe是什么内容呢&#xff1f; recipe是机台加工不同产品时的对应程式&#xff0c;指的是由制造工程师提前在机台上设置&#xff0c;并且EAP控制生产时会自动根据货的类型选择并控制机台按照制造工程师提前设置的方式进行加工。 recipe也称为配方&#xff0c;配方是怎么来的…

【springboot网页时装购物系统】

前言 &#x1f31e;博主介绍&#xff1a;✌全网粉丝15W,CSDN特邀作者、211毕业、高级全栈开发程序员、大厂多年工作经验、码云/掘金/华为云/阿里云/InfoQ/StackOverflow/github等平台优质作者、专注于Java、小程序技术领域和毕业项目实战&#xff0c;以及程序定制化开发、全栈…

最小化安装BCLinux-for-Euler-21.10-dvd-x86_64-230731版

本文记录最小化安装BCLinux-for-Euler-21.10-dvd-x86_64-230731版。 一、镜像获取 1、下载镜像 移动云官方网站 最新镜像为2023-11-02 15:04:56更新的BCLinux-for-Euler-21.10-dvd-x86_64-230731版 直接下载地址&#xff1a;https://mirrors.cmecloud.cn/bclinux/oe21.10/I…

【思科】 GRE VPN 的实验配置

【思科】GRE VPN 的实验配置 前言报文格式 实验需求配置拓扑GRE配置步骤R1基础配置GRE 配置 ISP_R2基础配置 R3基础配置GRE 配置 PCPC1PC2 抓包检查OSPF建立GRE隧道建立 配置文档 前言 VPN &#xff1a;&#xff08;Virtual Private Network&#xff09;&#xff0c;即“虚拟专…

闪耀ISE 2024,起立CEOLED OLED透明屏引领欧洲视听市场新潮流

ISE 2024欧洲国际视听及系统集成展 2024年1月30日至2月2日 西班牙 巴塞罗那 2024年1月30日至2月2日&#xff0c;欧洲国际视听及系统集成展&#xff08;ISE 2024&#xff09;将在西班牙巴塞罗那盛大举行。作为全球视听行业的盛会&#xff0c;这次展会将汇集来自世界各地的顶级…

上门服务系统|如何搭建一款高质量的上门服务软件

预约上门系统源码开发是一项复杂而有挑战性的任务&#xff0c;但也是实现智能化预约服务的关键一步。通过自主开发预约上门系统的源码&#xff0c;企业可以完全定制系统的功能、界面和安全性&#xff0c;从而为用户提供更高效、便捷、个性化的预约体验。本文将带你深入了解预约…

【lesson26】学习MySQL事务前的基础知识

文章目录 CURD不加控制&#xff0c;会有什么问题&#xff1f;CURD满足什么属性&#xff0c;能解决上述问题&#xff1f;什么是事务&#xff1f;为什么会出现事务事务的版本支持 CURD不加控制&#xff0c;会有什么问题&#xff1f; CURD满足什么属性&#xff0c;能解决上述问题&…

数据结构day7

1.思维导图 1.二叉树递归创建 2.二叉树先中后序遍历 3.二叉树计算节点 4.二叉树计算深度。 5.编程实现快速排序降序

WPF自定义圆形百分比进度条

先看效果图 1.界面代码 <UserControl x:Class"LensAgingTest.CycleProcessBar1"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml"xmlns:mc"http://schemas.op…

人脸识别技术在网络安全中有哪些应用前景?

人脸识别技术在网络安全中有广泛的应用前景。以下是一些主要的应用方向&#xff1a; 1. 身份验证和访问控制&#xff1a;人脸识别可以用作一种更安全和方便的身份验证方法。通过将用户的人脸与事先注册的人脸进行比对&#xff0c;可以实现强大的身份验证&#xff0c;避免了传统…