mysql常用命令

//创建用户
CREATE USER 'wt'@'localhost' IDENTIFIED BY '123456'


//授权DB权限,注意是 db.* 此语句可直接创建新用户
GRANT ALL PRIVILEGES ON db.* TO 'wt'@'localhost' IDENTIFIED BY '123456';


//授权全局权限,注意是 *.* 此语句可直接创建新用户
GRANT CREATE TABLESPACE,CREATE USER,FILE,PROCESS,RELOAD,REPLICATION CLIENT,REPLICATION SLAVE,SHOW DATABASES,SHUTDOWN,SUPER ON *.* TO 'wt'@'localhost' IDENTIFIED BY '123456';


//禁用删除权限
REVOKE DELETE,DROP ON db.* FROM 'wt'@'localhost';


//对于正常的grant/revoke/create user等操作,内存和磁盘中存储的权限都是同步更新的,所以正常的grant/revoke操作后是不需要flush privileges的
当我们直接用DML语句修改系统权限表(mysql.user、mysql.db、mysql.tables_priv、mysql.columns_priv)时,内存中的权限数组是不会同步更新的,此时我们就需要flush privileges来更新内存权限数据了

FLUSH PRIVILEGES;

//授权语句最后可以跟 WITH GRANT OPTION 这个选项表示该用户可以将自己拥有的权限授权给别人

GRANT ALL PRIVILEGES ON db.* TO 'wt'@'localhost' IDENTIFIED BY '123456' WITH GRANT OPTION ;

//查看权限
SHOW GRANTS FOR 'root'@'localhost';


//查看自己的权限
SHOW GRANTS

//导出数据库中的数据到磁盘文件
SELECT * FROM test INTO OUTFILE 'd:/dingding2.txt' 
FIELDS TERMINATED BY ',' 
OPTIONALLY ENCLOSED BY '"' 
LINES TERMINATED BY '\n'


//将磁盘文件导入到数据库中,local指客户端读取文件上传给服务器,如果不写则由服务器直接读取文件,此时文件必须在服务器主机上
LOAD DATA LOCAL INFILE 'data.txt' INTO TABLE tbl_name 
FIELDS TERMINATED BY ',' 
OPTIONALLY ENCLOSED BY '"' 
LINES TERMINATED BY '\n'

//查看用户线程

SHOW PROCESSLIST

//查看数据库引擎

SHOW ENGINES

//查看数据库版本

SELECT VERSION()

//查看安装路径

SHOW VARIABLES LIKE "%char%"

//concat练习
SELECT CONCAT(HOST,USER,PASSWORD) AS info FROM mysql.`user`
SELECT CONCAT_WS('---',HOST,USER,PASSWORD) AS info FROM mysql.`user`
SELECT NAME,MIN(id) FROM mysql.`abc` GROUP BY NAME
SELECT NAME,id FROM mysql.`abc` ORDER BY NAME
SELECT NAME,GROUP_CONCAT(id) AS ids FROM mysql.`abc` GROUP BY NAME
SELECT NAME,GROUP_CONCAT(id ORDER BY id DESC SEPARATOR '-') AS ids FROM mysql.`abc` GROUP BY NAME
SELECT NAME,GROUP_CONCAT(CONCAT_WS('-',id,age) ORDER BY id DESC) AS ids FROM mysql.`abc` GROUP BY NAME

//查看binlog日志是否开启
SHOW VARIABLES LIKE 'log_%';

//主从复制的原理
①当Master节点进行insert、update、delete操作时,会按顺序写入到binlog中。
②salve从库连接master主库,Master有多少个slave就会创建多少个binlog dump线程。
③当Master节点的binlog发生变化时,binlog dump 线程会通知所有的salve节点,并将相应的binlog内容推送给slave节点。
④I/O线程接收到 binlog 内容后,将内容写入到本地的 relay-log。
⑤SQL线程读取I/O线程写入的relay-log,并且根据 relay-log 的内容对从数据库做对应的操作。

//查看列
SHOW COLUMNS FROM `mysql`.`user`

//创建数据库
CREATE DATABASE 数据库名;
//删除数据库
drop database <数据库名>;
//删除表
DROP TABLE table_name;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值