MySQL基本运维命令详解

目录
  • 1. 导出test_db数据库
  • 2. 导出一个表
  • 3. 导出一个数据库结构
  • 4. 导入数据库
  • 5. mysql进入与退出
  • 6. 数据库操作
  • 7. 数据表操作

1. 导出test_db数据库

命令:mysqldump -u 用户名 -p 数据库名 > 导出的文件名

mysqldump -u root -p test_db > test_db.sql

# 导出所有数据库
mysqldump -u root -p –all-databases > mysql_all.sql 

2. 导出一个表

命令:mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名

mysqldump -u root -p test_db test1 > test_test1.sql

3. 导出一个数据库结构

mysqldump -u root -p -d --add-drop-table test_db > test.sql 

4. 导入数据库

1.常用source命令

进入mysql数据库控制台:

mysql -u root -p

然后使用source命令,后面参数为脚本文件(如这里用到的.sql))

mysql>source wcnc_db.sql 

2.使用mysqldump命令

mysqldump -u username -p dbname < filename.sql 

3.使用mysql命令

mysql -u username -p -D dbname < filename.sql 

5. mysql进入与退出

进入

mysql -uroot -p //进入mysql控制台
mysql -uroot -p password //进入mysql控制台
mysql -p //进入mysql控制台 

退出

# 第一种
quit
# 第二种
exit

6. 数据库操作

1.创教数据库

命令:create database <数据库名>

mysql> create database [数据库名]; 

2.显示所有数据库

mysql> show databases; 

3.删除数据库

mysql> drop database [数据库名]; 

4.连接数据库

mysql> use [数据库名]; 

5.查看当前使用的数据库

mysql> select database(); 

6.当前数据库包含的表信息

mysql> show tables;

7.查看数据库字符集

mysql> show variables like '%char%';

7. 数据表操作

1.建表

mysql> create table [表名] (
	id varchar(20),
	name varchar(20)
); 

2.查看表结构

命令:desc 表名,或者show columns from 表名

mysql> desc test;
mysql> show columns from test;
mysql> describe test;
mysql> show create table test;  

3.删除表

mysql> drop table [表名]; 

4.插入数据

mysql> insert into [表名] values ("001","张三"); 

5.查询表数据

MySQL的单表查询比较简单,比如最基本的一些操作:

# 查看表test中所有数据
mysql> select * from test; 

# 查找test表中id=001内容
mysql > select * from test where id=001; 

# 查找test表中已id为0开头的内容
mysql > select * from test where id like "0%"; 

# 查看表test中前2行数据
mysql> select * from test order by id limit 0,2;
# 或者
mysql> select * from test limit 0,2;

但是实际的场景中我们常常需要进行多表查询,复杂的业务需求也会造成连接查询也变得非常复杂,常用的多表查询方式有连接查询和子查询,但是连接查询的效率一般会比子查询高,关于连接查询可以参考下面这篇文章:

mysql连接查询

不过也有地方不建议使用连接查询,因为连接查询属于重查询,数据量大容易造成阻塞,比如阿里就明文规定禁止用三个表以上的join。做项目的时候应该遵循重业务,轻数据库的原则,能在业务层聚合,就不要用跨表查询。

6.删除表数据

命令:delete from 表名 where 表达式

mysql> delete from test where id=001;

7.修改表数据

命令:update 表名 set 字段=新值 where 表达式

mysql> update test set name='admin' where id=002;

修改表结构:

# 修改test表中name字段的长度
mysql> alter table test modify column name varchar(30);

8.在表中增加字段

命令:alter table 表名 add字段 类型 其他;

# 在表test中添加了一个字段passtest,类型为int(4),默认值为0
mysql> alter table test add passtest int(4) default '0';

9.更改表名

命令:rename table 原表名 to 新表名;

# 在表test名字更改为test1
mysql> rename table test to test1;

8. 修改密码

命令:mysqladmin -uroot -p旧密码 password 新密码

mysql> use mysql;
mysql> update mysql.user set password='新密码' where user='用户名';
mysql> flush privileges;
mysql> set password for 用户名@localhost=password('你的密码');
mysql> flush privileges; 

9. 增加用户

# 增加一个test用户,密码为1234
mysql> insert into mysql.user(Host,User,Password) values("localhost","test",password("1234"));
mysql> flush privileges;

10. 删除用户

