本文首发于烂泥行天下。
在安装、管理和使用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多实例时会使用到,详见《烂泥:mysql5.5多实例部署》。
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多实例部署》。
mysqldump一个备份实例,如下:
mysqldump -uilanni1 -p'ilanni1' ilanni>ilanni.sql
如果需要导入备份的sql文件的话,使用mysql命令。如下:
mysql -uilanni1 -p'ilanni1' ilanni
2.4 登录mysql使用mysql
登录或者连接mysql我们可以使用mysql命令,有关mysql命令的使用,查看帮助文档。如下:
/usr/local/mysql/bin/mysql --help
在此我主要介绍下-e和-S这个参数。-e参数在mysql进行主从配置查看master库的binlog文件名及pos位置节点时使用。-S参数mysql多实例使用,详见《烂泥:mysql5.5多实例部署》。如下:
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 statusG;
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 statusG
在从库slave上关闭同步,如下:
help stop slave;
stop slave;
show slave statusG
有关mysql主从同步的具体配置方法详见《烂泥:mysql5.5主从同步复制配置》。
一.通过Keepalived搭建MySQL双主模式的高可用集群系统1.MySQL Replication介绍:MySQL Replication是MySQL自身提供的一个主从复制功能,其实也就是一台MySQL服务器(称为Slave)从另一台MySQL服务器(称为Master)上复制日志,然后解析日志并应用到自身的过程。MySQL Re...
1、打开https://oneinstack.com/auto/选择Stack:LNMTY → ×安装Nginx → √安装JAVA:Tomcat7.0、JDK1.7 → √安装数据库MySQL5.7、DB密码root、DB安装方式二进制安装 → √Pure-FTPd √redis √memcached ×hhvm √iptables...
注意:由于流程太过于繁杂,且坑多,这里只保留关键步骤,具体小问题百度! ________________________ 先进入CentOS6.8图形化界面(如阿里云没有默认的图形化界面,自己去安装https://blog.csdn.net/fenglixiong123/article/details/71138017) 【步骤...
为了简单省事,我在CentOS 6.3上直接使用yum方法来安装MySQL,安装很顺利,但是我发现root用户登录不了。 下面是参考网上的资料并实操后的笔记整理 yum -y install mysql-server service mysqld start 安装过程中没有任何提示,也不知道root的密码设置的是多少。我打算从...
破解MySQL密码 一、MySQL5.7.5之前 只要有系统root密码就可以破解: [root@host-131 ~]# vim /etc/my.cnf //在配置文件中加入如下内容 [mysqld] skip-grant-tables[root@host-131 ~]# systemctl resta...
英语的重要性,毋庸置疑!尤其对广大职场人士,掌握英语意味着就多了一项竞争的技能。那,对于我们成人来说,时间是最宝贵的。如何短时间内在英语方面有所突破,这是我们最关心的事情。英语学习,到底有没有捷径可以走,是否可以速成?周老师在这里明确告诉大家,英语学习,没有绝对的捷径走,但是可以少走弯路。十多年的教学经验告诉我们,成功的学习方法可以借...
展开全部 其实IDLE提供了一个显32313133353236313431303231363533e78988e69d8331333365663438示所有行和所有字符的功能。 我们打开IDLE shell或者IDLE编辑器,可以看到左下角有个Ln和Col,事实上,Ln是当前光标所在行,Col是当前光标所在列。 我们如果想得到文件代码...
前言[1]从 Main 方法说起[2]走进 Tomcat 内部[3]总结[4]《Java 2019 超神之路》《Dubbo 实现原理与源码解析 —— 精品合集》《Spring 实现原理与源码解析 —— 精品合集》《MyBatis 实现原理与源码解析 —— 精品合集》《Spring MVC 实现原理与源码解析 —— 精品合集》《Spri...
【本文摘要】【注】本文所述内容为学习Yjango《学习观》相关视频之后的总结,观点归Yjango所有,本文仅作为学习之用。阅读本节,会让你对英语这类运动类知识的学习豁然开朗,你会知道英语学习方面,我们的症结所在。学习英语这类运动类知识,需要把握四个原则第一,不要用主动意识。第二,关注于端对端第三,输入输出符合实际情况第四,通过多个例子...
点云PCL免费知识星球,点云论文速读。文章:RGB-D SLAM with Structural Regularities作者:Yanyan Li , Raza Yunus , Nikolas Brasch , Nassir Navab and Federico Tombari编译:点云PCL代码:https://github.co...
在DOS窗口执行了一些列命令完成某项工作后,如果要查看都执行了那些命令,该如何办呢?(前提:DOS窗口未关闭的情况下) 一、方法一:使用↑↓箭头上下翻看执行过的命令,此方式适宜执行命令较少的情况; 二、方法二:使用快捷键; F7快捷键查看所有执行过的命令 F3:调出上一条执行过的命令,调出后直接回车即可执行; F...
在windows的DOS操作界面里面,清屏的命令是cls,那么在linux 里面的清屏命令是什么呢?下面笔者分享几种在linux下用过的清屏方法。 1、clear命令、这个命令将会刷新屏幕,本质上只是让终端显示页向后翻了一页,如果向上滚动屏幕还可以看到之前的操作信息。 2、Ctrl+l(小写的L)、这是一个清屏的快捷键,这个是笔者...
LINUX下用CTRL+R快速搜索HISTORY历史命令,快速索引到之前使用过的命令行语句 前提是,搜索已经使用的命令,否则是查不出来结果的。 ctrl+r 用途:反向搜索执行过的命令。(reverse-i-search) 1、任何目录下按住ctrl + r 2、输入历史命令中的字符串 ,比如 输入shut 会检索...
刚开始接触linux,总有些简单的问题不知道怎么搞定,先将目前汇总的解决方法叫做"linux入门-1",后续在使用过程中逐步总结。 1. 连接 ADSL : sudo pon dsl-provider 断开 ADSL: sudo poff 查看 ADSL 状态: plog 2. dpkg 命令 dpkg 是 Debia...
文章目录NVME 和 AHCI 性能比较NVME-CLI nvme工具使用1. 安装2. 命令综述3. 基本命令演示4. NVME 固件设备升级...