2020-02-24 数据库的用户和权限

忘记密码时怎么操作?

跳过授权表跳过远程登录

mysqld_safe --skip-grant-tables --skip-networking &

设置密码

mysqladmin -uroot -p password 123

登录数据库

mysql -uroot -p123

开启服务器常用的两个命令

/sangzheng/mysql/support-files/msyql.server start

etc/init.d/mysqld  msyql.server start

systemctl  start/stop/restart/status  mysqld

SQL语句引入

结构化的查询语言

DQL  数据查询语言

DDL  数据定义语言

DML 数据操作语言

DCL  数据控制语言

展示进程列表

show processlist;

创建数据库

create database wordpress charset utf8mb4;

使用数据库

use wordpress;

mysql 的存储结构

库  使用FS上的目录表示

表:

MyISAM(ext2)

user.frm : 存储的表结构(列,列属性)

user.MYD : 存储的数据记录

user.MYI :存储索引

innodb(xfs) :存储的表结构(列,列属性)

time_zone.frm :存储的数据记录 存储索引

ibdata1 :数据字典信息

表的段、区、页(16k)(了解)

页:最小的存储单元,默认16k

区:64个连续的页,共1M

段:一个表就是一个段,包含一个或多个区

2020 2 24

用户的权限管理

作用

登录MySQL

管理MySQL

用户的定义

用户名@'白名单'

白名单支持的方式?

wordpress@'10.0.0.%'   

wordpress@'%'

wordpress@'10.0.0.200'

wordpress@'localhost'

wordpress@'db02'

wordpress@'10.0.0.5%'

wordpress@'10.0.0.0/255.255.254.0'

创建用户

create user oldboy@'10.20.52.%' identified by '123';

select user ,host ,authentication_string from mysql.user

增:

mysql> create user oldboy@'10.0.0.%' identified by '123';

查:

mysql> desc mysql.user;    ---->  authentication_string

mysql> select user ,host ,authentication_string from mysql.user

改:

mysql> alter user oldboy@'10.0.0.%' identified by '456';

删:

mysql> drop user oldboy@'10.0.0.%';

8.0以前,可以自动创建用户并授权

grant all on wordpress.* to wordpress@'10.0.0.%' identified  by '123';

权限管理

ALL:

SELECT,INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, CREATE TABLESPACE

ALL : 以上所有权限,一般是普通管理员拥有的

with grant option:超级管理员才具备的,给别的用户授权的功能

授权命令

mysql> grant all on *.* to root@'10.0.0.%' identified by '123';

grant 权限 on 作用目标 to 用户 identified by 密码

查看权限

mysql> show grants for app@'10.0.0.%';

回收权限

revoke  delete on app.*  from app@'10.0.0.%';

本地管理员用户密码忘记.

[root@db01 ~]# mysqld_safe --skip-grant-tables --skip-networking &

mysql> flush privileges;

mysql>  alter user root@'localhost' identified by '123456';

[root@db01 ~]# pkill mysqld

[root@db01 ~]# systemctl start  mysqld

数据库的启动方式

需要维护的时候用

msyqld_safe &

mysqladmin -uroot -p123 shutdown

初始化配置文件的默认读取路径

[root@db01 ~]# mysqld --help --verbose |grep my.cnf

/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf

注:

默认情况下,MySQL启动时,会依次读取以上配置文件,如果有重复选项,会以最后一个文件设置的为准。

但是,如果启动时加入了--defaults-file=xxxx时,以上的所有文件都不会读取.


展示数据库的端口号 show global variables like 'port';

你可能感兴趣的:(2020-02-24 数据库的用户和权限)