# 删除test用户
mysql> delete from user where user='test' and host='localhost';
mysql> flush privileges;

11. 数据库授权

命令:grant 权限 on 数据库名.* to 用户名@localhost identified by ‘密码’;

# 授权test用户拥有test_db库的所有权限
grant all on test_db.* to test@localhost identified by '123456';

# 授权test用户拥有test_db库的select,update权限
grant select,update on test_db.* to test@localhost;

12. 锁表

# 加读锁
mysql> flush tables with read lock;

# 解锁
mysql> unlock tables;

13. 查看当前用户

mysql > select user();

14. MYSQL密码破解方法

先停止Mysql服务,以跳过权限方式启动,命令如下

service mysqld stop
/usr/local/mysql/bin/mysqld_safe –user=mysql –skip-grant-tables &  

在shell终端输入mysql并按Enter键,进入mysql命令行,由于MYSQL用户及密码认证信息存放在mysql库中的user表,需进入mysql库:

mysql> use mysql;
mysql> update user set password=password('123456') where user='root';
mysql> flush privileges;

MYSQL root密码修改完,需停止以Mysql跳过权限表的启动进程,再以正常方式启动MYSQL,再次以新的密码登陆即可进入Mysql数据库

15. 存储引擎、系统版本、端口

# 查看当前使用的存储引擎
mysql > show engines;

# 查看mysql默认存储引擎
mysql> show variables like '%storage_engine%';

# 查看mysql系统版本
mysql> select version();

# 查看mysql库里所有表
mysql>show tables from mysql;

# 查看Mysql端口
mysql>show variables like 'port';

# 查看mysql库user表中user、host信息
mysql> select user,host from mysql.user;

参考资料:

https://www.51cto.com/article/595574.html

