忘记密码时怎么操作?
跳过授权表跳过远程登录
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';