mysql 运维常用命令收录

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

1、数据库的登录与退出

1
2
3
mysql -u root -p  -- 使用root身份登陆当前的数据库
mysql -u root -p -h server0  -- 使用root身份登陆到server0的数据库
quit  --退出数据库

2、数据库

2.1、创建

1
2
create  databse db1;  -- 创建一个数据库
create  database  db1  character  set  utf8;  -- 创建并定义字符集

注:数据库名在linux下大小写敏感(跟系统有关系)

2.2、选中

1
use db1;  -- 选中一张表

2.3、查看

1
2
show databases;  -- 显示数据库
show  create  database  db1  -- 显式数据库创建语句

2.4、删除

1
drop  database  db1;  -- 删除数据库

2.5、数据权限设置

1
2
3
4
5
grant  privileges  on  db1.tablename  to  user1@10.168.0.8 identified  by  "password" -- 按数据库授所有权限
grant  select , insert , update , delete , create  temporary  tables, execute ,show  view  on  `db1`.*  to  'user1' @ '10.168.0.8' -- 按数据库授特定权限
revoke  select , insert , update , delete , create  temporary  tables, execute ,show  view  on  `db1`.*  from  'user1' @ '10.168.0.8' -- 按数据库取消特定权限
drop  user  'user1' @ '10.168.0.8' -- 删除特定的用户
fluse  privileges -- 刷新权限表

2.6、数据库的备份与还原

1
2
3
mysqldump -u username -p  database  > /backup/file.dump  -- 备份数据库
mysqldump -uroot -p  --all-databases | gzip -9 > file.gz -- 备份并压缩数据库
mysqldump -u username -p <./file.dump  -- 还原数据库

2.7 密码变更

方法一

1
2
mysql -uroot -p
set  password  for  root@localhost = password( '123456' );

方法二

1
mysqladmin -uroot -p password  "123456"

方法三

1
2
3
use mysql;
update user  set  password=password( '123456' ) where user= 'root'  and host= 'localhost' ;
flush privileges;

方法四

1
2
3
4
5
6
7
8
service mysqld stop
mysqld_safe --skip-grant-tables &
mysql -u root
use mysql;
update user  set  password=password( '123456' ) where user= 'root'  and host= 'localhost' ;
flush privileges;
quit;
service mysqld restart

3、表

3.1、创建

3.1.1、创建1

1
2
3
4
create  tabale tb1 (
   id  int  not  null ,
   name  varchar (10)
);  -- 创建一张表

3.1.2、创建2

1
2
3
4
create  tabale tb1 (
   id  int  not  null ,
   name  varchar (10)
)engine=MYISAM  default  charset=utf8;  -- 创建一张表

注:表名在linux下大小写敏感(跟系统有关系)

3.2、查看

1
2
3
4
5
6
show tables;  -- 显示当前库中的表
show  create  table  tb1;  --显式创建表的语句
describe tb1;  -- 查看表结构
show  create  table  tb1;  -- 查看见表命令
show  index  from  tb2;  -- 查看表包含的索引
show  table  status  like  '%tb3%' -- 查看当前表的状态

3.3、删除

1
2
drop  table  tb1
drop  table  if exists tab1

3.4、修改

1
alter  table  tb1 engine=myisam;

4、表的列操作

4.1、增加字段

1
alter table Persons add column `City` varchar(255) DEFAULT NULL;

4.2、修改字段

1
alter table Persons modify column `City` varchar(255) DEFAULT NULL comment  '城市' ;

4.3、删除字段

1
alter table `Persons` drop column `City`;

5、表的行操作

5.1、查询

1
2
3
4
select  email  from  user  group  by  email  having  count (email) > 1;  -- 查询重复的列
select  from  user  where  email  in  (
   select  email  from  user  group  by  email  having  count (u_email) > 1
   );  -- 查询重复数据列的行

5.2、插入

5.2.1、单行插入

1
insert  into  tablename  set  column1 = value1 , coumn2 = values2...;

5.2.2、多行插入

1
2
insert  into  tablename (column1,column2...)  values  (value1,value2....);
insert  into  tablename (column1,column2...)  values  (value1,value2....),(value1,value2....)...;

5.2.3、简写

1
insert  into  tablename  values  (value1,value2....);

注:当满足表中所有列都插入数据时才可简写

5.2.4、插入查询结果

1
insert  into  tablename (column1,column2...)  select  (column1,column2...)  from  tablename2 [ where  condition];

简写

1
insert  into  tablename  select  (column1,column2...)  from  tablename2 [ where  condition];

5.3、更新

1
update tablename  set  column1 = valuesl,column2 = values2... [where condition];

注:不写where会修改整张表数据(危险操作)

5.4、删除

1
delete  from  tablename [ where  condition];

注:不写where会清空整张表数据(危险操作)

6、事务

1
2
3
4
begin; -- 开启事务(必选)
-- 这里做引起数据变更的操作(可选)
rollback; -- 回滚事务(可选)
commit; -- 提交事务(必选)

