day1 -- 资料库管理系统DBMS

news2024/11/25 8:14:01

学习目标:

了解什么是Mysql
如何安装Mysql


学习内容:

  1. 资料库概念
  2. 资料库管理系统概念
  3. 资料库管理系统分类
  4. SQL是什么
  5. 安装Mysql
  6. 启动Mysql并建立一张测试表格

正文部分

  • 资料库
    比如你喜欢摘抄优美的词句,那些优美的词句就是一种文字资料,而你保存和记录的摘抄本就是一个储存资料的资料库。
    同时你的摘抄本也是一种资料,当很多本摘抄本放在一起时,他也是一个资料库。

    简单说就是:数据 + 记录载体 + 保管方式

  • 资料库管理系统(DBMS)
    资料库小的时候可以手动管理
    资料库大的时候可以借助资料库管理系统进行管理,并且方便我们进行检索。
    资料库管理系统可以认为是一个大管家,你把资料递给他,他就会帮你组织成合适的资料库,同时你需要资料的时候,他再取出来。

    而我的学习对象Mysql就是一种资料库管理系统。我把资料递给他他会帮我进行组织和管理,方便资料的储存和检索等。

    资料库管理系统可以分为两大类:

    • 关系型:存放形式是一张张表格
      • Mysql
      • Oracle
      • PostgreSql
      • SQL service
    • 非关系型:存放形式多样
      • MogoDB
      • Redis
      • DynamoDB
  • SQL
    structured query language,字面意思就是 结构性查询语言,是一种特定格式的用于关系型数据库查询的语言

    就是你和大管家沟通的语言。

  • ubuntu下安装 Mysql
    至于为什么选择ubuntu安装而不是在windows系统下安装,因为我目前了解到的知识有限。
    我的笔记本是windows加上WSL ubuntu系统,如果我在子系统安装了Mysql 可以定期执行自动化脚本获取一些信息存然后利用Mysql管理。
    同时在windows下可以用一些客户端连接和访问的,同时我也可以在Rstudio中访问Mysql。

  • 登录Mysql并建立一张测试表格
    这里将演示具体的安装步骤以及每一步的截图,最后会在ubuntu终端界面和windos图形界面以及Rstudio中分别访问Mysql。


在这里插入图片描述


这里开始安装了
然后,我是没有更换apt的镜像源,所以下载的很慢。
其他人可以更换下镜像源。

sudo apt update
sudo apt upgrade
sudo apt search mysql-server
sudo apt install mysql-server

在这里插入图片描述
可能是用户权限问题,导致最后有些错误。


which mysql   #显示我现在有这个执行文件了,也就是mysql的服务没有开启
sudo service mysql restart   # NM又开始报错,不过我看到相关进程存在了
ps -aux |grep "mysql"   # 再捣鼓一下

在这里插入图片描述

sudo service mysql stop
sudo usermod -d /var/lib/mysql/ mysql
sudo service mysql restart   # 这次可以了

在这里插入图片描述


需要设置Mysql root账号的密码,然后创建一个非 root账号,用以日常使用

# 这是因为第一次登陆才这样搞,等设置好密码后需要账号密码才能登陆
sudo mysql -uroot   #此时将进入mysql的命令行界面

MySQL中用户相关信息存储于mysql数据库中,需要现转换到mysql数据库

show databases;

在这里插入图片描述

use mysql;
show tables;

在这里插入图片描述

最下面有一张表格 user 记录了用户信息。
在这里插入图片描述

select user,host,plugin from user;

在这里插入图片描述
上面的localhost说明只允许本地登录
MySQL8.0 中用户默认认证方式为 caching_sha2_password
MySQL5.X常用的mysql_native_password方式,只有此种方式才能在MySQL8.0中更改用户密码

下面就进行认证方式和密码的修改:

alter user 'root'@'localhost' identified with mysql_native_password by 'your_new _password';
flush privileges;

在这里插入图片描述
然后,我们退出Mysql,重启服务后使用账号密码登录。

quit;
sudo service mysql restart

sudo mysql -u root -p   # 命令行会提示你输入密码,然后进入mysql 命令行

设置root用户的远程访问。此时root用户的host属性仍然是localhost,也就是只能从本地访问,因此可以将root用户的访问权限由本地改为本地和外部都可以访问,将host的值由localhost改为 %。

use mysql;
show tables;
update user set user.host='%' where user.user='root';
flush privileges;
select user,host,plugin from user;

此时root用户的host访问权限已经改为本地和外部都可以。但是配置文件还需要修改一下。
重启MySQL服务,即可实现远程连接。
WSL中的Ubuntu子系统访问可以直接使用127.0.0.1或localhost进行访问。

  • 修改配置文件