到此这篇关于MySQL基本运维命令的文章就介绍到这了,更多相关MySQL运维命令内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 集群运维自动化工具ansible使用playbook安装mysql

    上次介绍了如何使用ansible playbook安装zabbix客户端(http://www.jb51.net/article/52158.htm),这次介绍一下如何使用playbook安装mysql. 下面是安装mysql的信息: mysql_basedir: /data/mysql/basedir 源码目录 mysql_datadir: /data/mysql/datadir 数据目录 mysql_user: mysql mysql用户 mysql_database_user: root

  • 运维角度浅谈MySQL数据库优化(李振良)

    一个成熟的数据库架构并不是一开始设计就具备高可用.高伸缩等特性的,它是随着用户量的增加,基础架构才逐渐完善.这篇博文主要谈MySQL数据库发展周期中所面临的问题及优化方案,暂且抛开前端应用不说,大致分为以下五个阶段: 1.数据库表设计 项目立项后,开发部根据产品部需求开发项目,开发工程师工作其中一部分就是对表结构设计.对于数据库来说,这点很重要,如果设计不当,会直接影响访问速度和用户体验.影响的因素很多,比如慢查询.低效的查询语句.没有适当建立索引.数据库堵塞(死锁)等.当然,有测试工程师的团队

  • MySQL数据库运维之数据恢复的方法

    之前三篇文章分别介绍了MySQL数据库常见的备份方法,其中包括逻辑备份和物理备份,本篇将总结一下MySQL数据库的数据恢复相关内容.这些数据恢复方案在之前备份内容介绍时,此处总结一下恢复方案,并结合数据库的二进制日志做下数据恢复的示范! 一.恢复方案 1.数据量不是特别大,可以将mysqldump命令备份的数据使用mysql客户端命令或者source命令完成数据的恢复: 2.使用Xtrabackup完成数据库的物理备份恢复,期间需要重启数据库服务: 3.使用LVM快照卷完成数据库物理备份恢复,期

  • MySQL基本运维命令详解

    目录 1. 导出test_db数据库 2. 导出一个表 3. 导出一个数据库结构 4. 导入数据库 5. mysql进入与退出 6. 数据库操作 7. 数据表操作 1. 导出test_db数据库 命令:mysqldump -u 用户名 -p 数据库名 > 导出的文件名 mysqldump -u root -p test_db > test_db.sql # 导出所有数据库 mysqldump -u root -p –all-databases > mysql_all.sql 2. 导出一

  • mysql索引篇explain命令详解

    目录 前言 key type Extra 前言 mysql中的explain命令可以用来查看sql语句是否使用了索引,用了什么索引,有没有做全表扫描.可以帮助我们优化查询语句.explain出来的信息有10列,文章主要介绍type.key.Extra这几个字段. 演示中涉及到的表结构如下: CREATE TABLE `dept_desc` ( `dept_no` char(4) NOT NULL, `dept_name` varchar(40) NOT NULL, `desc` varchar(

  • mysql数据库查询基础命令详解

    目录 1.启动数据库命令行客户端 2.查询数据库 3.进入数据库 3.查询所在数据库中所有表信息 4.查询数据库某张表结构 5.简单select查询语句(单张表) 5.1查询单张表所有数据 5.2 LIMIT限制查询结果返回数据项 5.3查询指定列数 5.4 WHERE带条件精准查询 5.5 LIKE使用通配符模糊查询 5.6 ORDER BY查询结果排序 1.启动数据库命令行客户端 #linux命令,注意区分大小写 mysql 2.查询数据库 #执行结果:返回所有数据库列表 SHOW DATA

  • Mysql事项,视图,函数,触发器命令(详解)

    事项开启和使用 //修改表的引擎 alter table a engine=myisam; //开启事务 begin; //关闭自动提交 set autocommit=0; //扣100 update bank set money=money-100 where bid=1; //回滚,begin开始的所有sql语句操作 rollback; //开启事务 begin; //关闭自动提交 set autocommit=0; //扣100 update bank set money=money-10

  • MySQL 数据库 source 命令详解及实例

    MySQL 数据库 source 命令详解及实例 MySQL 数据库 source 命令,该命令是数据库导入命令.source 命令的用法非常简单,首先你需要进入 MySQL 数据库的命令行管理界面,然后选择需要导入的数据库,执行 source 命令.如下图所示. MySql 数据库 source 命令 mysql> use test Database changed mysql> set names utf8; Query OK, 0 rows affected (0.00 sec) mys

  • LINUX启动/重启/停上MYSQL的命令(详解)

    如何启动/停止/重启MySQL 一.启动方式 1.使用 service 启动:service mysqld start 2.使用 mysqld 脚本启动:/etc/inint.d/mysqld start 3.使用 safe_mysqld 启动:safe_mysqld& 二.停止 1.使用 service 启动:service mysqld stop 2.使用 mysqld 脚本启动:/etc/inint.d/mysqld stop 3.mysqladmin shutdown 三.重启 1.使用

  • LINUX重启MYSQL的命令详解

    如何启动/停止/重启MySQL 一.启动方式 1.使用 service 启动:service mysqld start 2.使用 mysqld 脚本启动:/etc/inint.d/mysqld start 3.使用 safe_mysqld 启动:safe_mysqld& 二.停止 1.使用 service 启动:service mysqld stop 2.使用 mysqld 脚本启动:/etc/inint.d/mysqld stop 3. mysqladmin shutdown 三.重启 1.

  • MySQL 5.7 mysql command line client 使用命令详解

    MySQL 5.7 MySQL command line client 使用命令 1.输入密码:****** 2.ues mysql;使用Mysql 3.show databases;显示数据库 4.use register;使用数据库名为register 5.show tables;显示register数据库中的表 6.describe user;对表user进行操作: insert into user(username,password) values("xiaoyan",&quo

  • MySQL的binlog日志使用详解

    binlog 就是binary log,二进制日志文件,这个文件记录了MySQL所有的DML操作.通过binlog日志我们可以做数据恢复,增量备份,主主复制和主从复制等等.对于开发者可能对binlog并不怎么关注,但是对于运维或者架构人员来讲是非常重要的. MySQL 5.7这个版本默认是不开启binlog日志的,具体的开启方式可以查看https://www.jb51.net/article/207953.htm binlog开启成功之后,binlog文件的位置可以在my.inf配置文件中查看.

  • MySQL导入与导出备份详解

    目录 一.MySQL备份类型详解 (一)按照备份对数据库的影响分类 (二)按照备份的文件进行分类 (三)按照备份的方式进行分类 二.MySQL数据库导出 (一)mysqldump导出数据 (二)mysqlhotcopy裸文件备份 (三)mysqldump与mysqlhotcopy比较 三.MySQL数据库导入 总结 一.MySQL备份类型详解 对于现代互联网公司而言,存储在服务器数据库中的数据,逐步成为企业和公司的命脉,对企业和公司的生存发展具有十分重大的影响.为了保证数据库数据存储安全,确保不

随机推荐