Heim  >  Artikel  >  Datenbank  >  烂泥:mysql帮助命令使用说明_MySQL

烂泥:mysql帮助命令使用说明_MySQL

WBOY
WBOYOriginal
2016-06-01 13:01:111008Durchsuche

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

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

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

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

一、mysql数据库初始化

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

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

clip_image001

图中的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

clip_image002

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

二、 mysql数据库管理

2.1 启动mysql使用mysqld_safe

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

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

cat /etc/init.d/mysqld

clip_image003

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

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

clip_image004

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

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

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

clip_image005

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

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

clip_image006

2.2 修改root用户密码使用mysqladmin

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

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

clip_image007

修改root密码,如下:

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

clip_image008

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

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

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

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

clip_image009

其中还要注意-S参数,这个在mysql多实例时会使用到,详见《烂泥:mysql5.5多实例部署》。

2.3 备份mysql使用mysqldump

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

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

clip_image010

clip_image011

由于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

clip_image012

在此我主要介绍下-e和-S这个参数。-e参数在mysql进行主从配置查看master库的binlog文件名及pos位置节点时使用。-S参数mysql多实例使用,详见《烂泥:mysql5.5多实例部署》。如下:

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

clip_image013

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

man mysql

clip_image014

三、mysql数据库使用

3.1 查看mysql数据库版本

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

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

clip_image015

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

3.2 查看help命令

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

help

clip_image016

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

system ifconfig eth0

clip_image017

3.3 查看mysql帮助索引

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

help eth0;

clip_image018

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

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

help contents;

clip_image019

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

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

3.4 查看mysql如何创建用户

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

help Account Management;

clip_image020

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

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

help create user;

clip_image021

clip_image022

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

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

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

help drop user;

clip_image023

3.5如何给用户授权

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

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

clip_image024

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

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

help grant;

clip_image025

clip_image026

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

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

help revoke;

clip_image027

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

use information_schema;

desc user_privileges;

select privilege_type from user_privileges;

clip_image028

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

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

show privileges;

clip_image029

3.6 修改用户密码

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

help Account Management;

clip_image030

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

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

help set password;

clip_image031

clip_image032

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

3.7如何新建mysql数据库

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

help contents;

help data definition;

clip_image033

clip_image034

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

help create database;

clip_image035

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

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

clip_image036

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

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

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

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

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

help data manipulation;

clip_image037

clip_image038

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

help update;

clip_image039

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

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

如下:

help data manipulation;

clip_image040

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

3.9如何刷新mysql日志

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

help Administration;

clip_image041

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

help flush;

clip_image042

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

show master status\G;

flush logs;

clip_image043

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

help reset;

clip_image044

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

clip_image045

3.10 刷新权限

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

如下命令:

flush privileges;

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

clip_image046

3.11 查看show命令

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

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

help Administration;

clip_image047

clip_image048

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

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

show create database ilanni;

clip_image049

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

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

如下:

create database ilanni default character set utf8;

clip_image050

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

show databases;

clip_image051

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

show master status;

clip_image052

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

show grants for ilanni;

clip_image053

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

show tables;

clip_image054

3.12 查看主从相关的命令

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

help contents;

help transactions;

clip_image055

clip_image056

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

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

help change master to;

clip_image057

clip_image058

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

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

help lock;

clip_image059

重置主库master日志,如下:

help reset master;

clip_image060

reset master;

clip_image061

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

help start slave;

clip_image062

start slave;

show slave status\G

clip_image063

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

help stop slave;

clip_image064

stop slave;

show slave status\G

clip_image065

有关mysql主从同步的具体配置方法详见《烂泥:mysql5.5主从同步复制配置》。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn