源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2022-04-15 02:48 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:深入理解mysql帮助命令(help)
在安装、管理和使用mysql过程中,你是不是需要记忆很多的mysql命令。而且对于新手来说,很不多的命令不知道该如何应用,对于老手来说很多命令时间长了忘记具体的用法。 其实mysql的帮助信息,已经给我们提供很全面的使用方法。 下面我就大致介绍下,如何使用mysql的帮助信息。 说明:在此我只是为学习mysql提供一个思路,本篇文章不会过多讲解每一个命令的使用方法。 [b]一、mysql数据库初始化[/b] 在安装mysql进行初始化时,我们要使用mysql_install_db脚本进行初始化mysql数据库,此时我们就可通过帮助命令实现。如下: /usr/local/mysql/scripts/mysql_install_db --help [url=http://images.cnitblog.com/blog/62984/201412/030949197172231.png][img]http://img.1sucai.cn/uploads/article/2018010710/20180107100118_0_68144.png[/img] [/url] 图中的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 [url=http://images.cnitblog.com/blog/62984/201412/030949204987060.png][img]http://img.1sucai.cn/uploads/article/2018010710/20180107100120_1_76470.png[/img] [/url] 通过上图,我们也可以看到mysql数据库已经初始化成功。同时系统也给出如何启动mysql,图中5标记出来。图中6标记出来的是如何修改root用户的密码。 [b]二、 mysql数据库管理[/b] 2.1 启动mysql使用mysqld_safe mysql数据库安装完毕后,我们就要启动mysql。启动mysql时,我们可以通过mysql提供的脚本,也可以通过mysqld_safe命令来启动。 其实mysql的脚本也是通过该命令来实现的,如下: cat /etc/init.d/mysqld [url=http://images.cnitblog.com/blog/62984/201412/030949210925244.png][img]http://img.1sucai.cn/uploads/article/2018010710/20180107100120_2_73099.png[/img] [/url] 有关mysqld_safe命令的使用,我们也可以查看帮助文档。如下: /usr/local/mysql/bin/mysqld_safe --help [url=http://images.cnitblog.com/blog/62984/201412/030949216556373.png][img]http://img.1sucai.cn/uploads/article/2018010710/20180107100121_3_74200.png[/img] [/url] 我们需要关注defaults-file这个参数,这个参数加载的就是mysql的配置文件my.cnf。mysql的多实例部署就是根据加载不同的my.cnf文件来达到目的的。 现在我们来启动mysql,如下: /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf & [url=http://images.cnitblog.com/blog/62984/201412/030949220929072.png][img]http://img.1sucai.cn/uploads/article/2018010710/20180107100121_4_92084.png[/img] [/url] 注意有一个参数在帮助文档中我们是查不到的,就是跳过密码验证启动mysql,这个参数为skip-grant-table。使用该参数启动mysql,如下: /usr/local/mysql/bin/mysqld_safe --skip-grant-table & [url=http://images.cnitblog.com/blog/62984/201412/030949228115686.png][img]http://img.1sucai.cn/uploads/article/2018010710/20180107100122_5_63536.png[/img] [/url] 2.2 修改root用户密码使用mysqladmin 刚刚新安装的mysql数据库,root用户密码是空的。我们可以通过mysqladmin来查看如何修改root用户密码,如下: /usr/local/mysql/bin/mysqladmin --help [url=http://images.cnitblog.com/blog/62984/201412/030949232642614.png][img]http://img.1sucai.cn/uploads/article/2018010710/20180107100122_6_29758.png[/img] [/url] 修改root密码,如下: /usr/local/mysql/bin/mysqladmin -uroot password 123456 [url=http://images.cnitblog.com/blog/62984/201412/030949237807757.png][img]http://img.1sucai.cn/uploads/article/2018010710/20180107100123_7_57148.png[/img] [/url] 第一次修改root密码,因为此时root密码为空,我们可以这样操作。如果root已经有密码了,我们就要使用以下命令进行修改,如下: /usr/local/mysql/bin/mysqladmin -uroot -p123456 password 456789 使用新密码登录mysql,如下: /usr/local/mysql/bin/mysql -uroot –p456789 [url=http://images.cnitblog.com/blog/62984/201412/030949242958198.png][img]http://img.1sucai.cn/uploads/article/2018010710/20180107100123_8_52480.png[/img] [/url] 其中还要注意-S参数,这个在mysql多实例时会使用到。 2.3 备份mysql使用mysqldump 在备份mysql数据库时,我们一般使用mysqldunmp命令,有关mysqldump命令的使用方法查看帮助文档。如下: /usr/local/mysql/bin/mysqldump --help [url=http://images.cnitblog.com/blog/62984/201412/030949246861614.png][img]http://img.1sucai.cn/uploads/article/2018010710/20180107100124_9_48662.png[/img] [/url] [url=http://images.cnitblog.com/blog/62984/201412/030949252175284.png][img]http://img.1sucai.cn/uploads/article/2018010710/20180107100124_10_40486.png[/img] [/url] 由于mysqldump的参数比较多,所以我们不一一介绍。但是有几个参数需要重点介绍下。 -A表示备份整个数据库 -F表示在执行导出之前将会刷新MySQL服务器的binlog -e表示使用全新多行INSERT语法。(给出更紧缩并且更快的插入语句) --single-transaction 这个是当mysql是innodb引擎时,使用mysqldump备份建议要加上。 -S这个是mysql多实例使用的,详见《[url=http://www.ilanni.com/?p=8020]烂泥:mysql5.5多实例部署[/url]》。 2.4 登录mysql使用mysql 登录或者连接mysql我们可以使用mysql命令,有关mysql命令的使用,查看帮助文档。如下: /usr/local/mysql/bin/mysql --help [url=http://images.cnitblog.com/blog/62984/201412/030949258118169.png][img]http://img.1sucai.cn/uploads/article/2018010710/20180107100125_11_68213.png[/img] [/url] 在此我主要介绍下-e和-S这个参数。-e参数在mysql进行主从配置查看master库的binlog文件名及pos位置节点时使用。-S参数mysql多实例使用。如下: mysql -uroot -p123456 -S /data/3307/mysql.sock -e "show master status" [url=http://images.cnitblog.com/blog/62984/201412/030949265141555.png][img]http://img.1sucai.cn/uploads/article/2018010710/20180107100125_12_9647.png[/img] [/url] 注意以上命令都可以通过man进行查询其使用方法。比如mysql命令: man mysql [url=http://images.cnitblog.com/blog/62984/201412/030949275308611.png][img]http://img.1sucai.cn/uploads/article/2018010710/20180107100125_13_85398.png[/img] [/url] [b]三、mysql数据库使用[/b] 3.1 查看mysql数据库版本 登录mysql数据库后,我们可以看到系统的提示命令,如下: /usr/local/mysql/bin/mysql -uroot -p456789 [url=http://images.cnitblog.com/blog/62984/201412/030949279835540.png][img]http://img.1sucai.cn/uploads/article/2018010710/20180107100126_14_2673.png[/img] [/url] 通过上述截图,我们可以看到目前mysql的版本是5.5.39。同时我们也注意到系统的提示:输入help可以查看帮助信息,c可以清空输入。 3.2 查看help命令 查看help命令相关信息,如下: help [url=http://images.cnitblog.com/blog/62984/201412/030949287333911.png][img]http://img.1sucai.cn/uploads/article/2018010710/20180107100126_15_8788.png[/img] [/url] 通过上图我们可以看到help命令很简单的,在这我就不详细的介绍了。只介绍system命令,该参数可以在mysql命令中直接执行系统的相关命令。如下: system ifconfig eth0 [url=http://images.cnitblog.com/blog/62984/201412/030949296862753.png][img]http://img.1sucai.cn/uploads/article/2018010710/20180107100127_16_6622.png[/img] [/url] 3.3 查看mysql帮助索引 如果你一个mysql的使用命令都不知道,也没有关系的。mysql给我提供了一个帮助索引。现在我们随便输入一个命令,看看mysql的提示如: help eth0; [url=http://images.cnitblog.com/blog/62984/201412/030949304206894.png][img]http://img.1sucai.cn/uploads/article/2018010710/20180107100127_17_23573.png[/img] [/url] 通过上图,我们可以看到。当我们输入一个不存在的命令时,系统会提示的。注意图中标记出来的黄色部分“help contents”。 我们通过help contents就可以查看到所有的mysql命令,这个就是mysql帮助索引。如下: help contents; [url=http://images.cnitblog.com/blog/62984/201412/030949311556737.png][img]http://img.1sucai.cn/uploads/article/2018010710/20180107100127_18_25097.png[/img] [/url] 注意图中标记出来的都是各个mysql总命令的总目录。比如Account Management是负责管理mysql用户有关的目录、Administration是mysql管理员管理mysql有关的目录。 我们所有的mysql命令,都是可以在这个索引下找的。 3.4 查看mysql如何创建用户 我们要创建一个新的数据库用户,但是我们又不知道使用什么命令进行创建,那我们就可以使用help contents查看所有的mysql命令目录,根据目录提示的信息我们猜想该命令应该在Account Management这个目录下。那我们就可以先查看该命令的帮助,如下: help Account Management; [url=http://images.cnitblog.com/blog/62984/201412/030949322175079.png][img]http://img.1sucai.cn/uploads/article/2018010710/20180107100128_19_72790.png[/img] [/url] 通过上图,我们可以看到创建用户的命令确实在该目录下,为create user命令。 有关create user命令的具体使用方法,我们可以在进一步通过help命令进行查看。如下: help create user; [url=http://images.cnitblog.com/blog/62984/201412/030949327018465.png][img]http://img.1sucai.cn/uploads/article/2018010710/20180107100128_20_85210.png[/img] [/url] [url=http://images.cnitblog.com/blog/62984/201412/030949331233637.png][img]http://img.1sucai.cn/uploads/article/2018010710/20180107100129_21_35579.png[/img] [/url] 通过上图,我们可以很明显看到create user的具体使用方法,并且帮助信息中也给出相应的例子。 这样我们知道,如何使用create user命令创建数据用户了。 同理我们也可以查看如何删除一个用户,使用help drop user命令,如下: help drop user; [url=http://images.cnitblog.com/blog/62984/201412/030949336557307.png][img]http://img.1sucai.cn/uploads/article/2018010710/20180107100129_22_42575.png[/img] [/url] 3.5如何给用户授权 我们在创建完毕数据库用户后,就要给该用户授权。那么如何授权,该使用什么命令呢? 其实我们也可以在help Account Management命令中查看到,如下: [url=http://images.cnitblog.com/blog/62984/201412/030949340455020.png][img]http://img.1sucai.cn/uploads/article/2018010710/20180107100130_23_89364.png[/img] [/url] 通过上图我们可以看到grant就是授权命令。 我们再来查看grant命令的使用方法,如下: help grant; [url=http://images.cnitblog.com/blog/62984/201412/030949344679191.png][img]http://img.1sucai.cn/uploads/article/2018010710/20180107100130_24_90069.png[/img] [/url] [url=http://images.cnitblog.com/blog/62984/201412/030949350766306.png][img]http://img.1sucai.cn/uploads/article/2018010710/20180107100130_25_23508.png[/img] [/url] 上图就是grant的使用方法以及实例。同时系统也给出了如何查看用户的权限使用show grants和如何删除用户的权限使用revoke。 同理我们也可以删除一个用户权限,使用help revoke命令进行查看,如下: help revoke; [url=http://images.cnitblog.com/blog/62984/201412/030949357333706.png][img]http://img.1sucai.cn/uploads/article/2018010710/20180107100131_26_50978.png[/img] [/url] 在这有一点需要说明下,我们在给用户进行授权时,有时候不知道数据库对用户的权限都是什么,其实我们也是可以通过系统给出的数据库进行查询到的。该数据库为information_schema,如下: use information_schema; desc user_privileges; select privilege_type from user_privileges; [url=http://images.cnitblog.com/blog/62984/201412/030949362172390.png][img]http://img.1sucai.cn/uploads/article/2018010710/20180107100131_27_66405.png[/img] [/url] 表user_privileges的privilege_type字段存储的就是mysql数据库用户的所有权限。 除此之外,我们也可以通过Administration下的privileges查看所有权限,这个方法是最简单的。如下: show privileges; [url=http://images.cnitblog.com/blog/62984/201412/030949367481763.png][img]http://img.1sucai.cn/uploads/article/2018010710/20180107100132_28_14700.png[/img] [/url] 3.6 修改用户密码 修改数据库用户的密码,我们也可以在help Account Management下进行查看。如下: help Account Management; [url=http://images.cnitblog.com/blog/62984/201412/030949378585089.png][img]http://img.1sucai.cn/uploads/article/2018010710/20180107100132_29_73637.png[/img] [/url] 通过上图,我们可以知道修改用户密码的命令是set password。 下面我们来查看set password的具体用法,如下: help set password; [url=http://images.cnitblog.com/blog/62984/201412/030949387336189.png][img]http://img.1sucai.cn/uploads/article/2018010710/20180107100133_30_56632.png[/img] [/url] [url=http://images.cnitblog.com/blog/62984/201412/030949392338102.png][img]http://img.1sucai.cn/uploads/article/2018010710/20180107100133_31_82835.png[/img] [/url] 通过上图,我们可以知道set password的使用方法以及使用实例。 3.7如何新建mysql数据库 如何新建一个mysql数据库,我们可以通过help contents查看应该是在data definition。如下: help contents; help data definition; [url=http://images.cnitblog.com/blog/62984/201412/030949396701802.png][img]http://img.1sucai.cn/uploads/article/2018010710/20180107100133_32_50107.png[/img] [/url] [url=http://images.cnitblog.com/blog/62984/201412/030949400148230.png][img]http://img.1sucai.cn/uploads/article/2018010710/20180107100134_33_29731.png[/img] [/url] 通过上图,我们可以看到创建数据库的命令是create database。现在我们来具体查看下有关create database命令的使用方法,如下: help create database; [url=http://images.cnitblog.com/blog/62984/201412/030949404838387.png][img]http://img.1sucai.cn/uploads/article/2018010710/20180107100134_34_57034.png[/img] [/url] 上图就是有关create database命令的详细使用方法。 同时还要注意我们在查看help data definition命令时,标记出来的部分,如下: [url=http://images.cnitblog.com/blog/62984/201412/030949409202087.png][img]http://img.1sucai.cn/uploads/article/2018010710/20180107100135_35_42190.png[/img] [/url] 我们可以看到这里面还有创建表、创建表空间,删除数据库、删除表、删除表空间等命令,这个些命令我们就不一一介绍了。我们只需按照create database命令进行查询其使用方法即可。 3.8如何更新数据库的一个记录 现在我们要更新数据库中一张表的某一个字段的记录,我们知道可以使用update命令。但是update命令的具体用法,我们忘记了。 嘿嘿,没事,我们也可以通过help信息查看update命令的使用方法。 通过查看相关的信息,我们知道update命令在data manipulation目录下面。如下: help data manipulation; [url=http://images.cnitblog.com/blog/62984/201412/030949415619957.png][img]http://img.1sucai.cn/uploads/article/2018010710/20180107100135_36_93257.png[/img] [/url] [url=http://images.cnitblog.com/blog/62984/201412/030949420612872.png][img]http://img.1sucai.cn/uploads/article/2018010710/20180107100136_37_86783.png[/img] [/url] 现在我们来查看update的使用方法,如下: help update; [url=http://images.cnitblog.com/blog/62984/201412/030949425614786.png][img]http://img.1sucai.cn/uploads/article/2018010710/20180107100136_38_99329.png[/img] [/url] 通过上图,我们就可以知道update命令的使用方法。 同时需要注意的是,我们在查看data manipulation时,也可以查看有关表的其他操作,查询命令select、删除命令delete、插入命令insert。 如下: help data manipulation; [url=http://images.cnitblog.com/blog/62984/201412/030949430928456.png][img]http://img.1sucai.cn/uploads/article/2018010710/20180107100137_39_45737.png[/img] [/url] 有关这些命令的使用方法,在此就不一一介绍了。我们只需按照update命令进行查询其使用方法即可。 3.9如何刷新mysql日志 现在我们来查看如何在命令行下,刷新mysql日志。这个我们可以在help contents下的Administration进行查看。如下: help Administration; [url=http://images.cnitblog.com/blog/62984/201412/030949436084600.png][img]http://img.1sucai.cn/uploads/article/2018010710/20180107100137_40_35444.png[/img] [/url] 通过上图,我们可以知道刷新mysql日志的命令为flush。现在查看该命令的具体使用方法。如下: help flush; [url=http://images.cnitblog.com/blog/62984/201412/030949442176013.png][img]http://img.1sucai.cn/uploads/article/2018010710/20180107100137_41_39814.png[/img] [/url] 通过上图,我们可以看到刷新日志使用flush logs命令即可。如下: show master statusG; flush logs; [url=http://images.cnitblog.com/blog/62984/201412/030949452179840.png][img]http://img.1sucai.cn/uploads/article/2018010710/20180107100138_42_13950.png[/img] [/url] 同时该帮助信息中,还给出了如何重置日志,使用reset命令。如下: help reset; [url=http://images.cnitblog.com/blog/62984/201412/030949459054698.png][img]http://img.1sucai.cn/uploads/article/2018010710/20180107100138_43_45081.png[/img] [/url] 其实在help Administration中,我们也能看到reset命令。如下: [url=http://images.cnitblog.com/blog/62984/201412/030949463427397.png][img]http://img.1sucai.cn/uploads/article/2018010710/20180107100139_44_25212.png[/img] [/url] 3.10 刷新权限 有时候我们在使用update命令进行更新后,会发现相关权限没有生效。这个时候我们就需要使用flush privileges命令进行刷新。 如下命令: flush privileges; 其实flush帮助信息中,已经给我们进行说明了。如下: [url=http://images.cnitblog.com/blog/62984/201412/030949467018054.png][img]http://img.1sucai.cn/uploads/article/2018010710/20180107100139_45_16613.png[/img] [/url] 3.11 查看show命令 通过3.9我们知道在Administration中有一个比较特别的命令show。 我们可以看到很多show相关的命令,如下: help Administration; [url=http://images.cnitblog.com/blog/62984/201412/030949470767240.png][img]http://img.1sucai.cn/uploads/article/2018010710/20180107100140_46_53860.png[/img] [/url] [url=http://images.cnitblog.com/blog/62984/201412/030949476556897.png][img]http://img.1sucai.cn/uploads/article/2018010710/20180107100140_47_31825.png[/img] [/url] 这个show命令可以查看,我们在用户授权、创建数据库、创建表等执行时所使用的SQL语句。还可以查看数据库引擎、数据库状态、表状态等信息。 查看数据库ilanni创建时执行的sql语句,如下: show create database ilanni; [url=http://images.cnitblog.com/blog/62984/201412/030949480142853.png][img]http://img.1sucai.cn/uploads/article/2018010710/20180107100140_48_40177.png[/img] [/url] 注意我们在创建数据库ilanni时,是没有指定数据库使用的语言编码的。但是系统会在执行sql语句时,自动加上语言编码,并且使用默认的语言编码latin1。 如果你记不清楚如何加上语言编码的话,我们就可以创建一个数据库。然后通过show create database命令进行查看,系统是是如何加上语言编码的。然后我们再次删除该数据库,再次按照系统创建时的sql语言执行即可。 如下: create database ilanni default character set utf8; [url=http://images.cnitblog.com/blog/62984/201412/030949485307996.png][img]http://img.1sucai.cn/uploads/article/2018010710/20180107100141_49_78948.png[/img] [/url] 查看系统中的数据库,如下: show databases; [url=http://images.cnitblog.com/blog/62984/201412/030949489513168.png][img]http://img.1sucai.cn/uploads/article/2018010710/20180107100141_50_4614.png[/img] [/url] 查看master库binlog相关信息,如下: show master status; [url=http://images.cnitblog.com/blog/62984/201412/030949493895866.png][img]http://img.1sucai.cn/uploads/article/2018010710/20180107100142_51_25387.png[/img] [/url] 查看ilanni用户授权sql语句,如下: show grants for ilanni; [url=http://images.cnitblog.com/blog/62984/201412/030949498422794.png][img]http://img.1sucai.cn/uploads/article/2018010710/20180107100142_52_14526.png[/img] [/url] 查看mysql数据库的表,如下: show tables; [url=http://images.cnitblog.com/blog/62984/201412/030949502958722.png][img]http://img.1sucai.cn/uploads/article/2018010710/20180107100143_53_47180.png[/img] [/url] 3.12 查看主从相关的命令 我们在进行mysql主从配置时,会使用到很多很多的命令。这些命令,我们也可以通过帮助信息获得。如下: help contents; help transactions; [url=http://images.cnitblog.com/blog/62984/201412/030949508589851.png][img]http://img.1sucai.cn/uploads/article/2018010710/20180107100143_54_14750.png[/img] [/url] [url=http://images.cnitblog.com/blog/62984/201412/030949517643707.png][img]http://img.1sucai.cn/uploads/article/2018010710/20180107100143_55_4594.png[/img] [/url] 注意上图中,我们黄色标记出来的部分。主库授予从库的命令、锁表命令、主库master重置数据库、开启与关闭同步等命令。 我们在从库上执行主库的授权命令时,使用change master to命令。有关change master to命令的具体使用方法,查看帮助。如下: help change master to; [url=http://images.cnitblog.com/blog/62984/201412/030949522808850.png][img]http://img.1sucai.cn/uploads/article/2018010710/20180107100144_56_70678.png[/img] [/url] [url=http://images.cnitblog.com/blog/62984/201412/030949532649449.png][img]http://img.1sucai.cn/uploads/article/2018010710/20180107100144_57_65718.png[/img] [/url] 通过上述两张图,我们就能很容易的知道change master to使用方法,并且帮助信息中也给出实际的例子。 我们在进行导出mysql数据库时,为了保持主从数据库的一致性,此时我们会通过lock命令进行锁表。有关lock命令的使用,我们也可以通过帮助信息进行查看,如下: help lock; [url=http://images.cnitblog.com/blog/62984/201412/030949539672834.png][img]http://img.1sucai.cn/uploads/article/2018010710/20180107100145_58_70990.png[/img] [/url] 重置主库master日志,如下: help reset master; [url=http://images.cnitblog.com/blog/62984/201412/030949550929390.png][img]http://img.1sucai.cn/uploads/article/2018010710/20180107100145_59_85369.png[/img] [/url] reset master; [url=http://images.cnitblog.com/blog/62984/201412/030949558116004.png][img]http://img.1sucai.cn/uploads/article/2018010710/20180107100150_60_39355.png[/img] [/url] 在从库slave上开启同步,如下: help start slave; [url=http://images.cnitblog.com/blog/62984/201412/030949563737133.png][img]http://img.1sucai.cn/uploads/article/2018010710/20180107100150_61_27621.png[/img] [/url] start slave; show slave statusG [url=http://images.cnitblog.com/blog/62984/201412/030949570453060.png][img]http://img.1sucai.cn/uploads/article/2018010710/20180107100151_62_68203.png[/img] [/url] 在从库slave上关闭同步,如下: help stop slave; [url=http://images.cnitblog.com/blog/62984/201412/030949575618203.png][img]http://img.1sucai.cn/uploads/article/2018010710/20180107100151_63_89452.png[/img] [/url] stop slave; show slave statusG [url=http://images.cnitblog.com/blog/62984/201412/030949583894317.png][img]http://img.1sucai.cn/uploads/article/2018010710/20180107100152_64_57342.png[/img] [/url]
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部