注:数据InnoDB引擎支持表事务性操作

1
2
3
show variables like  '%commit' ; -- 查询事务自动提交设置
set  autocommit=0; -- 自动提交关闭(需要手动键入commit,执行前所有操作当一个事务处理)
set  autocommit=1; -- 自动提交打开(每个操作一个事务)

7、版本信息查看

7.1、登录信息查看

1
mysql -uroot -p

7.2、函数方式查看

1
2
mysql -uroot -p
> select  @@version;

7.3、状态信息查看

1
2
mysql -uroot -p
>status

7.4、命令行方式查看

1
mysql -V

7.5 帮助方式查看

1
mysql --help |  grep  Distrib

7.6、环境变量方式查看

1
show variables like  'version' ;

8、其他查询或命令

1
2
3
4
5
6
7
8
9
show engines;   -- 查看引擎
show variables  like  '%storage_engine%' -- 数据库默认引擎
show  create  table  tabName;  -- 查询某表的引擎
show warnings;  -- 查询警告信息
show variables;  -- 查询变量环境
show variables  like  '%query_cache%' -- 查询基于特定关键字环境变量
show variables  like  "max_connections" -- 查询最大连接数
show processlist;  -- 查询进程列表
kill processID  -- 结束查询的进程

9、QEP

1
explan  select  user,host from user\G

10、MySQLAdmin

1
mysqladmin -u root -p -P 3306  --socket= /tmp/mysql .sock  shutdown

不详尽请参阅:

http://www.w3school.com.cn/sql/index.asp









本文转自 tanzhenchao 51CTO博客,原文链接:http://blog.51cto.com/cmdschool/1697305,如需转载请自行联系原作者

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
3月前
|
存储 关系型数据库 MySQL
初步了解MySQL数据库的基本命令
初步了解MySQL数据库的基本命令
44 0
|
27天前
|
运维 监控 网络协议
|
13天前
|
缓存 运维 监控
【运维必备知识】Linux系统平均负载与top、uptime命令详解
系统平均负载是衡量Linux服务器性能的关键指标之一。通过使用 `top`和 `uptime`命令,可以实时监控系统的负载情况,帮助运维人员及时发现并解决潜在问题。理解这些工具的输出和意义是确保系统稳定运行的基础。希望本文对Linux系统平均负载及相关命令的详细解析能帮助您更好地进行系统运维和性能优化。
35 3
|
27天前
|
运维 关系型数据库 MySQL
运维|MySQL 数据库被黑,心力交瘁
前一阵有一个测试用的 MySQL 数据库被黑了,删库勒索的那种,这里记录一下事情经过,给自己也敲个警钟。
35 2
|
1月前
|
SQL 运维 关系型数据库
MySQL 运维 SQL 备忘
MySQL 运维 SQL 备忘录
47 1
|
1月前
|
tengine 关系型数据库 MySQL
Tengine、Nginx安装MySQL数据库命令教程
本指南详细介绍了在Linux系统上安装与配置MySQL数据库的步骤。首先通过下载并安装MySQL社区版本,接着启动MySQL服务,使用`systemctl start mysqld.service`命令。若启动失败,可尝试使用`sudo /etc/init.d/mysqld start`。利用`systemctl status mysqld.service`检查MySQL的服务状态,确保其处于运行中。通过日志文件获取初始密码,使用该密码登录数据库,并按要求更改初始密码以增强安全性。随后创建一个名为`tengine`的数据库,最后验证数据库创建是否成功以及完成整个设置流程。
|
2月前
|
存储 关系型数据库 MySQL
MySQL基础命令及使用示例
这些基础命令构成了与MySQL数据库交互的核心,理解并掌握它们对于进行有效的数据库操作至关重要。在实际使用中,建议结合实际案例和需求来练习这些命令,以加深理解和提高效率。
31 3
|
2月前
|
存储 关系型数据库 MySQL
MySQL基础命令及使用示例
这些基础命令构成了与MySQL数据库交互的核心,理解并掌握它们对于进行有效的数据库操作至关重要。在实际使用中,建议结合实际案例和需求来练习这些命令,以加深理解和提高效率。
67 4
|
1月前
|
关系型数据库 MySQL 数据库
Mysql 常用命令
Mysql 常用命令
23 0
|
3月前
|
图形学 开发者 存储
超越基础教程:深度拆解Unity地形编辑器的每一个隐藏角落,让你的游戏世界既浩瀚无垠又细节满满——从新手到高手的全面技巧升级秘籍
【8月更文挑战第31天】Unity地形编辑器是游戏开发中的重要工具,可快速创建复杂多变的游戏环境。本文通过比较不同地形编辑技术,详细介绍如何利用其功能构建广阔且精细的游戏世界,并提供具体示例代码,展示从基础地形绘制到植被与纹理添加的全过程。通过学习这些技巧,开发者能显著提升游戏画面质量和玩家体验。
153 3