MySQL之 锁,存储引擎,和MySQL用户账户管理

  • 1.锁

    1.目的:解决客户端并发访问的冲突问题
    2.锁的分类
        1.锁的类型
            1.读锁(共享锁)
                查询(select):加读锁之后,别人不能更改表记录,但是可以进行查询
            2.写锁(互斥锁,排他锁)
                更新(update):加写锁之后,别人不能查,不能改
        2.锁粒度
            1.行级锁:  Innodb
                select :加读锁,锁1行
                update :加写锁,锁1行
            2.表级锁:MyISAM
                select 加读锁,锁1张表   只能查不能写
                update 加写锁,锁1张表   不能写不能查

  • 2.存储引擎(engin : 处理表的处理器)

    1.查看所有的存储引擎
        show engines;
    2.查看已有表的存储引擎
        show create table 表名;
    3.创建表指定存储引擎
        create table 表名(...)engine = myisam,charset=utf8;
    4.已有表
        alter table 表名 engine=myisam;
    常用存储引擎的特点
        1.InnoDB特点
            1.支持事务,外键,行级锁
            2.共享表空间
                表名.frm:表结构和索引文件
                表名.ibd:所有的表记录
        2.MyISAM特点
            1.支持表级锁
            2.独享表空间
            表名.frm:表结构
            表名.MYD:表记录    mydata
            表名.MYI:索引信息  myindex
        3.Momory存储引擎
            1.数据存储在内存里,速度快
            2.服务器重启,mysql服务重启后表记录消失
    如何决定使用哪个存储引擎
        1.执行查询操作多的表使用MyISAM(使用InnoDB浪费资源)
        2.执行写操作多的表使用InnoDB

        

  • 3.MySQL用户账户管理

    1.开启MySQL远程连接
        1.sudo -i
        2.cd /etc/mysql/mysql.conf.d/
        3.cp mysqld.cnf mysqld.cnf.bak2
        4.vi mysqld.cnf
            #bind-address=127.0.0.1
        5./etc/init.d/mysql restart

    2.用root用户添加授权用户
        1.用root用户登录mysql
            mysql -uroot -p123456
        2.授权
            grant 权限列表 on 库名.表名 
            to '用户名'@'%'identified by'密码'
            with grant option;
            权限列表:all privileges,select,update
            库名.表名:db4.*,*.*(所有库的所有表)
        3.例子
            1.添加授权用户tiger,密码123,对所有库的所有表有所有的权限,可从任何ip去连接

                    grant all privileges on *.*
                    to 'tiger'@'%'
                    identified by '123'
                    with grant option;
            2.添加授权用户rabbit,密码123,对db4库所有表只有查询权限,可从任何ip去连接
                grant select on db4.*
                to 'rabblt'@'%'
                identified by '123'
                with grant option;

猜你喜欢

转载自blog.csdn.net/zhangshuaijun123/article/details/82352116