深入理解mysql帮助命令(help)

在安装、管理和使用mysql过程中,你是不是需要记忆很多的mysql命令。而且对于新手来说,很不多的命令不知道该如何应用,对于老手来说很多命令时间长了忘记具体的用法。

其实mysql的帮助信息,已经给我们提供很全面的使用方法。

下面我就大致介绍下,如何使用mysql的帮助信息。

说明:在此我只是为学习mysql提供一个思路,本篇文章不会过多讲解每一个命令的使用方法。

一、mysql数据库初始化

在安装mysql进行初始化时,我们要使用mysql_install_db脚本进行初始化mysql数据库,此时我们就可通过帮助命令实现。如下:

/usr/local/mysql/scripts/mysql_install_db --help

图中的1、2、3表示初始化时mysql安装的bin路径、mysql数据目录,以及运行mysql所使用的用户。

现在我们进行初始化数据库,如下:

/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --user=mysql

通过上图,我们也可以看到mysql数据库已经初始化成功。同时系统也给出如何启动mysql,图中5标记出来。图中6标记出来的是如何修改root用户的密码。

二、 mysql数据库管理

2.1 启动mysql使用mysqld_safe

mysql数据库安装完毕后,我们就要启动mysql。启动mysql时,我们可以通过mysql提供的脚本,也可以通过mysqld_safe命令来启动。

其实mysql的脚本也是通过该命令来实现的,如下:

cat /etc/init.d/mysqld

有关mysqld_safe命令的使用,我们也可以查看帮助文档。如下:

/usr/local/mysql/bin/mysqld_safe --help

我们需要关注defaults-file这个参数,这个参数加载的就是mysql的配置文件my.cnf。mysql的多实例部署就是根据加载不同的my.cnf文件来达到目的的。

现在我们来启动mysql,如下:

/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf &

注意有一个参数在帮助文档中我们是查不到的,就是跳过密码验证启动mysql,这个参数为skip-grant-table。使用该参数启动mysql,如下:

/usr/local/mysql/bin/mysqld_safe --skip-grant-table &

2.2 修改root用户密码使用mysqladmin

刚刚新安装的mysql数据库,root用户密码是空的。我们可以通过mysqladmin来查看如何修改root用户密码,如下:

/usr/local/mysql/bin/mysqladmin --help

修改root密码,如下:

/usr/local/mysql/bin/mysqladmin -uroot password 123456

第一次修改root密码,因为此时root密码为空,我们可以这样操作。如果root已经有密码了,我们就要使用以下命令进行修改,如下:

/usr/local/mysql/bin/mysqladmin -uroot -p123456 password 456789

使用新密码登录mysql,如下:

/usr/local/mysql/bin/mysql -uroot –p456789

其中还要注意-S参数,这个在mysql多实例时会使用到。

2.3 备份mysql使用mysqldump

在备份mysql数据库时,我们一般使用mysqldunmp命令,有关mysqldump命令的使用方法查看帮助文档。如下:

/usr/local/mysql/bin/mysqldump --help

由于mysqldump的参数比较多,所以我们不一一介绍。但是有几个参数需要重点介绍下。

-A表示备份整个数据库

-F表示在执行导出之前将会刷新MySQL服务器的binlog

-e表示使用全新多行INSERT语法。(给出更紧缩并且更快的插入语句)

--single-transaction 这个是当mysql是innodb引擎时,使用mysqldump备份建议要加上。

-S这个是mysql多实例使用的,详见《烂泥:mysql5.5多实例部署》。

2.4 登录mysql使用mysql

登录或者连接mysql我们可以使用mysql命令,有关mysql命令的使用,查看帮助文档。如下:

/usr/local/mysql/bin/mysql --help

在此我主要介绍下-e和-S这个参数。-e参数在mysql进行主从配置查看master库的binlog文件名及pos位置节点时使用。-S参数mysql多实例使用。如下:

mysql -uroot -p123456 -S /data/3307/mysql.sock -e "show master status"

注意以上命令都可以通过man进行查询其使用方法。比如mysql命令:

man mysql

三、mysql数据库使用

3.1 查看mysql数据库版本

登录mysql数据库后,我们可以看到系统的提示命令,如下:

/usr/local/mysql/bin/mysql -uroot -p456789

通过上述截图,我们可以看到目前mysql的版本是5.5.39。同时我们也注意到系统的提示:输入help可以查看帮助信息,\c可以清空输入。

3.2 查看help命令

查看help命令相关信息,如下:

help

通过上图我们可以看到help命令很简单的,在这我就不详细的介绍了。只介绍system命令,该参数可以在mysql命令中直接执行系统的相关命令。如下:

system ifconfig eth0

3.3 查看mysql帮助索引

如果你一个mysql的使用命令都不知道,也没有关系的。mysql给我提供了一个帮助索引。现在我们随便输入一个命令,看看mysql的提示如:

help eth0;

通过上图,我们可以看到。当我们输入一个不存在的命令时,系统会提示的。注意图中标记出来的黄色部分“help contents”。

我们通过help contents就可以查看到所有的mysql命令,这个就是mysql帮助索引。如下:

help contents;

注意图中标记出来的都是各个mysql总命令的总目录。比如Account Management是负责管理mysql用户有关的目录、Administration是mysql管理员管理mysql有关的目录。

我们所有的mysql命令,都是可以在这个索引下找的。

3.4 查看mysql如何创建用户

我们要创建一个新的数据库用户,但是我们又不知道使用什么命令进行创建,那我们就可以使用help contents查看所有的mysql命令目录,根据目录提示的信息我们猜想该命令应该在Account Management这个目录下。那我们就可以先查看该命令的帮助,如下:

help Account Management;

通过上图,我们可以看到创建用户的命令确实在该目录下,为create user命令。

有关create user命令的具体使用方法,我们可以在进一步通过help命令进行查看。如下:

help create user;

通过上图,我们可以很明显看到create user的具体使用方法,并且帮助信息中也给出相应的例子。

这样我们知道,如何使用create user命令创建数据用户了。

同理我们也可以查看如何删除一个用户,使用help drop user命令,如下:

help drop user;

3.5如何给用户授权

我们在创建完毕数据库用户后,就要给该用户授权。那么如何授权,该使用什么命令呢?

其实我们也可以在help Account Management命令中查看到,如下:

通过上图我们可以看到grant就是授权命令。

我们再来查看grant命令的使用方法,如下:

help grant;

上图就是grant的使用方法以及实例。同时系统也给出了如何查看用户的权限使用show grants和如何删除用户的权限使用revoke。

同理我们也可以删除一个用户权限,使用help revoke命令进行查看,如下:

help revoke;

在这有一点需要说明下,我们在给用户进行授权时,有时候不知道数据库对用户的权限都是什么,其实我们也是可以通过系统给出的数据库进行查询到的。该数据库为information_schema,如下:

use information_schema;

desc user_privileges;

select privilege_type from user_privileges;

表user_privileges的privilege_type字段存储的就是mysql数据库用户的所有权限。

除此之外,我们也可以通过Administration下的privileges查看所有权限,这个方法是最简单的。如下:

show privileges;

3.6 修改用户密码

修改数据库用户的密码,我们也可以在help Account Management下进行查看。如下:

help Account Management;

通过上图,我们可以知道修改用户密码的命令是set password。

下面我们来查看set password的具体用法,如下:

help set password;

通过上图,我们可以知道set password的使用方法以及使用实例。

3.7如何新建mysql数据库

如何新建一个mysql数据库,我们可以通过help contents查看应该是在data definition。如下:

help contents;

help data definition;

通过上图,我们可以看到创建数据库的命令是create database。现在我们来具体查看下有关create database命令的使用方法,如下:

help create database;

上图就是有关create database命令的详细使用方法。

同时还要注意我们在查看help data definition命令时,标记出来的部分,如下:

我们可以看到这里面还有创建表、创建表空间,删除数据库、删除表、删除表空间等命令,这个些命令我们就不一一介绍了。我们只需按照create database命令进行查询其使用方法即可。

3.8如何更新数据库的一个记录

现在我们要更新数据库中一张表的某一个字段的记录,我们知道可以使用update命令。但是update命令的具体用法,我们忘记了。

嘿嘿,没事,我们也可以通过help信息查看update命令的使用方法。

通过查看相关的信息,我们知道update命令在data manipulation目录下面。如下:

help data manipulation;

现在我们来查看update的使用方法,如下:

help update;

通过上图,我们就可以知道update命令的使用方法。

同时需要注意的是,我们在查看data manipulation时,也可以查看有关表的其他操作,查询命令select、删除命令delete、插入命令insert。

如下:

help data manipulation;

有关这些命令的使用方法,在此就不一一介绍了。我们只需按照update命令进行查询其使用方法即可。

3.9如何刷新mysql日志

现在我们来查看如何在命令行下,刷新mysql日志。这个我们可以在help contents下的Administration进行查看。如下:

help Administration;

通过上图,我们可以知道刷新mysql日志的命令为flush。现在查看该命令的具体使用方法。如下:

help flush;

通过上图,我们可以看到刷新日志使用flush logs命令即可。如下:

show master status\G;

flush logs;

同时该帮助信息中,还给出了如何重置日志,使用reset命令。如下:

