日期:2014-05-16  浏览次数:20769 次

Linux——mysql基本管理命令
在此将介绍MySQL数据库的一些基本管理操作,包括如何登录,退出MySql环境及管理数据库、表的常用SQL语句。

1、登录及退出MySql环境:

使用MySql客户端命令工具"mysql"可以连接并登录到MySql环境,在带有提示符“mysql>”的交互式命令环境中进行操作。在该操作环境中,输入的每一条数据库管理命令以分号“;”表示结束,可以不区分大小写(但习惯上将SQL语句中的关键字使用大写)。

对于刚初始化完毕的MySql数据库服务器来说,其管理员账号root默认是没有设置密码的,只要直接执行“mysql -u root”命令,即可以root用户身份登录本机的MySql服务器。在“mysql>”环境中,输入“exit”命令即可退出。

&:为了安全起见,建议使用mysqladmin命令工具为MySql数据库的root用户设置一个密码。再次连接mysqld服务时,需要在“mysql -u root”命令后加上“-p”参数,根据系统提示输入正确的密码后才可以登录MySql环境。(我没有把MySql变量输出到全局喔)!

需要注意,这个root用户是用来访问mysqld服务的,而不是登录Linux系统的root用户喔!

2、显示数据库结构:

1>:查看数据库中的列表信息

SHOW DATABASES语句;用于查看MySql服务器中包含的数据库列表。经初始化后的MySql服务器,默认建立了三个数据库:test、mysql和information_schema。

eg:查看MySQl服务器中的包含哪些数据库。

2>:查看数据库中的数据表信息

SHOW TABLES语句:用于显示当前数据库中包含的数据表。在显示数据表之前,需要先使用“USE”语句切换到所使用的库。

eg:却换到数据库mysql,并显示其中包含有哪些数据表。

MySql数据库的数据文件存储在目录"/opt/mysql/var"中(因为我的mysql就安在/opt下面),每个数据库对应一个目录,用于存储数据表文件。每一个数据表对应为三个文件,后缀名分别为“.frm”、".MYD"和“.MYI”。

eg:查看数据库mysql中user表对应的文件数据。

3>:显示数据表的结构。

DESCRIBE语句:用于显示数据表中列的信息(或者叫表结构),以“数据库名表名”作为命令参数。命令格式为:

DESCRIBE  [数据库名.]表名

当省略数据库名时,则以为是查询当前数据库中的表。

eg:使用数据库mysql,并显示其中user表的信息。

3、数据库的创建与删除

1>:创建新的数据库

CREATE DATABASE语句:用于创建一个新的数据库,使用数据库名称作为参数,

命令格式:       CREATE DATABASE 数据库名

eg:创建一个名为“auth”的新数据库

创建数据库需要有足够的权限,且数据库名称必须唯一。刚建立的数据库是空的不包含任何表,在“/opt/mysql/var”目录下会对应有一个与数据库名称相同的目录。(不再查看!自己看喔!)

2>:创建新的数据表

CREATE TABLE 语句,用于在数据库中创建新的数据表,需要使用数据表名称作为参数。

命令格式:CREATE TABLE 表名(字段定义。。。。。。)

eg:在auth库中创建一个名为“users”的表。包含两个字段user_name、user_passwd,均为非空字符串值,初始密码设为"123456",其中user_name字段被设为关键索引字段(PRIMARY KEY)。


3>:删除一个数据表

DROP TABLE 语句:用于在数据库中删除指定的数据表,需要使用数据表名称作为参数。命令格式为:

DROP TABLE [数据库名.]表名

eg:删除数据库auth中的users表

4>:删除一个数据库

DROP DATABASE 语句:用于删除指定的数据库,需要使用数据库名称作为参数。

命令格式为:DROP DATABASE 数据库名

eg:删除auth数据库

4、数据录入与维护

参考上述步骤创建auth数据库和users表,下面将以此为基础,学习如何使用INSERT、SELECT、UPDATE和DELETE语句向数据表总插入、查询、修改及删除数据记录。

1>:插入新的数据记录

INSERT 语句:用于想数据表中插入新的数据记录。命令格式为:

INSERT INTO 表名(字段1,字段2,。。。) VALUES(字段1的值,字段2的值,。。。)

eg:在auth库下的user表中插入两个用户zhangsan、lisi的记录,密码分别是“123456”和“654321”。

2>:查询数据记录

SELECT语句:用于从数据表中查找符合条件的数据记录,MySql数据库支持标准的SQL查询语句。命令格式为:

SELECT 字段名1,字段名2。。。 FROM 表名 WHERE 条件表达式

表示所有字段时可以使用通配符“*”,不指定特定条件时可以省略“WHERE”部分。

eg:在auth库的users表中,查看所有的数据记录。

其中,密码字段的值将显示为加密的字符串信息。

eg:在auth库的user表中,查询用户名为“zhangsan”的记录、输出用户名、密码字段。

3>:修改数据记录

UPDATE 语句:用于修改、更新数据表中的数据记录。命令格式为:

UPDATE 表名 SET 字段名1=字段值1[,字段名2=字段值2] WHERE 条件表达式

eg:将数据库用户lisi的密码更改为“123456”。

eg:更改root管理员的密码,更改完执行“FLUSH PRIVILEGES”语句刷新用户授权信息。


4>:删除数据记录

DELETE 语句:用于在数据表中删除指定的数据记录。命令格式为:

DELETE FROM 表名 WHERE 条件表达式

eg:在auth库的user表中,删除name字段的值为“lisi”的数据记录。

eg:为安全起见应删除Mysql的空用户。

 

3、维护数据库及用户权限

对于许多公司的网络管理员来说,可能并不需要掌握非常复杂的数据库语句(这些工作往往由网站开发人员或者专职的数据库管理员来完成)。然而从服务器本身的运行维护角度来说,掌握必要的数据库维护知识仍然是必不可少的。下面简单介绍如何对MySql数据库进行备份或恢复操作,以及关于MySql用户的权限管理。

1>:数据库的备份与恢复

I:备份数据库

及时备份数据库是信息安全管理的重要工作内容之一。MySql数据备份可以使用多种方式,直接备份数据库目录"/opt/mysql/var"是一种比较快捷的方式,而更广泛使用的做法是使用mysqldump命令来完成备份。

使用mysqldump命令可以将数据库信息导出为SQL脚本文件,这样的脚本文件还能在不同版本的MySql服务器上使用。例如,当需要升级MySql数据库软件的版本时,使用mysqldump命令将原有数据库信息导出,直接在更新后的MySql服务器中导入即可。

mysqldump命令可以完成全部数据库、指定数据库、数据表的备份。命令格式为:

mysqldump -u 用户名 -p [密码]  [options] [数据库名] [表名] > /备份路径/备份文件名

eg:备份整个auth数据库。

eg:备份数据库mysql中的user表、host表

eg:备份MySql服务器中的所有数据库的