mysql 运维常用命令收录

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
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,如需转载请自行联系原作者

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
4天前
|
监控 关系型数据库 MySQL
Linux MySQL相关启动命令
【4月更文挑战第22天】
|
4天前
|
运维 网络协议 Linux
【专栏】 20 个 Linux 命令,运维工程师工作时最常用的
【4月更文挑战第28天】本文介绍了运维工程师常用的20个Linux命令,包括`ls`、`cd`、`pwd`、`mkdir`、`rm`、`cp`、`mv`、`cat`、`more`、`less`、`head`、`tail`、`grep`、`find`、`chmod`、`chown`、`chgrp`、`ps`、`top`和`ifconfig`,帮助提升工作效率。此外,还提到了其他常用的命令如`df`、`free`、`tar`、`ssh`、`scp`、`ping`、`netstat`、`iptables`、`systemctl`、`hostname`等,建议运维人员掌握以应对各种运维场景。
|
4天前
|
SQL 关系型数据库 MySQL
mysql命令语句大全
mysql命令语句大全
9 0
|
4天前
|
关系型数据库 MySQL 数据库
MySQL集群 双主架构(配置命令)
MySQL集群 双主架构(配置命令)
|
4天前
|
SQL 运维 关系型数据库
MySQL 运维篇
该文本涵盖了数据库管理的关键方面,包括DDL(CREATE, DROP, ALTER等)用于定义数据库结构,DML(INSERT, DELETE, UPDATE, SELECT)用于数据操作,DCL(GRANT, REVOKE, COMMIT, ROLLBACK)涉及权限管理和事务控制,以及DQL用于数据查询。还介绍了MySQL的安装过程,包括源码编译和二进制安装方法,以及启动服务、设置初始密码和修改用户密码的步骤。
20 1
|
4天前
|
Oracle 关系型数据库 MySQL
mysql相关命令
使用`mysql -u [username] -p`登录MySQL,例如`mysql -u root -p`,随后输入密码。连接成功后,显示MySQL欢迎信息、版本号和版权详情。要查看所有数据库,运行`SHOW DATABASES;`,列出包括`catbase`, `information_schema`, `mysql`, `performance_schema`, `publiccms`和`sys`在内的8个数据库。
18 1
|
4天前
|
关系型数据库 MySQL 测试技术
sysbench 对MySQL压测100分钟的命令
使用 `sysbench` 对 MySQL 数据库进行性能测试(压测)时,首先确保 `sysbench` 和 MySQL 数据库已经安装,并且你有一个测试数据库可以使用。下面是一个针对 MySQL 数据库进行压测的示例命令,测试时长为 100 分钟(6000 秒)。 在运行此命令之前,请确保以下内容: - 使用适当的数据库连接参数(主机、端口、用户名、密码、数据库名)。 - 根据你的需求调整测试参数(如并发数、线程数、事务数等)。 以下是一个示例命令,使用 `sysbench` 对 MySQL 数据库进行压测 100 分钟: ```shell sysbench --db-driver=m
|
4天前
|
SQL 关系型数据库 MySQL
【mysql】mysql命令使用大全,你想要的都在这里
【mysql】mysql命令使用大全,你想要的都在这里
|
4天前
|
运维 自然语言处理 开发工具
【专栏】NeoVim正逐渐取代Vim成为运维人员首选的文本编辑器。这 8 个原因或许是答案,命令对比一目了然!
【4月更文挑战第28天】NeoVim正逐渐取代Vim成为运维人员首选的文本编辑器。其优势包括更好的扩展性、现代化界面、多语言编程支持、异步处理能力、协作功能、持续更新及活跃社区。NeoVim的命令与Vim相似,但在启动配置、插件管理和窗口管理等方面有所优化。总的来说,NeoVim提供了更强大、灵活和现代的编辑体验。
|
4天前
|
运维 监控 Linux
【专栏】Docker命令`docker ps`的使用,包括列出运行中的容器、筛选特定容器、组合使用与其他命令配合以及在故障排查中的应用
【4月更文挑战第28天】本文介绍了Docker命令`docker ps`的使用,包括列出运行中的容器、筛选特定容器、组合使用与其他命令配合以及在故障排查中的应用。通过基础和高级用法示例,如列出所有容器、搜索特定镜像、监控资源使用等,帮助读者理解和提升容器管理效率。对于Linux运维工程师,掌握`docker ps`是必备技能。

推荐镜像

更多