mysql前半段总结

初始化总结

## 5.6
/app/mysql/scripts/mysql_install_db --user=mysql --basedir=/app/mysql-5.6.50 --datadir=/app/mysql-5.6.50/data

## 5.7
/app/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/app/mysql --datadir=/app/mysql/data   #不带初始化密码

/app/mysql/bin/mysqld --initialize --user=mysql --basedir=/app/mysql --datadir=/app/mysql/data   #带初始化密码

选项

### 外
-u:指定用户
-p:指定密码
-h:指定主机
-S:指定socket
-P:指定端口
-e:免交互指定MySQL的SQL语句

strings

### 内
? 查看帮助
\q : quit exit 退出mysql终端 MySQL5.6 Ctrl + c
\c : 终止命令 MySQL5.7 Ctrl + c
\s :  查看MySQL状态
\G : 格式化输出
\. :  source 导入数据
\! : system 后面接系统命令

my.cnf 配置文件

/etc/my.cnf
/etc/mysql/my.cnf
$besedir/my.cnf
mysqld_safe --defaults-extra-file=/opt/my.cnf
~/.my.cnf

[mysqld]
basedir=/app/mysql
datadir=/app/mysql/data
server_id=1
log-bin=mysql-bin
socket=/opt/mysql.sock
# 指定字符集
character_set_server=utf8
# MySQL的内存要占物理机内存的75%~80%
innodb_buffer_pool_size=134217728
# 指定存储引擎
default-storage-engine=innodab

[mysql]
user=root
password=123
prompt="\\u@\\h:\\d \\r:\\m:\\s>"

类型

###### 数字
int        整形
bigint     超大整形
tinyint    小整形 -128-127
float       浮点型 小数点后6位
double      浮点型 小数点后15位

##### 字符串
char       定义字符串
varchar    可变长字符串
enmu       枚举类型

#### 时间类型
timestamp 
datatime

约束

NULL      				空
not null  				非空
default   				默认
primary key  			主键
auto_increment 		 	自增
unique key 				唯一键
unsigned   				无符号
comment 				注释

函数

password()   # 密码加密
now()        # 现在时间
distinct()   #去重
max()      -- 最大
min()      -- 最小
avg()      -- 平均
sum()      -- 求和
count()    -- 统计

like      ----- 模糊匹配
not like  ----- 排除模糊匹配
union all ----- 对两个结果集进行并集操作,包括重复行,不进行排序
union     ----- 对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序;

命令

### DDL :create  alter  drop
### DML :desc insert delete upadate
### DCL :grant  revoke
### DQL :show select


# 重新加载授权表
flush privileges

# 分析语句
desc / explain


# 创建一个用户/表/库
create user/table/database  *

# 创建一个用户 并授权
grant all on *.* to root@'%' identified by '123';

# 设置一个表 重命名/添加(字段,索引)/重新设置一个字段/重新设置一个字段并重命名
alter table	表  rename/add/modify/change   ****
alter database 库 charset utf8 collate utf8_bin;

# 修改一个表中字段的数据
update 表 set  aaa=1 where aaa=6;

# 删除一个表中符合判断的数据
delete from 表 where aaa=1 and bbb=2;

#查询  natural join(自连接)/* join *  on * join * (内连接)/(left join) (right join)
select  *  from 
	
# 查看表属性
desc  表

# 插入数据
insert into 表() values()

# 删除
drop
truncate
### show
show databases;
show tables;
show tables from zls;
show create database zls;
show create table zls.stu30;
# 查询用户
show grants for test111@'%';
# 查询内置变量
show variables like '%char%';
# 查询存储引擎
show engines;
# 查询MySQL支持的字符集
show charset;
# 查询MySQL支持的校验规则
show collation;
# 查询 MySQL后台的语句
show processlist;
show full processlist;
pt-query-digest --user=anemometer --password=123   --review h=127.0.0.1,D=slow_query_log,t=global_query_review --history h=127.0.0.1,D=slow_query_log,t=global_query_review_history --filter=" \$event->{Bytes} = length(\$event->{arg}) and \$event->{hostname}=\"$HOSTNAME\"" --no-report --limit=0% /app/mysql/data/slow.log