原文: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 终端登录(简化)

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
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查看当前所在目录”。

4.2 导入数据库

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

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

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

4.3 还原数据库

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

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

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

那么这节就到这里吧,后期会把终端操作SQL语句的基础部分奉上,请大家留意我的博客,谢谢。


博文作者:GarveyCalvin

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

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

MySQL之终端(Terminal)管理MySQL的更多相关文章

  1. MySQL之终端(Terminal)管理MySQL(转)

    前言:MySQL有很多的可视化管理工具,比如“mysql-workbench”和“sequel-pro-”. 现在我写MySQL的终端命令操作的文章,是想强化一下自己对于MySQL的理解,总会比使用图 ...

  2. MySql安装和基本管理&mysql语句

    MySql安装和基本管理   本章内容: mysql的安装.启动 mysql破解密码 统一字符编码 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下 ...

  3. mysql 安装与基本管理

    目录 mysql 安装与基本管理 MySQL介绍 下载安装 登录设置密码 破解密码 统一字符编码 mysql参数配置 mysql 常用指令 mysql 安装与基本管理 MySQL介绍 MySQL是一个 ...

  4. mysql 用户及权限管理 小结

    MySQL 默认有个root用户,但是这个用户权限太大,一般只在管理数据库时候才用.如果在项目中要连接 MySQL 数据库,则建议新建一个权限较小的用户来连接. 在 MySQL 命令行模式下输入如下命 ...

  5. MySQL之终端(Terminal)管理数据库、数据表、数据的基本操作(转)

    MySQL有很多的可视化管理工具,比如“mysql-workbench”和“sequel-pro-”. 现在我写MySQL的终端命令操作的文章,是想强化一下自己对于MySQL的理解,总会比使用图形化的 ...

  6. Mac MAMP 使用终端shell操作mysql数据库

    在MAMP中已经集成了phpMyAdmin,可以很方便的管理mysql数据库,但是有的情况是phpMyAdmin不能做到的.比如,导入sql文件,当sql文件非常大(大于20MB)的时候,apache ...

  7. 使用 python 管理 mysql 开发工具箱 - 1

    Mysql 是一个比较优秀的开源的数据库,很多公司都在使用.作为运维人员,经常做着一些重复性的工作,比如创建数据库实例,数据库备份等,完全都可以使用 python 编写一个工具来实现. 一.模块 Co ...

  8. net Core 通过 Ef Core 访问、管理Mysql

    net Core 通过 Ef Core 访问.管理Mysql 本文地址:http://www.cnblogs.com/likeli/p/5910524.html 环境 dotnet Core版本:1. ...

  9. Macbook下安装管理MySQL

    下载安装MySQL 1.访问MySQL官网:http://dev.mysql.com/downloads/ 2.下载 MySQL Community Server: 3.Select Platform ...

随机推荐

  1. [置顶] JUnit入门教程(二)

    一:介绍 接着上次的课程,今天我们学习JUnit4的新特性 assertThat()方法,这种方式和其余的assert方法比起来,更加接进英语. 二:分析API API中的例子: 参数 T Actua ...

  2. cisco(思科)交换机配置篇【两】

    上一页大家津津乐道cisco基本操作命令开关,而端午假期,该cisco简单的开关配置,并希望请您分享"端午节快乐"!Ok,配置交换机,首先,你必须进入全局配置模式Switch,在成 ...

  3. DataTable筛选器

    //datatable筛选器,函数包装模板:传入源table,目标table,db名,多表查询table,列条件数组,where筛选列,selsect筛选列 public DataTable Filt ...

  4. jQuery回到顶部插件jQuery GoUp

    插件描写叙述 jQuery GoUp!是一个简单的jQuery插件,让你的网页用户直接回到顶部. 用法很easy 引用jquery库和jquery.goup.min.js到你的页面 <scrip ...

  5. QQ旅程server分析01-网关server

    网关server网络进程: s1.连接网关管理器 s2.上报自身信息给网关管理器 s3.从网关管理器获取自己的管理信息 *s4.依照管理信息预分配好须要的资源 s5.网关server打开client监 ...

  6. iOS开发 编辑框被系统弹出的软键盘遮挡问题

    我们在开发注冊界面的时候,最后几个注冊条件经常easy被系统弹出的键盘遮挡,例如以下图: 能够看见,邮箱条件被遮挡掉了,怎么解决呢?我是通过UITextField的代理加计算偏移量: - (void) ...

  7. android学习一些帖子

    关于谷歌和苹果的帖子 http://news.eoe.cn/18576.html android无线调试的帖子: http://baoyz.com/android/2014/06/24/adb-wir ...

  8. 一个简单的java僵局演示示例

    在实际编程,为了避免死锁情况,但是,让你写一个有用的程序死锁似几乎不要太简单(种面试题),下面是一个简单的死锁样例. 线程的同步化可能会造成死锁,死锁发生在两个线程相互持有对方正在等待的东西(实际是两 ...

  9. EF 主键自增、级联删除

    一.主键自增 1.设置数据库中,主键自增 2.设置VS中Model1.edmx

  10. 【原创】纯OO:从设计到编码写一个FlappyBird (一)

    说起来,自学计算机也有2年多的时间了,自己还没有从设计到编码,完完整整的设计一个基于面向对象的软件的经历..囧 于是,就有了这个系列.首先选用的语言是Java,没别的原因,HeadFirst设计模式是 ...