sudo vim /etc/mysql//mysql.conf.d/mysqld.cnf
sudo service mysql restart

在这里插入图片描述
修改 bind-address = 0.0.0.0 。
重启MySQL后,即可实现通过IP地址远程连接。


  • 我这里演示一下windows下访问wsl安装的mysql,以及Rstudio中访问wsl安装的mysql。然后像创建普通用户用于日常工作的部分,会单独记录,因为用户组管理也很复杂。
    我自己装了一个windows下的Mysql workbench:
    在这里插入图片描述
    在这里插入图片描述
  • Rstudio 访问wsl 下安装的Mysql
    在这里插入图片描述
    在这里插入图片描述

也就是windows安装 ODBC数据库驱动程序并且配置好
然后R 中安装 RODBC ,这样 RODBC操控ODBC,通过ODBC和Mysql通信实现数据的获取

这里演示下ODBC驱动的配置:
我在安装workbenck的时候已经安装了ODBC驱动了。
直接 win + R 调出来搜索,输入ODBC然后找到应用,开始配置。
在这里插入图片描述
点击添加:
在这里插入图片描述
在这里插入图片描述

面板中的几个选项:

  • Data Sounrce Name:数据原名称,之后我们在R中调用相应的数据库需要提供的一个名称,可取任意有效的名称,比如这里我可以取名Mysql.1
  • Description:可不填
  • TCP/IP:这里我们需要连接到本地的数据库,所以直接填写localhost
  • User:mysql数据库的用户名,这个是在安装mysql的时候配置的,一般默认是root
  • Password:访问数据库的密码,也是我们最初在安装配置mysql的时候设定的
  • Database:数据库名称,数据库必须是已经存在于mysql中的数据库

点击ok就表示连接成功了,然后再R里面加载RODBC,进行连接驱动就可以了
比较不爽的是每一张表都需要设置一次ODBC嘛,我再去研究研究。


  • 最后如何卸载Mysql
 sudo apt purge mysql-*
 sudo rm -rf /etc/mysql/ /var/lib/mysql
 sudo apt autoremove  
 sudo apt autoclean

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

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

相关文章

香橙派4和树莓派4B构建K8S集群实践之六:App服务部署

目录 1. 说明 1.1 关于PHPNginx体系的WebApp,这里将实践两种部署模式: 1.2 配置清单 2. PHPNginx体系的WebApp部署 2.1 单节点多容器模式A 2.1.1 准备工作 2.2.2 部署 2.2.3 访问效果 ​编辑 2.2 多节点单容器模式B 2.2.1 准备工作 2.2 配置…

笔记 | FastAPI创建新项目

