(三)Mysql 数据库系统全解析

news2024/10/3 20:28:17

一、Mysql 数据库

  1. 数据库的作用和优势

    • 作用:集中化存储结构性的数据。
    • 优势
      • 减小数据冗余,避免数据的重复存储。
      • 保证数据的真实有效和唯一性,提高数据的质量。
      • 方便数据共享访问,使得不同的用户和应用可以方便地获取所需数据。
      • 集中化管理方便数据备份,确保数据的安全性。
    • Mysql 数据库特点
      • 支持多进程多用户,可以同时为多个用户和进程提供服务。
      • 采用 C/S 设计结构,客户端和服务器分离,提高了系统的可扩展性和灵活性。
      • 简单易用支持图形化界面,方便用户进行操作和管理。
      • 安全可靠,提供了多种安全机制保障数据的安全。
  2. 常见数据库厂商

    • Oracle 甲骨文:旗下的 Mysql 开源免费且跨平台,而 Oracle 数据库收费闭源且跨平台。
    • Microsoft:Sql Server 是微软的数据库产品,只能运行在 Windows 平台使用。
  3. 安装 Mysql 依赖程序和创建管理组和用户

    • 安装依赖程序,使用命令[root@centos01 ~]# yum -y install ncurses-devel cmake
    • 创建管理 Mysql 服务组,使用命令[root@centos01 ~]# groupadd mysql
    • 创建用户加入 Mysql 组管理 Mysql 服务,使用命令[root@centos01 ~]# useradd -M -s /sbin/nologin -g mysql mysql

二、安装配置 Mysql 服务

  1. 解压配置 Mysql

    • 解压缩源代码程序,使用命令[root@centos01 ~]# tar zxf /mnt/mysql-5.5.22.tar.gz -C /usr/src/,然后切换到源代码目录[root@centos01 ~]# cd /usr/src/mysql-5.5.22/
    • 配置源代码 Mysql,使用命令[root@centos01 mysql-5.5.22]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql/ -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DSYSCONFDIR=/etc,指定安装位置、默认字符编码、检验字符编码、支持更多字符编码以及初始化 Mysql 参数临时存储目录。
    • 编译安装 Mysql,使用命令[root@centos01 mysql-5.5.22]# make && make install
    • 检查是否创建安装目录,使用命令[root@centos01 mysql-5.5.22]# ls -ld /usr/local/mysql/
  2. 生成配置文件和服务控制文件

    • 生成配置文件,使用命令[root@centos01 mysql-5.5.22]# cp support-files/my-medium.cnf /etc/my.cnf
    • 生成服务控制文件,使用命令[root@centos01 mysql-5.5.22]# cp support-files/mysql.server /etc/init.d/mysqld
    • 添加执行权限,使用命令[root@centos01 mysql-5.5.22]# chmod +x /etc/init.d/mysqld
    • 添加系统服务,使用命令[root@centos01 mysql-5.5.22]# chkconfig --level 35 mysqld on,然后切换到主目录[root@centos01 mysql-5.5.22]# cd
  3. 优化 Mysql 命令

    • 优化 Mysql 命令,在/etc/profile文件中添加PATH=$PATH:/usr/local/mysql/bin/
    • 更新优化命令,使用命令[root@centos01 ~]# source /etc/profile
    • 初始化 Mysql,使用命令[root@centos01 ~]# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
  4. 启动 Mysql 服务设置密码登录 Mysql

    • 启动 Mysql 服务,使用命令[root@centos01 ~]# systemctl start mysqld
    • 监听 Mysql 进程,使用命令[root@centos01 ~]# netstat -anptu | grep mysqld
    • 设置密码,使用命令[root@centos01 ~]# mysqladmin -uroot password
    • 登录 Mysql 数据库,使用命令[root@centos01 ~]# mysql -uroot -密码
    • 退出 Mysql,在 Mysql 命令行中输入exit

三、Mysql 数据库表记录管理授权

  1. 数据库管理

    • 查看数据库,在 Mysql 命令行中输入show databases;
    • 创建数据库名字,使用命令create database 名字;
    • 删除数据库,使用命令drop database 名字;
    • 创建并切换到数据库,使用命令create database benet;创建 benet 数据库,然后使用use benet;切换到 benet 数据库中。
  2. 表的管理

    • 创建表设计表结构表的名字 student 放在 benet 数据库中,使用命令create table benet.student (学号 int,姓名 char(7),性别 char(4),身份证号码 char(18),primary key (身份证号码));
    • 查看表,先使用use benet;切换到 benet 数据库,然后使用show tables;查看创建的表。
    • 删除 student 表,可以使用drop table student;drop table benet.student;
  3. 表中记录管理

    • 查看表结构,使用命令desc student;
    • 插入连续列数据到 student 表,使用命令insert into benet.student values (1,"名字","男","111111111111111111");
    • 插入不连续列,使用命令insert into benet.student (学号,姓名,身份证号码) values (2,'名字','22222222222222222');
    • 查询 Mysql 数据,使用命令select * from benet.student;
    • 修改数据,如将姓名是名字的性别修改为男,使用命令update benet.student set 性别="男" where 姓名="名字";,修改多列值可以使用update benet.student set 学号="3",性别="女" where 姓名="名字";
    • 查看指定列数据,使用命令select 姓名,身份证号码 from benet.student;
    • 删除匹配条件的用户,使用命令delete from benet.student where 姓名="用户";
    • 清空表中数据,使用命令delete from benet.student;
  4. Mysql 数据库授权

    • Mysql 数据库权限类型
      • all:完全控制权限。
      • insert:插入数据。
      • delete:删除数据。
      • update:修改数据。
      • select:查询权限。
    • 安装 Mysql 客户端,使用命令[root@centos02 ~]# yum -y install mariadb-devel mariadb
    • 授权 bob 用户通过主机 192.168.100.20 访问 Mysql 服务器密码为 密码,允许访问 benet 数据库下所有表进行插入数据,使用命令mysql> grant insert on benet.* to 'bob'@'192.168.100.20' identified by '密码';
    • 客户端远程登录,使用命令[root@centos02 ~]# mysql -h 192.168.100.10 -ubob -密码 客户端名字
    • 查看用户访问 mysql 数据库权限,使用命令mysql> show grants for 'bob'@"192.168.100.20";
    • 授权完全控制权限,使用命令mysql> grant all on benet.* to 'tom'@'192.168.100.30' identified by 'pwd@12345';
    • 撤销授权,使用命令mysql> revoke all on benet.* from 'tom'@'192.168.100.30';
    • 更新数据库,使用命令mysql> flush privileges;

通过以上步骤,我们可以成功安装、配置和管理 Mysql 数据库,实现对数据库表的创建、查询、修改和删除等操作,以及进行数据库授权管理,确保数据的安全和有效访问。

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

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

相关文章

大师级GC调优:剖析高并发系统的垃圾回收优化实战

前期准备 大家开始前一定要对VisualVM、Jmeter这两款工具有所了解! 1. 下载安装VisualVM,以便后续调优分析。JDK1.8及之前所在目录的bin目录下有自带的VisualVM,JDK1.8以后需要自行手动安装下载。 下载地址:https://visualvm.git…

模型的深度优化

文章目录 一、测试模型是否正确二、图形打印直观观察三、保存训练模型四、正确率(仅使用于分类问题) 一、测试模型是否正确 本文承接我的上一篇文章完整网络模型训练(一) 运用测试数据集(test_dataloader)…

第二十一章 (动态内存管理)

