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

一、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.rhkb.cn/news/438967.html

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

相关文章

华为OD机试 - 可活动的最大网格点数目 - 广度优先搜索BFS(Python/JS/C/C++ 2024 E卷 200分)

华为OD机试 2024E卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试真题(Python/JS/C/C)》。 刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,…

【C++打怪之路Lv6】-- 内存管理

🌈 个人主页:白子寰 🔥 分类专栏:C打怪之路,python从入门到精通,数据结构,C语言,C语言题集👈 希望得到您的订阅和支持~ 💡 坚持创作博文(平均质量分82)&#…

【重学 MySQL】五十一、更新和删除数据

【重学 MySQL】五十一、更新和删除数据 更新数据删除数据注意事项 在MySQL中,更新和删除数据是数据库管理的基本操作。 更新数据 为了更新(修改)表中的数据,可使用UPDATE语句。UPDATE语句的基本语法如下: UPDATE ta…

[Python学习日记-33] Python 中的嵌套函数、匿名函数和高阶函数

[Python学习日记-33] Python 中的嵌套函数、匿名函数和高阶函数 简介 嵌套函数 匿名函数 高阶函数 简介 在 Python 当中函数除了能减少重复代码、扩展性强和易维护外,其实还有挺多不通的玩法的,例如嵌套函数、匿名函数、高阶函数等,它们是…

C# 无边框窗体,加阴影效果、多组件拖动、改变大小等功能完美实现优化版效果体验

一、预览效果 国庆节第一天,祝祖国繁荣昌盛! 1.1 效果图 (WinForm无边框窗体,F11可全屏) 拖动窗体时半透明效果(拖动时参考窗体后面释放位置) 说明:本功能的实现基于网友的原型完善而来,更多代码可以参考他的文章 h

图解大模型计算加速系列:vLLM源码解析3,Prefix Caching

【全文目录如下】 一、两种不同的BlockAllocator 二、物理块和逻辑块的结构 三、prefill阶段的物理块分配方法 3.1 allocate函数入口 3.2 计算物理块hash值的方法 3.3 使用LRUEvictor管理物理块分配细节 3.4 再探LRUEvictor,理解“prefix” …

Elasticsearch学习记录

阅读前须知 本文通过安装elasticsearch-7.17.0为基础,使用 kibana-7.17.0 对 elasticsearch 进行操作,本文中 es 是对 elasticsearch 的简写。 下载地址:elasticsearch_免费高速下载|百度网盘-分享无限制 (baidu.com) 1 初识Elasticsearch …

阿里巴巴开源的FastJson 1反序列化漏洞复现攻击保姆级教程

免责申明 本文仅是用于学习检测自己搭建的靶场环境有关FastJson1反序列化漏洞的原理和攻击实验,请勿用在非法途径上,若将其用于非法目的,所造成的一切后果由您自行承担,产生的一切风险和后果与笔者无关;本文开始前请认真详细学习《‌中华人民共和国网络安全法》‌及其所在…

【重学 MySQL】四十五、数据库的创建、修改与删除

【重学 MySQL】四十五、数据库的创建、修改与删除 一条数据存储的过程数据输入数据验证数据处理数据存储数据持久化反馈与日志注意事项 标识符命名规则基本规则长度限制保留字与特殊字符命名建议示例 MySQL 中的数据类型创建数据库创建数据库时指定字符集和排序规则 查看数据库…

Ubuntu安装Hadoop3.4

1、创建Hadoop用户 sudo adduser hadoop 将Hadoop加进sudo用户组,赋予更高权限: sudo usermod -G sudo hadoop 3、安装JDK(略) 查看JDK安装路径:which java 和 ls -al 3、配置SSH免密登录 在Hadoop分布式集群环境中,各个机器之间的通信通常需要使用SSH的方式进行连…

探索Python网络世界的利器:Requests-HTML库

文章目录 探索Python网络世界的利器:Requests-HTML库背景:为何选择Requests-HTML?什么是Requests-HTML?如何安装Requests-HTML?5个简单库函数的使用方法3个场景下库的使用示例常见Bug及解决方案总结 探索Python网络世界…

