前言: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密码。
博文作者:GarveyCalvin
博文出处:http://www.cnblogs.com/GarveyCalvin/
=======修改列名=============
oracle:
alter table 表名 rename column 现列名 to 新列名;
mysql:
alter table 表名 change column 现列名 新列名 varchar(10);
create table lxjtest like emp; #只复制表结构,没有数。
create table lxjtest2 as select * from emp; #复制表结构和数据。
alter table lxjtest add testcolumn varchar(10); #新增testcolumn列
alter table lxjtest add testcolumn2 after empno; #新增testcolumn2列在empno列之后