10

MySQL之终端(Terminal)管理MySQL

 3 years ago
source link: https://www.cnblogs.com/GarveyCalvin/p/4297221.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

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/

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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK