mysql的逻辑结构
1.库
库名
库属性
2.表
表名
表属性
列:列明,列属性
数据行
表的物理存储结构
存储引擎
mylsam :frm 存储列的相关信息
myd 存储数据行
myi 存储索引
INNODB
_ZONE.FRM:存储列的相关信息
_ZONE.IDB :数据行+索引
InnoDB表底层存储结构引入(扩展)*****
段 : 一个表就是一个的段(非分区表)
区 : 固定大小1M, 连续的64个页
页 : 最小的IO单元,默认16K
mysql的基础管理
1.>用户的作用
管理mysql的逻辑对象
2.>用户的定义
白名单:可被允许的主机
用户定义的几种方式
oldboy@'10.0.0.1'
oldboy@'10.0.0.%'
oldboy@'localhost'
oldboy@'10.0.0.254/255.255.254.0'
oldboy@'主机名'
oldboy@'域名'
用户的管理操作
创建库create
create database 库名 charset utf8mb4 ;
删除drop
drop database 库名;
查询 select
select 表名 from 库名;
修改 alter
alter user 用户名@'10.0.0.%' identified by '123';
注:8.0以前以上命令可以忽略,grant可以自动创建用户并授权 ,8.0以后必须先创建用户后授权,grant只能做授权功能
权限管理
权限范围
*.* 全库级别(一般管理员)
wordpress.* 单库级别(一般是应用或者开发用户)
wordpress.ti 单表级别
超级管理员:在all的基础上+with grant option
权限回收revoke
本地管理员密码忘记解决方法
1.关闭数据库
2.无验证模式启动数据库
mysqld_safe --skip-grant-tables --skip-networking &
mysqld_safe #用于检查mysql
--skip-grant-tables #跳过权限验证
--skip-networking #跳过远程登录
& #后台执行
3.修改密码
alter user root@'localhost' identified by '123456';
4.重启数据库
/etc/init.d/mysqld restart
mysql初始化配置文件的默认读取顺序
/etc/my.cof
/etc/mysql/my.cnf
/usr/local/mysql/etc/my.cnf
*注意:命令行优先级高于配置文件,所以命令指定则失效
mysqld_safe --defaults-file=/opt/oldguo.cnf &
配置文件模板
[mysqld]
user=mysql
server_id=6
port=3306
basedir=/application/mysql
datadir=/data/3306/data
log_error=/data/3306/data/3306.log
socket=/data/3306/mysql.sock
[mysql]
socket=/data/3306/mysql.sock