help reset;

其实在help Administration中,我们也能看到reset命令。如下:

3.10 刷新权限

有时候我们在使用update命令进行更新后,会发现相关权限没有生效。这个时候我们就需要使用flush privileges命令进行刷新。

如下命令:

flush privileges;

其实flush帮助信息中,已经给我们进行说明了。如下:

3.11 查看show命令

通过3.9我们知道在Administration中有一个比较特别的命令show。

我们可以看到很多show相关的命令,如下:

help Administration;

这个show命令可以查看,我们在用户授权、创建数据库、创建表等执行时所使用的SQL语句。还可以查看数据库引擎、数据库状态、表状态等信息。

查看数据库ilanni创建时执行的sql语句,如下:

show create database ilanni;

注意我们在创建数据库ilanni时,是没有指定数据库使用的语言编码的。但是系统会在执行sql语句时,自动加上语言编码,并且使用默认的语言编码latin1。

如果你记不清楚如何加上语言编码的话,我们就可以创建一个数据库。然后通过show create database命令进行查看,系统是是如何加上语言编码的。然后我们再次删除该数据库,再次按照系统创建时的sql语言执行即可。

如下:

create database ilanni default character set utf8;

查看系统中的数据库,如下:

show databases;

查看master库binlog相关信息,如下:

show master status;

查看ilanni用户授权sql语句,如下:

show grants for ilanni;

查看mysql数据库的表,如下:

show tables;

3.12 查看主从相关的命令

我们在进行mysql主从配置时,会使用到很多很多的命令。这些命令,我们也可以通过帮助信息获得。如下:

help contents;

help transactions;

注意上图中,我们黄色标记出来的部分。主库授予从库的命令、锁表命令、主库master重置数据库、开启与关闭同步等命令。

我们在从库上执行主库的授权命令时,使用change master to命令。有关change master to命令的具体使用方法,查看帮助。如下:

help change master to;

通过上述两张图,我们就能很容易的知道change master to使用方法,并且帮助信息中也给出实际的例子。

我们在进行导出mysql数据库时,为了保持主从数据库的一致性,此时我们会通过lock命令进行锁表。有关lock命令的使用,我们也可以通过帮助信息进行查看,如下:

help lock;

重置主库master日志,如下:

help reset master;

reset master;

在从库slave上开启同步,如下:

help start slave;

start slave;

show slave status\G

在从库slave上关闭同步,如下:

help stop slave;

stop slave;

show slave status\G

(0)

