mysql--账号及数据库管理

  • 账号管理
    • 账号的使用
      • root是mysql的超级管理员
      • 一般在公司中都不会使用此账号,大多情况下都是又超级管理员或者管理员创建的用户账号
      • 用对应的用户来管理对应的数据库
    • mysql自带的mysql数据库中会有一张表,记载所有的用户
      • host
        • 账号匹配的对应主机
          • %:可以在任意主机上登录,并访问对应的数据库
          • localhost:localhost不会被解析成IP地址,直接通过UNIXsocket连接,仅支持本地主机链接
          • 127.0.0.1:会通过TCP/IP协议连接,并且只能在本机访问
          • ::1 ::1就是兼容支持ipv6的,表示同ipv4的127.0.0.1
      • user
        • 用户名
    • cmd进入mysql数据库
      • -u用户名 -p密码
    • 刷新配置
      • flush privileges
    • 本地主机与远程主机
      • 本地主机指的是我们可以随时随意的操纵的主机
      • 远程主机则顾名思义,是在特定地点才能操作的主机
    • 用户的增删改查
      • 创建用户的sql语句
        • create user 用户名 identified by '密码'
        • 注:identified by会将纯文本密码加密作为散列值存储
      • 查询所有用户
        • select host,user from user
      • 删除用户(慎用)
        • drop user 用户名
        • 在删除用户时需要先领导说明原因并询问是否其是否同意,以减少责任
      • 修改密码
        • set password for 用户名=password('新密码')
    • 权限
      • 设置权限(Grant)
        • grant privileges on databasename.tablename to 用户名@'host'
      • 撤销权限
        • revoke privileges on databasename.tablename from 用户名@'host‘
      • 设置权限(Grant)和撤销权限(Revoke)的参数说明
        • 1 privileges: 用户的操作权限,如SELECT,INSERT,UPDATE,DELETE等,如果要授予所有权限直接使用:all;
        • 2 databasename:数据库名;
        • 3 tablename: 表名,如果要授予用户对所有数据库和表的操作权限直接使用:*.*;
        • 4 host 用户的host
      • 查看用户权限
        • show grants for 用户名
  • 数据库
    • MySQL默认数据库介绍
      • 1 information_schema:是一个信息数据库,它保存着关于MySQL服务器所维护的所有其他数据库的信息;
      • 2 mysql:核心数据库,类似于sql server中的master表,主要负责存储数据库的用户、权限设置、关键字等mysql自己需要使用的控制和管理信息;
      • 3 test:测试数据库,没有东西;
    • 数据库的增删查
      • 创建数据库
        • create database 数据库名
        • create database if not exists 数据库名 default charset utf8 collate utf8_general_ci
          • if not exists:如果没有同名数据库,则创建一个数据库
          • default charset:设置数据库的编码格式
          • collate:数据库的排序规则
        • 注:默认的数据库编码集:utf8(即UTF-8),collate表示排序规则为utf8_general_ci
      • 删除数据库(慎用)
        • drop database 数据库名
      • 查看所有的数据库
        • show database
      • 注:在真实环境下,任何修改或删除操作都要提前备份
    • 数据库的四大引擎
      • 1.什么是数据库引擎
        • 数据库存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据。
        • Mysql的核心就是存储引擎。
        • 现在许多不同的数据库管理系统都支持多种不同的数据引擎。
        • 不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎,还可以获得特定的功能。
      • 2.查看数据引擎
        • show engines
        • 字段解释
          • engines:数据库名
          • Support:是否支持此引擎
          • Comment:解释
          • transaction:是否支持事务
          • XA:事务旨在允许分布式事务,其中事务管理器(应用程序)控制涉及多个资源的事务。这些资源通常是DBMS,但可以是任何类型的资源
          • Savepoints 支持执行
            • SAVEPOINT identifier
              • SAVEPOINT允许你在事务中创建一个保存点,一个事务中可以有多个SAVEPOINT
            • ROLLBACK [WORK] TO [SAVEPOINT] identifier
            • RELEASE SAVEPOINT identifier
        • 注:Support中为DEFAULT的为默认的引擎;
      • 3.引擎介绍
        • ISAM引擎
          • ISAM是一个定义明确且历经时间考验的数据表格管理方法,它在设计之时就考虑到数据库被查询的次数要远大于更新的次数。因此,ISAM执行读取操作的速度很快,而且不占用大量的内存和存储资源。
          • ISAM的主要不足之处在于,它不支持事务处理、不支持外来键、不能够容错、也不支持索引。因为ISAM不支持事务,所以如果你的硬盘崩溃了,那么数据文件就无法恢复了。所以如果你正在把ISAM用在关键任务应用程序里,那就必须经常备份你所有的实时数据,通过其复制特性,MySQL能够支持这样的备份应用程序。
        • MyISAM引擎
          •  
            • MyISAM是MySQL的ISAM扩展格式。除了提供ISAM里所没有的索引(ISAM允许没有任何索引和主键的表存在,索引都是保存行的地址)和字段管理的大量功能,MyISAM还使用一种表格锁定的机制(表级锁),来优化多个并发的读写操作,其代价是你需要经常运行OPTIMIZE TABLE命令,来恢复被更新机制所浪费的空间,否则碎片也会随之增加,最终影响数据访问性能。
            • MYISAM强调了快速读取操作,这可能就是为什么MySQL受到了WEB开发如此青睐的主要原因:在WEB开发中你所进行的大量数据操作都是读取操作。所以,大多数虚拟主机提供商和INTERNET平台提供商只允许使用MYISAM格式。
        • Heap引擎
          • Heap存储引擎就是将数据存储在内存中,由于没有磁盘I./O的等待,所以使用该种引擎的表拥有极高的插入、更新和查询效率。这种存储引擎默认使用哈希(HASH)索引,其速度比使用B-+Tree型要快,但也可以使用B树型索引。由于这种存储引擎所存储的数据保存在内存中,所以其保存的数据具有不稳定性,比如如果mysqld进程发生异常、重启或计算机关机等等都会造成这些数据的消失,所以这种存储引擎中的表的生命周期很短,一般只使用一次。
        • InnoDB引擎
          • InnoDB数据库引擎是造就Mysql灵活性的技术的直接产品,这项技术就是mysql+api,在使用mysql的时候,你所面对的每一个挑战几乎都源于isam和myisam数据库引擎不支持事务处理也不支持外来键。
          • InnoDB的特点
          • InnoDB要比isam和myisam引擎慢
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值