• mysql组织结构


    1.数据的组织结构
    <1>层次型
    <2>网状型
    <3>关系型

    2.mysql软件包格式
         <1>.软件包管理器特有的格式:.rpm包
         <2>.通用二进制包:解压玩就能用
         <3>.源程序:源码包
    3.mysql是C/S架构
         客户端:mysql   要安装的包:mysql
         服务端:mysqld     要安装的包:mysql-server
         默认是监听在3306端口
         它一般以mysql 用户,mysql组来运行

    4. 磁盘格式化之后把空间分为了两个区域:一个叫“元数据区域”,一个叫“数据区域”。数据区域还会划分成磁盘块。

    5.安装完之后在客户端命令行界面中输入:mysql就可以进出mysql数据库了
    ########################################################################################
    以上都是基于安装红帽自带的RPM包的过程。

    6.mysql命令的选项
         -u 指定用户名(默认是root,这个用户是mysql的root。不是系统的。它的权限是最高的)
         -p (建议是-p后边不要输入密码,这样所有人可见,不安全。直接回车即可,使用交互的方式输入密码)
         -h 指定主机 

    修改root密码
    第一次修改密码: mysqladmin -u root    password '123123' 回车
    第二次修改密码: mysqladmin -u root -p password '123123' 回车后输入原密码
                   注意在第二条命令中-p后边不要有空格,直接接密码即可

    7.mysql客户端交互有两种模式
         交互式模式
         批量处理模式(执行mysql脚本的)。

    交互式模式中的命令类别:
         客户端命令:?或是help获取命令帮助
         服务端命令:
              都必须使用语句结束符,默认为分号
             
    8. 关系数据库对象:库 、表、索引、试图、约束、存储过程、存储函数、触发器、游标、用户。

    9.mysql的库其实是对应在/var/lib/mysql/下的相对应的目录

    10.表
         他是由行和列组成
         表:又叫做一个实体
         行:raw
         列:field
        
         我们要网表里插入一个数据,需要定义字段名称,数据类型,类型修饰。
        
         数据类型:
         字符型:
              CHAR
              VARCHAR
              BINARY
              VARBINARY
              TEXT
              BLOB
        
         数值型:
              整型:
                   精确数值型
                        整型
                   十进制
              近似数值:
                   浮点型

    日期:
    布尔型:

    11.
      DDL:定义数据对象的
         命令:CREATE ALTER DROP
      DML:操作语言
         命令:INSERT UPDATA DELETE
      DCL:控制语言
         命令:GRANT REVOKE
    这些命令是不区分大小写的

    12.库的相关操作
         格式: create database 库名;
        查看有哪些库 :show databases;
        创建一个库 :create database pangbing;
        删除一个数据库:drop database pangbing;
        
       use mysql:表示使用mysql这个数据库,创建表时不指定数据库的话就在这个库里创建表。
    否则在创建表的时候要使用:create  table 库名.表名  

    13.表的相关操作
         格式:create table 表名(字段的定义);
         查看默认库中的表:show tables;
         查看特定数据中的表: show tables from 库名;
         查看表的结构:desc 表名;
         删除表:drop table 表名;
     
      修改表:ALTER TABLE 表名;
         修改的方法有这么几种
         MODIFY 修改某个字段 (把字段的属性改改,字段的名字不变)
         CHANGE 改变某个字段的 (字段名称改变)
         ADD     添加一个字段
         DROP     删除字段

    help alter table:查看帮助

    14.创建msql用户
         create user '用户名'@'主机' identified by '密码'

         例子:mysql> create user 'pangbing'@'192.168.3.110' identified by '123';
         //上边的IP地址是允许访问的主机地址
    ##############################################################    
    特别注意:在授权用户权限后,登陆时一定要指定登陆的mysql服务器
    -h 要登录的服务器IP地址      登陆: mysql -u pangbing -h 192.168.3.110 -p
    ##############################################################

       删除mysql用户
         drop user '用户名'@'host'
         例子:drop user 'bing'@'%';

    15.给用户授权:
    注意;如果用户不存在,就会自动创建授权的用户    
    GRANT 权限列表 ON 库名.表名 TO '用户名'@'主机地址' IDENTIFIED BY '密码'

    取消授权:

         REOVKE 权限列表 ON 库名.表名 FROM '用户名'@'主机地址'

    <1>权限列表:用于列出授权使用的各种数据库操作,以逗号进行分隔
      例如:select insert updata。使用all privileges代表所有权限,可授权任何操作。
    <2>IDENTIFIED BY :用于设置用户的密码,如果在授权时省略,表示密码为空。
    <3>主机地址:这时允许哪些主机连接服务器器,也可以写成IP(客户端的地址)
              '%'代表任意主机
    例子:grant all  on 库名.* to 'pangbing'@'%' identified by '密码'

    16.查看权限列表:
         mysql> show grants for 'pangbing'@'%';
                select user,host  from mysql.user;


    17.默认情况下,root用户是不具备远程登录的权限的,这也是基于安全考虑;

    mysql> Grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;

    18.查看mysql支持的引擎
         mysql> show engines;





  • 相关阅读:
    理解Express express.static 和 __direname 及 __firename的含义
    HTTP请求中 request payload 和 formData 区别?
    POST提交数据之---Content-Type的理解;
    前端域名访问页面中的一些配置项
    使用Nginx来解决跨域的问题
    vue-resource get/post请求如何携带cookie的问题
    socket实现聊天功能(二)
    go语言之进阶篇通过结构体生成json
    go语言之进阶篇JSON处理
    go语言之进阶篇正则表达式
  • 原文地址:https://www.cnblogs.com/pangbing/p/6534757.html
Copyright © 2020-2023  润新知