zoukankan      html  css  js  c++  java
  • MySQL之终端(Terminal)管理MySQL

    前言:MySQL有很多的可视化管理工具,比如“mysql-workbench”和“sequel-pro-”。 现在我写MySQL的终端命令操作的文章,是想强化一下自己对于MySQL的理解,总会比使用图形化的理解透彻,因为我本来就比较喜欢写代码。同时写出来这些文章,是想要给大家当个参考,希望也能对大家有所帮助,有所提升,这就是我为什么要写终端操作MySQL的文章了。

    以下命令基于笔者在Mac系统测试提供。

    1、MySQL服务状态

    1.1 启动MySQL

    1.2 停止MySQL服务

    1.3 重启MySQL服务

    1.4 查看当前MySQL版本

    2、更改MySQL的root管理员密码

    3、MySQL终端登录

    3.1 终端登录(繁琐)

    3.2 终端登录(简化)

    4、 MySQL数据库的导入和导出

    4.1 导出数据库

    4.2 导入数据库

    4.3 还原数据库

    1、MySQL服务状态

    1.1 启动MySQL

    $ sudo /Library/StartupItems/MySQLCOM/MySQLCOM start

    需要输入管理员密码。

    1.2 停止MySQL服务

     $ sudo /Library/StartupItems/MySQLCOM/MySQLCOM stop

    只需把start改成stop即可。

    1.3 重启MySQL服务

    $ sudo /Library/StartupItems/MySQLCOM/MySQLCOM restart
    Restarting MySQL database server

    在我的MAC上,一般都只需要用restart的命令。

    当然,除了上述使用终端去启动MySQL外。还有一个意外简单的方法,可以在“设置”里找到MySQL服务,并设置它的状态,开启或关闭。

    1.4 查看当前MySQL版本

    mysql> select version();
    +-----------+
    | version() |
    +-----------+
    | 5.6.20    |
    +-----------+
    1 row in set (0.00 sec)

    2、更改MySQL的root管理员密码

    例:把root账号的密码改成'123456':

    ✗ /usr/local/mysql/bin/mysqladmin -u root -p password 123456
    Enter password: 
    Warning: Using a password on the command line interface can be insecure.

    注意:需要知道账户的原密码才能进行修改。

    3、MySQL终端登录

    3.1 终端登录(繁琐)

    首先使用以下命令查看路径,是否有有添加MySQL的路径:

    $ echo $PATH

    MySQL的运行路径:/usr/local/mysql/bin,如果你能在查询结果中找到这段字符,那么就是已添加进路径里。如没有,则需要把MySQL的运行路径添加进去。

    添加MySQL运行路径:

    $ PATH="$PATH":/usr/local/mysql/bin 

    添加是否成功,我们可以使用which使用来查看:

    $ which mysql
    /usr/local/mysql/bin/mysql

    若存在路径,则会输出mysql的运行路径,若不存在,则什么都不输出。

    添加后,我们就能正常登录了:

    $ mysql -u root -p

    这里会要求输入密码,需要注意的是,这里的密码为MySQL的登录密码,非系统管理员的登录密码

    注意:每次关闭终端后,再重新打开终端,都要重新添加路径,你可以把这些命令当作是临时的。也就是说,这些命令会在终端关闭后失效。 

    3.2 终端登录(简化)

    我们可以使用alias命令简化MySQL的终端登录操作,当然,如果你只是想要临时的话,你可以直接在终端输入alias <简化后的名字> <执行的命令>,这样做的话,只要你关闭终端后,刚刚进行过简化的命令就会失效。如果你想要让它始终存在,那么需要把alias指令添加到 ~/.bashrc(Ubuntu) 或者~/.bash_profile(MacOS)。

    除了上述3.1的终端登录方法外,我们还可以使用MySQL的运行路径进行登录,像这样:

    $ /usr/local/mysql/bin/mysql -u root -p
    Enter password: 

    输入正确的密码后,就能正常操作MySQL了。

    如果每次都要输入这么一长串的字符,那不是太繁琐了点?而且不容易记忆。在终端里,我们可以使用 alias 命令去简化: 

    $ alias mysql=/usr/local/mysql/bin/mysql

    它的格式是:alias <简化后的名字>=<'具体的指令>

    我们使用时就可以很简单:

    $ mysql -u root -p
    Enter password: 

    实在是太方便了。

    但是这样做还不够,因为这个是暂时性的,只要我们关闭当前的终端窗口,所有简化的指令便会失效。所以我们需要把alias定义为全局的,我们可以在~/.bash_profile添加指令,前提是进入~/.bash_profile文件:

    $ vi ~/.bash_profile 

    编辑前:

    export PATH="/Users/baijiawei/Library/Application Support/GoodSync":$PATH

    编辑后:

    export PATH="/Users/baijiawei/Library/Application Support/GoodSync":$PATH
                 
    # MySQL
    alias mysql='/usr/local/mysql/bin/mysql';

    #那一行代表是注释,我们一般还会在具体的命令加上单引号,就是前面我们提及到的“alias <简化后的名字>=<'具体的指令>”。

    最后,要使~/.bash_profile文件生效,我们必须使用 source 命令:

    $ source ~/.bash_profile

    以后我们使用时,就不需要再输入那么多麻烦的指令了,So Easy。

    我们可以在终端上直接输入alias查看已有的简化命令:

    $ alias 
    alias mysql='/usr/local/mysql/bin/mysql'

    4、 MySQL数据库的导入和导出

    要想导入和导出数据库,我们需要用到mysqldump工具,接下来我会介绍它的导入和导出功能。这个工具在安装MySQL时就附带上了,在使用它之前,我们需要找到它的运行路径。幸好的是,我已经找到了:

    /usr/local/mysql/bin/mysqldump

    我们先不用着急怎样去使用它,我们先使用alias简化一下命令:

    alias mysqldump='/usr/local/mysql/bin/mysqldump';

    4.1 导出数据库

    好了,现在我们来介绍它的用法吧,先来看看导出数据库时的格式:

    mysqldump -u root -p <数据库名> <表名> > <导出的名字>.sql

    来个实例说明:

    $ mysqldump -u root -p test CLASS > class.sql
    Enter password: 

    当然这些操作都是需要输入MySQL的管理员密码,也就是root的密码。另外,它是导出到终端的当前目录。提示:“我们可以使用pwd查看当前所在目录”。

    导出带删除格式的数据库,还原时能够覆盖已有数据库而不用删除原有数据库:

    mysqldump --add-drop-table e -u root -p testDB > TESTDB.sql

    4.2 导入数据库

    在已有的数据库导入数据,首先使用use命令进入到该数据库,然后:

    mysql> source /Users//Documents/Code/class.sql

    导入数据库的格式:source /<路径>/. <sql>.sql,你也可以导出为.dump文件

    4.3 还原数据库

    如果你误删了一些数据,又或者是更新数据时忘记指定where条件,或者你把数据表都删除了,你也可以把它们还原:

    $ mysql -u root -p testDB < testDB.sql
    Enter password: 

    当然,也是需要输入root密码。

    那么这节就到这里吧,欢迎大家继续阅读我的下一篇文章“MySQL之终端(Terminal)管理数据库、数据表、数据的基本操作”。


    博文作者:GarveyCalvin

    博文出处:http://www.cnblogs.com/GarveyCalvin/

    本文版权归作者和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作!

  • 相关阅读:
    NYOJ47 过河问题
    CodeForces1165
    LuoGuP3667
    ZROI#958
    ZROI#957
    KMP小结
    LuoGuP2742[模板]二维凸包
    ZROI#999
    ZROI#997
    ZROI#996
  • 原文地址:https://www.cnblogs.com/GarveyCalvin/p/4297221.html
Copyright © 2011-2022 走看看