本文首发于 烂泥行天下 。 在安装、管理和使用mysql过程中,你是不是需要记忆很多的mysql命令。而且对于新手来说,很不多的命令不知道该如何应用,对于老手来说很多命令时间长了忘记具体的用法。 其实mysql的帮助信息,已经给我们提供很全面的使用方法。 下
本文首发于烂泥行天下。
在安装、管理和使用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 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
有关mysql主从同步的具体配置方法详见《烂泥:mysql5.5主从同步复制配置》。

ACID属性包括原子性、一致性、隔离性和持久性,是数据库设计的基石。1.原子性确保事务要么完全成功,要么完全失败。2.一致性保证数据库在事务前后保持一致状态。3.隔离性确保事务之间互不干扰。4.持久性确保事务提交后数据永久保存。

MySQL既是数据库管理系统(DBMS),也与编程语言紧密相关。1)作为DBMS,MySQL用于存储、组织和检索数据,优化索引可提高查询性能。2)通过SQL与编程语言结合,嵌入在如Python中,使用ORM工具如SQLAlchemy可简化操作。3)性能优化包括索引、查询、缓存、分库分表和事务管理。

MySQL使用SQL命令管理数据。1.基本命令包括SELECT、INSERT、UPDATE和DELETE。2.高级用法涉及JOIN、子查询和聚合函数。3.常见错误有语法、逻辑和性能问题。4.优化技巧包括使用索引、避免SELECT*和使用LIMIT。

MySQL是一种高效的关系型数据库管理系统,适用于存储和管理数据。其优势包括高性能查询、灵活的事务处理和丰富的数据类型。实际应用中,MySQL常用于电商平台、社交网络和内容管理系统,但需注意性能优化、数据安全和扩展性。

SQL和MySQL的关系是标准语言与具体实现的关系。1.SQL是用于管理和操作关系数据库的标准语言,允许进行数据的增、删、改、查。2.MySQL是一个具体的数据库管理系统,使用SQL作为其操作语言,并提供高效的数据存储和管理。

InnoDB使用redologs和undologs确保数据一致性和可靠性。1.redologs记录数据页修改,确保崩溃恢复和事务持久性。2.undologs记录数据原始值,支持事务回滚和MVCC。

EXPLAIN命令的关键指标包括type、key、rows和Extra。1)type反映查询的访问类型,值越高效率越高,如const优于ALL。2)key显示使用的索引,NULL表示无索引。3)rows预估扫描行数,影响查询性能。4)Extra提供额外信息,如Usingfilesort提示需要优化。

Usingtemporary在MySQL查询中表示需要创建临时表,常见于使用DISTINCT、GROUPBY或非索引列的ORDERBY。可以通过优化索引和重写查询避免其出现,提升查询性能。具体来说,Usingtemporary出现在EXPLAIN输出中时,意味着MySQL需要创建临时表来处理查询。这通常发生在以下情况:1)使用DISTINCT或GROUPBY时进行去重或分组;2)ORDERBY包含非索引列时进行排序;3)使用复杂的子查询或联接操作。优化方法包括:1)为ORDERBY和GROUPB


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

SublimeText3 Linux新版
SublimeText3 Linux最新版

Dreamweaver CS6
视觉化网页开发工具

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。