#mysql常用命令
——删除主键,添加新主键【适用于以前主键不是id的场景】
1alter table 表名 change 现在主键名 现在主键名 int(11); 2alter table 表名 drop primary key; 3alter table 表名 add COLUMN 新主键名 INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY first;
###——创建库
CREATE DATABASE 库名 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
###——删除表,创建新表
1DROP TABLE IF EXISTS `supplier`; 2CREATE TABLE `supplier` ( 3`id` bigint(20) NOT NULL AUTO_INCREMENT, 4`supplier_type` tinyint(2) NOT NULL DEFAULT '0' COMMENT '供货商品类', 5`supplier_name` varchar(255) NOT NULL COMMENT '供货商名称', 6`supplier_introduce` varchar(255) NOT NULL COMMENT '供应商介绍', 7`remark` varchar(255) NOT NULL, 8`supplier_emails` varchar(255) NOT NULL DEFAULT '' COMMENT '供货商邮箱地址', 9`removed` tinyint(2) NOT NULL DEFAULT '1' COMMENT '供应商是否下线,0是offline,1是online', 10`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', 11`updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', 12PRIMARY KEY (`id`) 13) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 comment='供应商信息表';
###——增加索引
alter table 表名 add index idx_索引名 using btree(表名(32)), lock=none;//不锁表
###——表添加列
Alter table `库名`.`表名` add column `新建的列名` varchar(100) NULL COMMENT '注释' after/before 某一列名;
###——赋予权限
1一般线上机器只需要 2grant SELECT, INSERT, UPDATE ON `库名`.* TO '用户名'@'%' IDENTIFIED BY '密码'; 3只读账号 4grant select on `库名`.* to '用户名'@"192.168.%.%" Identified by '密码';
###——回收权限
revoke select on 库名.表名 from '用户名'@"%";
###——查询用户
select host,user from mysql.user;
###——查询用户权限
1show grants for 用户名;//不写地址默认是% 2show grants for 用户名@'192.168.%.%';
###——更改密码
update mysql.user set password=password("新密码") where user="用户名" and host="192.168.%.%";
###——最大连接数配置
1set global max_connections = 65536; 2show variables like '%conn%';
###——readonly配置
1stop slave; 2set global read_only=1; 3show global variables like "%read_only%"; 4start slave;
###——删除多少天前的数据
delete from `send_record` where datediff(curdate(), `created_at`)>=15;
###——