mysql系列01

mysql 用户 相关 操作

mysql创建用户和授权

1.创建用户:

(注意:下面的指令,请在root用户下输入)

CREATE USER "用户名" IDENTIFIED BY "密码";

如果要限制地址登录:
例如只允许本地的用户登录@localhost

CREATE USER 用户名@地址 IDENTIFIED BY '密码';

当mysql创建完用户之后,需要对该用户进行授权。授权之后,改用户才能有执行命令的权利!


2.授权

GRANT ALL PRIVILEGES 
ON 数据库.* 
TO '用户名'@'登录主机' 
IDENTIFIED BY "密码";
  • grant select,insert,update,delete on . to test1@”%” Identified by “abc”;
  • 格式:grant select on 数据库.* to 用户名@登录主机 identified by “密码”
  • 如果想授权用户可以操作所有的数据:.(数据库写为:*)
  • 如果不限制登录主机:’用户名’@’%’(登录主机写为:%)

    FLUSH PRIVILEGES;

3.

数据库: 物理操作系统文件或者其他形式文件类型的集合 NDB引擎的时候,可能是存放在内存之中的文件

实例: 由后台线程以及一个共享内存区组成

mysql 是单进程多线程架构的数据库

实例在系统上的表现就是一个进程

读取配置文件的顺序

1
2
3
4
/etc/my.cnf
/etc/mysql/my.cnf
/usr/local/mysql/etc/my.cnf
~/.my.cnf

读取到的最后一个配置文件中的参数为准

也就是说会覆盖

数据库所在的路径 默认为 /usr/local/mysql/data

实际上 是一个 链接 指向的是 /opt/mysql_data 目录

实际上很多会问一下 myisam innodb 引擎的对比

innodb 特点

支持行锁、支持mvcc 支持外键 提供一致性非锁定读

5.5.8版本开始为默认引擎

表示目前是最优选择 各个引擎各有优点

innodb 是多线程的模型 后台有多个不同的后台线程 复杂处理不同的任务

master thread 是一个非常核心的后台线程 主要负责将缓存池里的数据异步刷新到磁盘,保证数据的一致性。包括脏页的刷新、合并插入缓冲、undo页的回收等

io thread 大量使用async io来处理io请求 这样可以极大提高数据库的性能

purge thread 主要用来回收已经使用并分配的undo页

page cleaner thread 将脏页的刷新操作都放入到单独的线程来完成