mysql 存储引擎

存储引擎

  • MyISAM:不支持事务,不支持外键,表级锁,但是访问速度快;

  • InnoDB:支持事务,外键,行级锁,效率更低;

  • Memory:使用内存在创建表,默认hash索引,服务器关闭,表中数据丢失,表的结构还在;

    show engines;
    alter table table_name engine = '存储引擎';
    

视图

  • 视图是一个虚拟表,数据来自于真实表,只有数据结构文件;

  • 视图和表数据共享;

  • 视图中可以再次创建视图;

    -- 创建视图
    create view 视图名 as select 语句;
    -- 更改视图,重建;
    alter view 视图名 as select 语句;
    -- 查看视图创建语句;
    show create view 视图名;
    drop view 视图1,视图2;
    

mysql 管理

  • mysql 中的用户,都存储在系统数据库mysql中的user表中;

  • user中的字段:

    • host:允许登录的ip地址,如果没有指定,则为%则标识所有ip都能连接;

    • user:用户名;

    • authentication_string:密码,通过mysql的password()加密后的密码;

    • 删除用户的时候,如果host不为%,必须明确指定:'用户名' @ '允许登录位置'

      -- 创建用户,并指定密码;
      -- 用户的完整信息:'用户名' @ '允许登录位置'
      create user '用户名' @ '允许登录位置' identified by '密码';
      -- 删除用户
      drop user '用户名' @ '允许登录地址';
      
      set password = password('密码');
      set password for '用户名' @ '允许登录位置' =password('密码');
      

mysql 管理权限

-- 给用户授予权限
grant '权限列表' on 库.d对象 to '用户名' @ '允许登录位置' [identified by '密码'];
-- *.*:所有数据库的所有对象;
-- 库.*:库中的所有数据对象;
-- identified by可省略;
-- 如用户存在,就是修改密码;
-- 如不存在,就是创建用户。
-- 回收权限:
revoke '权限列表' on 库.d对象 from '用户名' @ '允许登录位置';
-- 刷新;
flush privileges;
posted @ 2025-03-06 12:20  烟雨断桥  阅读(8)  评论(0)    收藏  举报