1. 为什么要有动态内存分配 2. malloc和free 3. calloc和realloc 4. 常⻅的动态内存的错误 5. 动态内存经典笔试题分析 6. 总结C/C中程序内存区域划分 1.为什么要有动态内存管理 我们目前已经掌握的内存开辟方式有 int main() {int num 0; //开辟4个字节int arr[10] …

全局安装cnpm并设置其使用淘宝镜像的仓库地址(地址最新版)

npm、cnpm和pnpm基本概念 首先介绍一下npm和cnpm是什么,顺便说一下pnpm。 npm npm(Node Package Manager)是Node.js的默认包管理器,用于安装、管理和分享JavaScript代码包。它是全球最大的开源库生态系统之一,提供了数…

centos环境安装JDK详细教程

centos环境安装JDK详细教程 一、前期准备二、JDK安装2.1 rpm方式安装JDK2.2 zip方式安装JDK2.3 yum方式安装JDK 本文主要说明CentOS下JDK的安装过程。JDK的安装有三种方式,用户可根据实际情况选择: 一、前期准备 查看服务器操作系统型号,执…

YOLOv7改进之主干DAMOYOLO结构,结合 CReToNeXt 结构,打造高性能检测器

一、DAMOYOLO理论部分 论文地址:2211.15444 (arxiv.org) 在本报告中,我们提出了一种快速准确的对象检测方法,称为 DAMO-YOLO,它实现了比最先进的 YOLO 系列更高的性能。DAMO-YOLO 是从 YOLO 扩展而来的,具有一些新技术,包括神经架构搜索 (NAS)、高效的重新参数化广义 …

【Linux】用虚拟机配置Ubuntu 24.04.1 LTS环境

目录 1.虚拟机安装Ubuntu系统 2.Ubuntu系统的网络配置 3.特别声明 首先我们先要下载VMware软件,大家自己去下啊! 1.虚拟机安装Ubuntu系统 我们进去之后点击创建新的虚拟机,然后选择自定义 接着点下一步 再点下一步 进入这个界面之后&…

[C++]使用纯opencv部署yolov11目标检测onnx模型

yolov11官方框架:https://github.com/ultralytics/ultralytics 【算法介绍】 在C中使用纯OpenCV部署YOLOv11进行目标检测是一项具有挑战性的任务,因为YOLOv11通常是用PyTorch等深度学习框架实现的,而OpenCV本身并不直接支持加载和运行PyTor…

Python+Matplotlib展示单射、双射、满射

import matplotlib.pyplot as pltplt.rcParams[font.sans-serif] [SimHei] # 用来正常显示中文标签 plt.rcParams[axes.unicode_minus] False # 用来正常显示负号def create_function_plot(ax, title, x, y, connections):ax.set_xlim(0, 5)ax.set_ylim(0, 5)ax.set_aspect…

UE4 材质学习笔记01(什么是着色器/PBR基础)

1.什么是shader 着色器是控制屏幕上每个像素颜色的代码,这些代码通常在图形处理器上运行。 现如今游戏引擎使用先进的基于物理的渲染和照明。而且照明模型模型大多数是被锁定的。 因此我们创建着色器可以控制颜色,法线,粗糙度,…

十一假期不停歇-学习ROS第二天

一、自动修改环境变量 source install/setup.bash 这句指令可不重复添加环境变量,直接运行就可以。 从左右图即可即可看出有所不同的。以后写完功能包发现不存在那就source一下就好了。 实际上它运行的是 python3.10那里的功能包与节点 我们在创建完功能包会出…

python-矩阵转置/将列表分割成块/和超过N的最短子数组

一:矩阵转置 题目描述 输入一个 n 行 m 列的矩阵 A,输出它的转置 AT。输入 第一行包含两个整数 n 和 m,表示矩阵 A 的行数和列数。1≤n≤100,1≤m≤100。接下来 n 行,每行 m 个整数,表示矩阵 A 的元素。相邻…

别再为开题报告发愁了,ChatGPT可以助力你高效完成!

学境思源,一键生成论文初稿: AcademicIdeas - 学境思源AI论文写作 面对开题报告时,我们常常感到迷茫和压力。如何清晰地表达研究目的、梳理文献综述、明确研究问题与假设,以及构建合理的研究方法,这些环节都对开题报告…

OpenCV-图像拼接

文章目录 一、基本原理二、步骤三、代码实现1.定义函数2.读取图像3.图像配准(1).特征点检测(2).特征匹配 4.透视变换5.图像拼接 四、图像拼接的注意事项 图像拼接是一种将多张有重叠部分的图像合并成一张无缝的全景图或高分辨率图…

蓝桥杯【物联网】零基础到国奖之路:十七. 扩展模块之单路ADC和NE555

蓝桥杯【物联网】零基础到国奖之路:十七. 扩展模块之单路ADC和NE555 第一节 硬件解读第二节 CubeMx配置第三节 代码1,脉冲部分代码2,ADC部分代码![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/57531a4ee76d46daa227ae0a52993191.png) 第一节 …

基于工业物联网的能源监控系统:边缘数据处理的应用

论文标题:《Industrial IoT-Based Energy Monitoring System: Using Data Processing at Edge》 作者信息: Akseer Ali MiraniAnshul AwasthiNiall O’MahonyJoseph Walsh 他们均来自爱尔兰的芒斯特技术大学IMaR研究中心,以及位于利默里克的…

秋招校招北森笔试测评北森笔测评常见图推题目解答

北森笔试测评常见题目解析第二弹: P1:每一行均出现圆,米,口加上内部的菱形和小圆形,行测上称之为遍历。 P2:题干也给提示了,肯定不选9,考虑封闭部分,选11. P3&#xf…

面试速通宝典——7

150. 数据库连接池的作用 数据库连接池的作用包括以下几个方面: 资源重用:连接池允许多个客户端共享有限的数据库连接,减少频繁创建和销毁连接的开销,从而提高资源的利用率。 统一的连接管理:连接池集中管理数据库连…

访问webapps下边的内容不能访问解决办法

1、看是否是带有中文路径,中文路径访问不了 2、是否在访问的时候没有带8080端口 如图,带有8080就可以访问了 原因: 当你尝试通过 http://localhost:8080/hello/hello.html 访问网页时,端口号 “8080” 指定了该请求将发送到本地主…

STM32-MPU6050+DAM库源码(江协笔记)

目录 1、MPU6050简介 2、MPU6050参数 3、MPU6050硬件电路 4、MPU6050结构 5、MPU6000和MPU6050的区别 6、MPU6050应用场景 7、MPU6050电气参数 8、MPU6050时钟源选择 9、MPU6050中断源 10、MPU6050的I2C读写操作 11、DMP库移植 1、MPU6050简介 10轴传感器&#xff1…