相关推荐

  • Mysql如何使用命令实现分级查找帮助详解

    前言 本文主要给大家介绍了Mysql使用命令分级查找帮助的相关内容,本文章样例基于msql的分支版本MariaDB-10.1.19,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: 查询所有帮助 我们如果希望知道mysql一共能为我们提供哪些帮助可以使用如下命令 ? contents 或者将?替换为help也可,二者效果一致 help contents 效果如下图 ? 与help等价 为了简便 我们下方统一使用?,但读者需要知道我们如果用help也是一样的效果 各项解释 英文 中文

  • Mysql help命令(帮助信息)中文注解

    在开发或测试环境在碰到mysql相关故障时,大多数朋友可能会通过论坛发帖,QQ群讨论方式来获取帮助.该方式是获取帮助的有效途径之一.然而如果在生产环境,在没有网络的环境下,这些方式就无助于问题的解决.无论何种数据库,从官方网站获取帮助是最直接最有效的方式.其次没有网络的环境下,我们可以通过MySQL客户端工具自带的帮助信息来解决问题. 1)MySQL官方手册 和Oracle官方文档一下,MySQL官方手册是获取MySQL帮助最直接最效的方式.该手册包含很多个部分,比如有关SQL的语法,MySQL

  • 深入理解mysql帮助命令(help)

    在安装.管理和使用mysql过程中,你是不是需要记忆很多的mysql命令.而且对于新手来说,很不多的命令不知道该如何应用,对于老手来说很多命令时间长了忘记具体的用法. 其实mysql的帮助信息,已经给我们提供很全面的使用方法. 下面我就大致介绍下,如何使用mysql的帮助信息. 说明:在此我只是为学习mysql提供一个思路,本篇文章不会过多讲解每一个命令的使用方法. 一.mysql数据库初始化 在安装mysql进行初始化时,我们要使用mysql_install_db脚本进行初始化mysql数据库

  • Mysql常用命令 详细整理版

    Mysql常用命令 show databases; 显示数据库 create database name; 创建数据库 use databasename; 选择数据库 drop database name 直接删除数据库,不提醒 show tables; 显示表 describe tablename; 显示具体的表结构 select 中加上distinct去除重复字段 mysqladmin drop databasename 删除数据库前,有提示. 显示当前mysql版本和当前日期 select

  • Mysql数据库介绍及mysql显示命令

    下文给大家介绍mysql数据库介绍,具体详情如下所示: MySQL 数据库: Oracle.DB2.SQL Server.MySQL.access.mangodb.bigtable 关系型数据库 大型 Oracle.DB2 中小型 SQL Server.MySQL 小型 access 非关系型数据库 mangodb.bigtable 什么是关系型数据库? 所谓的关系型数据库就是使用"关系模型"来组织数据的数据库. 什么是非关系型数据库? 没有使用"关系模型"来组织数

  • MySQL常用命令大全脚本之家总结

    MYSQL常用命令1.导出整个数据库mysqldump -u 用户名 -p --default-character-set=latin1 数据库名 > 导出的文件名(数据库默认编码是latin1)mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql2.导出一个表mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql

  • 深入理解mysql各种锁

    目录 锁的概述 锁分类 对数据库操作的粒度分 对数据操作的类型分 mysql锁 不同存储引擎支持锁级别 锁介绍 MyISAM表锁 如何添加表锁 加解锁 锁竞争 锁的使用情况 InnoDB锁 行锁 锁升级 间隙锁 锁争用 总结 优化建议 锁的概述 锁是计算机协调多个进程或线程并访问某一资源的机制 在数据库中,除传统的计算机资源(如cpu.RAM.I/O等)的争用以外,数据也是一种供许多用户共享的资源,如果保证数据并发访问的一致性,有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性

  • 深入理解mysql事务与存储引擎

    目录 一.MySQL事务 1.事务的概念 2.事务的 ACID 特点 3.事物之间的互相影响 二.Mysql及事务隔离级别 1.查询全局事务隔离级别 2.查询会话事务隔离级别 3.设置全局事务隔离级别 4.设置会话事务隔离级别 三.事务控制语句 1.相关语句 2.案例 3.使用 set 设置控制事务 四.MySQL 存储引擎 1.存储引擎概念介绍 2.查看系统支持的存储引擎 3.查看表使用的存储引擎 4.修改存储引擎 一.MySQL事务 1.事务的概念 (1)事务是一种机制.一个操作序列,包含了

  • MySQL常用命令与内部组件及SQL优化详情

    目录 1. 一些常用的 MySQL 命令 2.MySQL的内部组件结构 MySQL优化器与执行计划 SQL执行过程 词法分析器原理 查询优化器 4. SQL执行顺序 5.MySQL数据类型选择 数值类型 日期和时间 字符串 6.MySQL优化 MySQL优化分类 优化方法 SQL优化原则 EXPLAIN 查看执行计 processlist干预执行计划 SELECT语句务必指明字段名称 合理使用in和exits 关于not in 和not exists order by排序字段和where条件要匹

  • 深入理解MySQL数据类型的选择优化

    目录 前言 1 整数类型 2 实数类型 3 字符串类型 3.1 VARCHAR和CHAR类型 3.1.1 最大长度 3.2 Binary和VarBinary类型 3.3 BLOB和TEXT类型 3.3 ENUM类型 4 日期和时间类型 5 位数据类型 6 选择优化的数据类型 6.1 特殊的数据类型 前言 介绍了MySQL的常用数据类型的基本特性,以及数据类型的选择优化. MySQL数据类型是定义列中可以存储什么数据以及该数据实际怎样存储的基本规则,正确的选择数据库字段的字段类型对于数据库性能有很

  • MySQL从命令行导入SQL脚本时出现中文乱码的解决方法

    本文实例讲述了MySQL从命令行导入SQL脚本时出现中文乱码的解决方法.分享给大家供大家参考,具体如下: 在图形界面管理工具 MySql Query Browser中打开脚本(脚本包括建库.建表.添加数据),并执行,不会有任何问题:但是使用mysql命令行工具执行建库脚本时,添加数据中如果包含中文,存入的数据就是乱码或是???... 解决方法1:在MySql安装目录下找到my.ini,将[mysql]下的default-character-set=latin1改为default-characte

  • MySQL ALTER命令使用详解

    ALTER TABLE允许你修改一个现有表的结构.例如,你可以增加或删除列.创造或消去索引.改变现有列的类型.或重新命名列或表本身.你也能改变表的注释和表的类型. 你可以使用CHANGE old_col_name create_definition子句重命名一个列.为了这样做,指定旧的和新的列名字和列当前有的类型.例如,重命名一个INTEGER列,从a到b,你可以这样做: mysql> ALTER TABLE t1 CHANGE a b INTEGER; 如果你想要改变列的类型而非名字,就算他们

随机推荐