安装部署MySQL

装包配置启服务
mysql主要参数

描述
/etc/myfMySQL主配置文件
/var/lib/mysql数据库目录
3306默认端口号
mysqldMySQL主进程名称
TCP传输协议
mysql:mysql进程所有者与所属组
/var/log/mysqld.log错误日志文件

配置管理员密码
第一次启动,日志查看随机密码
# grep password /var/log/mysqld.log
修改密码
alter user root@“localhost” identified by “********”;
修改密码策略
1.临时修改
mysql> set global validate_password_policy=0;//只验证长度
mysql> set global validate_password_length=6;//长度6个字符,默认是8个
2.永久修改
vim /etc/myf 修改配置文件
[mysqld]
validate_password_policy=0
validate_password_length=6

数据库管理基本操作
select user(); //显示连接用户
select database(); //显示当前所在库
drop database 库名 ; //删除数据库

表记录管理
增 insert into 库名.表名 values(值列表)
删 delete from 库名.表名
改 update 库名.表名 set 字段=值
查 select * from 库名.表名

修改表结构

addalter table 库名.表名 add 字段名 类型(长度) 约束条件 [after 字段名 or first]
modifyalter table 库名.表名 modify 字段名 类型 约束条件
changealter table 库名.表名 change 原字段 新字段 类型 约束条件
dropalter table 库名.表名 drop 字段名
renamealter table 表名 rename 表名

主键与外键
新增主键: alter table 表名 add primary key(字段名);
删除主键: alter table 表名 drop primary key
创建外键: create table 表名(字段名列表 foreign key (字段名) reference 表名(字段名) on update cascade on delete cascade) engine=innodb;
删除外键: alter table 表名 drop foreign key 外键名;

数据导入导出
查看搜索路径 show variables like “secure_file_priv”
mkdir /myload
chown mysql /myload
vim /etc/myf
[mysqld]
secure_file_priv="/myload"
导入: load data infile “目录名/文件名” into table 库名.表名 fields terminated by “分隔符” lines terminated by “\n” ;
导出 (只有表记录,无字段名,自动创建文件,该文件具有唯一性)
1.select命令 into outfile “目录名/文件名”;
2.select命令 into outfile “目录名/文件名” fields terminated by “分隔符”;
3.select命令 into outfile “目录名/文件名” fields terminated by “分隔符” lines terminated by “\n”;

高级匹配
模糊查询 where 字段名 like “通配符”
_ 表示一个字符 % 表示0~n个字符
正则表达式 where 字段名 regexp “正则表达式”
^ $ . [ ] * |

聚集函数
avg(字段名) 统计字段平均值
sum(字段名) 统计字段求和
min(字段名) 统计字段最小值
max(字段名) 统计字段最大值
count(字段名) 统计字段值个数

排序 select name from 库名.表名 order by 字段名 asc|desc
分组 SQL查询 group by 字段名
过滤 SQL查询 having 表达式
限制条数 SQL查询 limit 数字1,数字2

grant授权
grant 权限列表 on 库名 to 用户名@“客户端地址” identified by 密码 with grant option;
all 所有权限 usage 无权限 . 所有库的所有表
相关命令
select user(); 显示用户名
show grants; 显示自身权限
show grants for 用户名@“地址” 管理员查看已有授权用户权限
set password = password(“密码”) 授权用户连接后修改密码
set password for 用户名@“地址” = password(“密码”) 管理员重置授权用户连接密码
drop user 用户名@“地址” 删除授权用户
授权库
user表 记录用户
db表 记录数据库
table_priv表 记录表信息
columns_priv表 字段
撤销权限
revoke 权限列表 on 库名.表名 from 用户名@“地址”

更多推荐

新手入门-MySql数据库基础命令