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;





原文地址:https://www.cnblogs.com/pangbing/p/6534757.html