学习目标:

了解什么是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 restartsudo 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/mysqlsudo apt autoremove  sudo apt autoclean

day1 -- 资料库管理系统DBMS相关推荐

  1. 04--MySQL自学教程:数据库MySQL--【数据库DB】和【数据库管理系统DBMS】简介

    1.数据库DB 数据库:DB(DataBase) 按照一定规则存储在计算机的内部存储设备上被各种用户或者应用共享的数据集合 2.数据库管理系统DBMS 1)数据库管理系统DBMS:DBMS(DataB ...

  2. 学习随笔---数据库管理系统DBMS

    一.数据库管理系统DBMS是什么 是一种操纵和管理数据库信息的大型管理软件,用于建立,使用和维护数据库. 按数据库存储结构方式可以分为:关系数据库管理系统和非关系数据库管理系统. 二.数据库DB是什么 ...

  3. dbms数据库管理系统_数据库管理系统dbms

    dbms数据库管理系统 A database is an organized collection of data, generally stored and accessed electronica ...

  4. 数据库管理系统(DBMS)的主要功能

    主要功能    1.数据定义:DBMS提供数据定义语言DDL(Data Definition Language),供用户定义数据库的三级模式结构.两级映像以及完整性约束和保密限制等约束.DDL主要用于 ...

  5. 在计算机术语中 英文cad是指,CAD中英语词汇及命令大全

    CAD中英语词汇及命令大全 对于从事CAD相关职业的朋友来说,加深认识CAD中英语词汇及命令是很有必要的,今天小编特意整理了这些东西,希望对大家有帮助! 2D Solid 二维实体 2D 实面 2D ...

  6. AutoCAD机械制图英语词汇

    2006-04-05 21:25:53 AutoCAD机械制图英语词汇 2D Solid 二维实体 2D 实面 2D Wireframe 二维线框 3D Array 三维阵列 3D 阵列 3D Dyn ...

  7. dbms数据库管理系统_基本数据库管理系统(DBMS)能力问题和解答

    dbms数据库管理系统 This section contains the aptitude questions and answers on basic concepts of DBMS. You ...

  8. dbms数据库管理系统_DBMS中的数据库语言

    dbms数据库管理系统 DBMS数据库语言 (DBMS Database languages ) Database languages are the languages that provide t ...

  9. dbms数据库管理系统_数据库管理系统(DBMS)中的视图

    dbms数据库管理系统 DBMS College professor once realized that students feel sad when they see their friend's ...

最新文章

  1. C#调用C++dll
  2. Python函数传参方式超级大汇总
  3. python语言的取余运算符_Python 中用于整数除法取余的运算符是()_学小易找答案...
  4. 数据挖掘算法之关联规则挖掘(一)apriori算法
  5. 基于51单片机的电梯控制系统
  6. java 简单阻塞队列,制作一个简单的任务队列(使用阻塞队列)
  7. unity3d用鼠标拖动物体的一段代码
  8. 中国的第一座基站,你知道在哪吗?
  9. boost中的mutex与lock
  10. Telnet基本概念及C# Telnet 客户端程序
  11. 单片机引脚复用使用不当会导致bug
  12. 标准数独解题之旅(用一道数独题讲解最基本的5种解题技巧)
  13. 80004005错误代码_电脑出现错误代码0x80004005的解决方法
  14. 计算机之父ppt,24计算机之父童年的故事.ppt
  15. 行业分析| 物流对讲
  16. Linux sleep exit abort函数
  17. ENVI5.3安装或卸载时提示错误1628代码
  18. 成为软件工程师之前,你必须了解这些
  19. Python-文件存储
  20. matlab把华氏度,MATLAB GUI实例1——摄氏度与华氏度的转换

热门文章

  1. Nuxt作为主应用集成qiankun,SKIP_BECAUSE_BROKEN报错
  2. 14年的面试官经验分享,看完必有收获
  3. PHP中iconv函数来转换编码,如UTF-8转GB2312
  4. 第155篇 英格兰拍卖
  5. python----最长不重复子串
  6. VB基础版版务处理_20051011
  7. 有小孩上学实用 高中课程同步学 v1.0.5 免登陆高级版
  8. 组态王中PLC数据连接MySQL数据库教程
  9. 关于Linux性能调优中磁盘IO调优的一些笔记
  10. 网站站内优化怎么做,SEO站内优化技巧...