当使用FastAPI创建项目时,首先需要安装FastAPI和其依赖项。可以使用pip来安装它们。请确保已经安装了Python和pip。 创建项目文件夹并进入该文件夹: mkdir myproject cd myproject创建并激活一个新的Python虚拟环境(可选,但强烈…

虚拟机扩容

文章目录 虚拟机扩容扩容背景软件版本操作步骤1、VM上修改磁盘信息2、在系统中挂载磁盘(1) 使用命令查看磁盘状态(2) 通过命令查看到新磁盘的分区(3) 然后对新加的磁盘进行分区操作(4)重启虚拟机(5) 再次用以下命令查看到磁盘当前情况(6) 查看卷组名(7) 初始化刚刚的分区(8) 将…

MongoDB入门

mongodb与sql术语对应关系 SQL术语/概念MongoDB术语/概念解释/说明databasedatabase数据库tablecollection数据库表/集合rowdocument数据记录行/文档columnfield数据字段/域indexindex索引 对应关系图例

Microsoft Edge有哪些你不知道却超级好用的插件?(Microsoft Edge功能测评)

🎈个人主页:🎈 :✨✨✨初阶牛✨✨✨ 🐻推荐专栏: 🍔🍟🌯C语言进阶 🔑个人信条: 🌵知行合一 🍉本篇简介:>:对Edge浏览器的简单测评,分享一些自己在使用好用的插件. 目录…

阿里系文生图(PAI+通义)

PAI-Diffusion模型来了!阿里云机器学习团队带您徜徉中文艺术海洋 - 知乎作者:汪诚愚、段忠杰、朱祥茹、黄俊导读近年来,随着海量多模态数据在互联网的爆炸性增长和训练深度学习大模型的算力大幅提升,AI生成内容(AI Gen…

Ae 效果详解:3D 摄像机跟踪器

Ae菜单:效果/透视/3D 摄像机跟踪器 Effects/Perspective/3D Camera Tracker 使用 3D 摄像机跟踪器 3D Camera Tracker效果可自动分析视频,以便提取摄像机运动和 3D 场景数据。然后,可以在 2D 素材的基础上正确合成 3D 元素。 提示&#xff1a…

基于DataX的海量时序数据迁移实战:从MySQL到TDengine3.x

背景 MySQL 数据库中,设备历史数据单表过亿,如何快速、低成本地迁移到 TDengine3.x 中? 从标题可以看出,我们使用的数据迁移/同步工具是 DataX ,数据源( Source )为传统的关系型数据库 MySQL …

Yarn学习笔记

Apache Hadoop YARN (Yet AnotherResource Negotiator,另一种资源协调者)是一种新的 Hadoop 资源管理器,它是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度,它的引入为集群在利用率、资源统一…

全面SOA化的电子电气架构是什么样?

交流群 | 进“传感器群/滑板底盘群/汽车基础软件群/域控制器群”请扫描文末二维码,添加九章小助手,务必备注交流群名称 真实姓名 公司 职位(不备注无法通过好友验证) 作者 | 张萌宇 在汽车产业向智能化转型的过程中&#xff0c…

《C++程序设计原理与实践》笔记 第18章 向量和数组

本章将介绍如何拷贝以及通过下标访问向量。为此,我们讨论一般的拷贝技术,并考虑向量与底层数组表示之间的关系。我们将展示数组与指针的关系及其使用引发的问题。我们还将讨论对于每种类型必须考虑的五种基本操作:构造、默认构造、拷贝构造、…

C++中queue的用法(超详细,入门必看)

博主简介:Hello大家好呀,我是陈童学,一个与你一样正在慢慢前行的人。 博主主页:陈童学哦 所属专栏:CSTL 前言:Hello各位小伙伴们好!欢迎来到本专栏CSTL的学习,本专栏旨在帮助大家了解…

轩辕:首个千亿级中文金融对话模型

背景 目前开源的大语言模型或多或少存在以下痛点: 缺少专门针对中文进行优化过的的大语言模型。 支持中文的开源模型的参数规模偏小,没有超过千亿。比如清华和智谱AI的ChatGLM-6B目前只开源了6B参数模型,盘古alpha也只开源了13B的模型。 支…

杨立昆:科学之路读书笔记1

杨立昆:科学之路读书笔记1 前言科学之路1读书缘由靠省钱,是混不出名堂的AI趣事话题交流 一起学AI系列博客:目录索引 前言 在贝尔实验室,靠节省开支,是无法混出名堂的。——《科学之路》 五一假期读的多,写的…

毫米波雷达点云 DBSCAN聚类算法

毫米雷达点云 DBSCAN聚类算法 聚类的目的聚类算法分类原型聚类层次聚类密度聚类 DBSCAN聚类算法原理相关定义算法流程以及伪代码DBSCAN算法优缺点DBSCAN参数选择聚类衡量指标 DBSCAN算法仿真DBSCAN代码DBSCAN算法对毫米波雷达点云数据进行聚类 聚类的目的 聚类的目的是将一组数…

认识http协议---3

hi,大家好,今天为大家带来http协议的相关知识 🍇1.http状态响应码 🍇2.构造http请求 1.直接在地址栏里输入一个URL 2.html的一些特殊标签,触发get请求 3.提交form表单,可以触发get请求和post请求 4.使用ajax 🍇3.再次谈同步和异步 &#x1f3…

spark sql(四)物理计划解析

1、流程解析 在该系列第二篇文章中介绍了spark sql整体的解析流程,我们知道整体的sql解析分为未解析的逻辑计划(Unresolved LogicalPlan)、解析后的逻辑计划(LogicalPlan)、优化后的逻辑计划(Optimized Lo…

HDFS学习笔记

HDFS1.0 1 什么是HDFS? HDFS的全称是:Hadoop DistributeFiles System,分布式文件系统。 在整个Hadoop技术体系中,HDFS提供了数据分布式存储的底层技术支持。 HDFS 由三个组件构成:NameNode(NN&#xff…

排序算法:堆排序

朋友们、伙计们,我们又见面了,本期来给大家解读一下栈和队列方面的相关知识点,如果看完之后对你有一定的启发,那么请留下你的三连,祝大家心想事成! 数据结构与算法专栏:数据结构与算法 个 人 …

算法|9.从暴力递归到动态规划2

9.算法|从暴力递归到动态规划2 1.数字字符串转英文字符串 题意:规定1和A对应、2和B对应、3和C对应…26和Z对应,那么一个数字字符串比如"111”就可以转化为:“AAA”、“KA"和"AK” 给定一个只有数字字符组成的字符串str,返回…