【多线程】多线程(8):单例模式:阻塞队列

【阻塞队列】 阻塞队列是在普通的“先进先出”队列的基础上,做出了扩充,可以组成「生产者消费者模型」 1.线程安全性 标准库是原有的队列Queue和其子类,默认都是“线程不安全的”,而阻塞队列是“线程安全的” 2.具有阻塞特性 …

基于STM32的智能风扇控制系统设计

引言 本项目将基于STM32微控制器设计一个智能风扇控制系统,通过温度传感器实时检测环境温度,并根据预设的温度范围自动调节风扇的转速。该系统展示了STM32的PWM输出、传感器接口以及自动控制应用的实现。 环境准备 1. 硬件设备 STM32F103C8T6 开发板…

Java | Leetcode Java题解之第457题环形数组是否存在循环

题目&#xff1a; 题解&#xff1a; class Solution {public boolean circularArrayLoop(int[] nums) {int n nums.length;for (int i 0; i < n; i) {if (nums[i] 0) {continue;}int slow i, fast next(nums, i);// 判断非零且方向相同while (nums[slow] * nums[fast]…

51单片机的宠物自动投喂系统【proteus仿真+程序+报告+原理图+演示视频】

1、主要功能 该系统由AT89C51/STC89C52单片机LCD1602显示模块温湿度传感器DS1302时钟模块蓝牙步进电机按键、蜂鸣器等模块构成。适用于猫猫/狗狗宠物自动喂食器等相似项目。 可实现基本功能: 1、LCD1602实时显示北京时间和温湿度 2、温湿度传感器DHT11采集环境温湿度 3、时…

MySQL 实验1:Windows 环境下 MySQL5.5 安装与配置

MySQL 实验1&#xff1a;Windows 环境下 MySQL5.5 安装与配置 目录 MySQL 实验1&#xff1a;Windows 环境下 MySQL5.5 安装与配置一、MySQL 软件的下载二、安装 MySQL三、配置 MySQL1、配置环境变量2、安装并启动 MySQL 服务3、设置 MySQL 字符集4、为 root 用户设置登录密码 一…

【Docker】配置文件

问题 学习Docker期间会涉及到docker的很多配置文件&#xff0c;可能会涉及到的会有&#xff1a; /usr/lib/systemd/system/docker.service 【docker用于被systemd管理的配置文件】 /etc/systemd/system/docker.service.d【覆盖配置文件的存放处】 /etc/systemd/system/mul…

828华为云征文|部署音乐流媒体服务器 mStream

828华为云征文&#xff5c;部署音乐流媒体服务器 mStream 一、Flexus云服务器X实例介绍二、Flexus云服务器X实例配置2.1 重置密码2.2 服务器连接2.3 安全组配置2.4 Docker 环境搭建 三、Flexus云服务器X实例部署 mStream3.1 mStream 介绍3.2 mStream 部署3.3 mStream 使用 四、…

【MySQL】Ubuntu环境下MySQL的安装与卸载

目录 1.MYSQL的安装 2.MYSQL的卸载 1.MYSQL的安装 首先我们要看看我们环境里面有没有已经安装好的MySQL 我们发现是默认是没有的。 我们还可以通过下面这个命令来确认有没有mysql的安装包 首先我们得知道我们当前的系统版本是什么 lsb_release -a 我们在找apt源的时候&a…

20241004给荣品RD-RK3588-AHD开发板刷Rockchip原厂的Android12时永不休眠的步骤

20241004给荣品RD-RK3588-AHD开发板刷Rockchip原厂的Android12时永不休眠的步骤 2024/10/4 19:22 1、 Z:\rk3588s4_3588a12\device\rockchip\common\device.mk ifeq ($(strip $(BOARD_HAVE_BLUETOOTH_RTK)), true) include hardware/realtek/rtkbt/rtkbt.mk endif ifeq ($(str…