MySQL相关命令

MySQL创建用户

MySQL数据库中root用户本身就存在就不需要创建,所有对于root只需要修改密码授权这些操作
创建其他用户

CREATE USER '用户名'@'主机' IDENTIFIED BY '密码';
#主机选项有localhost,IP地址、网段、域名、%所有远程连接
#

MySQL修改用户密码

set password for 用户名@'主机' = password('密码');

修改用户名

rename user '用户名'@'主机' to '新用户名'@'主机';

MySQL创建库

示例一
create database 库名 charset=字符集;
#charset=字符集  //创建时指定字符集
示例二
create database 库名
#如果不指定就是默认字符集

MySQL修改库的字符集

alter database 库名 character set 字符集;

查看MySQL库的字符集

show create database 库名;

查看MySQL本身相关所有的默认字符集

show variables like 'char%';

#character_set_client:客户端请求数据的字符集
#character_set_connection:客户机与服务器连接的字符集
#character_set_database:默认数据库的字符集
#character_set_filesystem:默认为binary, 不做任何转换
#character_set_results:返回给客户端的字符集
#character_set_server:数据库服务器的默认字符集
#character_set_system:系统字符集,默认utf8
#character_sets_dir:mysql字符集文件的保存路径

在这里插入图片描述

修改MySQL本身相关的默认字符集

示例
set character_set_results=字符集;

MySQL用户授权

给root用户授所有权,包括远程连接

grant all privileges on 库.表 to '用户'@'主机' identified by '密码' with grant option;
#这条命令代表的是允许授予root用户所有权限包括远程连接
#grant  //授予
#all privileges //所有权
#on 库.表  //在 *.*   '*'号代表所有
#to //给 
#'root'@'%'  //'用户名'@'主机'   这里的主机可以是localhost,IP地址,域名,网段,%代表所有都可以,也代表可远程连接
#identified by '密码'  //识别后边跟密码
#with grant option  //权限传递 就是可以给别的用户授权

给其他用户授权,包括远程连接

#这里注意给其他用户授权权限控制要精准,不能让其他用户访问所有库
示例一
grant create,select,insert,delete,update,alter,drop on 库.表 to 用户名@'主机';
示例二
GRANT ALL PRIVILEGES ON 库.表 TO '用户@'主机';

#grant  //授予
#create,select,insert,delete,update,alter,drop //代表需要授予的什么权限以''号分割开
#on 库.表  //在 bn_coresys.*   '*'号代表所有,这里是指bn_coresys库下的所有表
#to //给 
#对于其他用户的授权需要精准,所有这里我们就不授予all privileges所有权,后面跟的是具体的权限
#因为我们授权的其他用户是已经存在的用户在授权时identified by '密码',可跟可不跟
#with grant option,这里我们是不需要给其他用户授权的,所有不加这个

刷新权限

flush privileges;
#在授权完成后要执行此命令刷新一下权限

查看授予用户授予的权限

示例一
show grants for '用户'@'主机';  //查看简要授权内容
示例二
select * from mysql.user\G   //查看所有用户详细授权内容
示例三
SELECT * FROM mysql.user WHERE user='用户名'\G   //查看某个用户授权详解内容

查看所有用户可在哪些主机登录MySQL

use mysql;
select user,host from user;

回收用户的授权

示例一
revoke select on to 库.from "用户名"@"主机";
示例二
revoke all on 库.from "用户名"@"密码";

删除授权用户

drop user "用户"@"主机";                      // 删除方法1
delete from mysql.user where user="用户名";    //删除方法2

相关链接

http://c.biancheng.net/view/7490.html     //创建用户 

http://c.biancheng.net/view/2615.html     //用户授权

https://www.php.cn/mysql-tutorials-441823.html   //添加删除用户授权

https://blog.csdn.net/qq_36564503/article/details/123085831  //用户管理

https://blog.csdn.net/weixin_42109012/article/details/102684153  //查看用户权限及权限管理

MySQL数据备份和数据导入

数据备份

mysqldump -u 用户名 -p 库名 > 库名.sql
#这是备份某个库的也称为全量备份

数据导入

#在导入前要现创建一个空库,注意创建库的字符集要和备份数据的库的字符集一样
mysql -u 用户名 -p 库名 < 库名.sql

查询某个库中某个表里面有多少条数据
在mysql中,可以使用“select”语句和count()函数来统计表中有多少条数据,该函数可以统计数据表中包含的记录行的总数,语法“select count (*) from 数据表名;”。

#查询intelligent_gas库中dm_dev610_node_analog_value表中有多少条数据
mysql> SELECT COUNT(*) FROM intelligent_gas.dm_dev610_node_analog_value;
+----------+
| COUNT(*) |
+----------+
|  1278598 |
+----------+
1 row in set (6.38 sec)

删除一个库中某个表中从某个时间到某个时间的数据
按时间段进行删除操作,sql如下:
使用BETWEEN关键字根据时间字段删除一定时间内的记录
DELETE FROM 表名 WHERE 时间字段 BETWEEN 开始时间 AND 结束时间

#示例
DELETE FROM 库名.表名 WHERE create_time BETWEEN '2021-07-01 00:00:00' AND '2021-07-01 23:59:59'

mysql> DELETE FROM intelligent_gas.dm_dev610_node_analog_value WHERE create_time BETWEEN '2021-07-01 00:00:00' AND '2021-07-01 23:59:59'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lxiaoyouyouj

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值