mysql 运维常用命令收录

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介:

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,如需转载请自行联系原作者

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
打赏
0
0
0
0
235
分享
相关文章
摆脱繁琐命令-让运维更加流畅-阿里云ECS操作系统控制台运维篇
阿里云操作系统控制台提供了便捷的服务器监控与管理功能,简化了运维工作。通过将多台服务器纳入统一监控平台,用户可以快速查看CPU、内存、磁盘和网络等关键资源的使用情况,避免了逐一远程连接查询的繁琐操作。此外,该工具支持自动化数据汇总,极大地方便了日报、周报和月报的编写。测试过程中,系统展示了良好的稳定性和响应速度,尤其在网络抖动和大文件健康状态测试中表现出色。整体体验流畅,显著提升了运维效率。 操作系统控制台地址:[点击访问](https://alinux.console.aliyun.com/)
69 26
摆脱繁琐命令-让运维更加流畅-阿里云ECS操作系统控制台运维篇
|
3月前
|
阿里云服务器批量执行命令(系统运维管理oos)
阿里云【系统运维管理oos】批量执行详情
85 5
MySQL进阶突击系列(01)一条简单SQL搞懂MySQL架构原理 | 含实用命令参数集
本文从MySQL的架构原理出发,详细介绍其SQL查询的全过程,涵盖客户端发起SQL查询、服务端SQL接口、解析器、优化器、存储引擎及日志数据等内容。同时提供了MySQL常用的管理命令参数集,帮助读者深入了解MySQL的技术细节和优化方法。
运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面
本文介绍了运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面,旨在帮助读者提高工作效率。从基本的文件查看与编辑,到高级的网络配置与安全管理,这些命令是运维工作中的必备工具。
430 3
【运维必备知识】Linux系统平均负载与top、uptime命令详解
系统平均负载是衡量Linux服务器性能的关键指标之一。通过使用 `top`和 `uptime`命令,可以实时监控系统的负载情况,帮助运维人员及时发现并解决潜在问题。理解这些工具的输出和意义是确保系统稳定运行的基础。希望本文对Linux系统平均负载及相关命令的详细解析能帮助您更好地进行系统运维和性能优化。
228 3
运维|MySQL 数据库被黑,心力交瘁
前一阵有一个测试用的 MySQL 数据库被黑了,删库勒索的那种,这里记录一下事情经过,给自己也敲个警钟。
88 2
MySQL 运维 SQL 备忘
MySQL 运维 SQL 备忘录
80 1
Mysql 常用命令
Mysql 常用命令
56 0
Tengine、Nginx安装MySQL数据库命令教程
本指南详细介绍了在Linux系统上安装与配置MySQL数据库的步骤。首先通过下载并安装MySQL社区版本,接着启动MySQL服务,使用`systemctl start mysqld.service`命令。若启动失败,可尝试使用`sudo /etc/init.d/mysqld start`。利用`systemctl status mysqld.service`检查MySQL的服务状态,确保其处于运行中。通过日志文件获取初始密码,使用该密码登录数据库,并按要求更改初始密码以增强安全性。随后创建一个名为`tengine`的数据库,最后验证数据库创建是否成功以及完成整个设置流程。
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等