`
fireDragonpzy
  • 浏览: 441335 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

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服务器中的所有数据库的内容(添加“--all-databases”选项),当需要备份的信息较多时,可以添加“--opt”选项进行优化,以加快备份速度。

II:恢复数据库

对于使用mysqldump命令导出的备份文件,在需要恢复时可以直接通过mysql命令进行导入。使用mysql命令导入.sql脚本文件时;

命令格式为:mysql -u root -p [数据库名] < /备份路径、备份文件名

eg:备份文件包括所有的(或多个)数据库信息时,执行mysql导入时可以不指定数据库名。


eg:备份文件只包含单个数据库或单个数据表时,执行mysql导入时需要指定目标数据库的名称。

2>:用户及权限设置

前面过程中,对MySql数据库的大部分操作都是使用root账号进行的。由于root账号拥有对MySql数据库的全部权限,频繁使用root账号将给数据库服务带来一定的风险。在实际工作中,通常会建立一些专门的用户,只负责特定的数据库、表的管理和维护,从而将权限限制在一定的范围内。

MySql数据库用户的权限管理主要包括三个方面:授予权限、查看权限、撤销权限。下面分别介绍:

1>>>:授予权限

GRANT 语句是用来创建用户并进行授权的最常用语句。当指定用户名不存在时,GRANT语句将会创建新的用户,否则用于修改用户信息。命令格式为:GRANT 权限列表 ON 数据库名.表名 TO 用户名@来源地址 [IDENTIFIED BY '密码']

使用GRANT语句时,需要注意的事项如下:

>:权限列表:使用“ALL”关键字代表全部权限,同时授予多个权限时,以逗号","分隔,例如“select,insert,update,delete”。

>:表名:可使用通配符“*”表示指定数据库中的所有数据表。

>:用户名@来源地址:用来设置谁能连接,能从哪里连接。用户名不能使用通配符,但使用连续的两个单引号“ ‘’  ”时表示空字符串,可用于匹配任何用户。来源地址表示连接数据库的客户机地址,可使用“%”作为通配符,匹配某个域内的所有地址(如:%.benet.com),或使用带掩码标记的网络地址(如:192.168.1.0/24)。

>:IDENTIFIED BY :用于设置用户连接数据库时使用的密码字符串,密码经过加密后存储与mysql库的user表中,省略“IDENTIFIED BY”部分时,新用户的密码将为空。

eg:授权数据库用户xiaoqi,允许其从本机连接到MySql服务器,只能查看auth库中的users表的内容,使用密码“123456”进行验证。

切换到其他终端,使用用户xiaoqi的身份连接数据库,当查看非授权的数据表时将被拒绝。

eg:查看已授权数据表——(auth.users)。

eg:授权数据库用户admin1,允许其从本机连接到MySql服务器,对auth库中的所有表具有完全权限,使用密码"123456"验证。

mysql>grant all on auth.* admin1@'localhost' identified by '123456';

eg:授权数据库用户admin2,允许其从网段192.168.0.0/24中访问MySql服务器,可以查询auth库中的所有表,使用密码“123456”进行验证。

mysql>grant select on auth.* to admin2@'192.168.0.0/24' identified by "123456";

eg:授权数据库用户admin3,允许其从benet.com域内的任何主机访问MySql服务器,对auth库下的所有表具有select、insert权限,使用密码"123456"验证。

mysql>grant select,insert on auth.* admin3@'%benet.com' identified by "123456";

2>>>:查看权限

需要查看用户权限时,可直接使用SELECT语句对user、db、host、数据表进行查询,也可以使用SHOW语句进行查看,后者相对更加简单,命令格式为:SHOW GRANTS FOR 用户名@域名或IP

eg:查看数据库用户root从服务器本机进行连接时的权限。(嘿嘿!)

eg:查看数据库用户xiaoqi从本地服务器连接时的权限。

3>>>:撤销权限

REVOKE语句:用于撤销指定数据库用户和权限。

命令格式为:REVOKE 权限列表 ON 数据库名.表名 FROM 用户名@域名或IP

eg:撤销数据用户xiaoqi从服务器本地对auth数据库users表的所有权限。


掌握上述各种MySql管理命令的使用,已经可以满足不多数网络管理员(非专职数据库管理员)的工作需要。嘿嘿!数据库可是一门高深的学问,没那么简单喔!!!

出处:http://hi.baidu.com/%BA%CE%B4%A6%C8%BE%B3%BE%B0%A3a/blog/item/51dd03d5dbcf0df877c63883.html
分享到:
评论

相关推荐

    Linux课程大纲——从入门到精通Linux的教程

    4 RHEL4基本命令使用 4.1 SSH Secure Shell Client工具 4.1.1 SSH Secure Shell Client安装 4.1.2 SSH Secure Shell Client使用 4.2 RHEL4命令使用 4.2.1 Linux目录结构 4.2.2 Linux权限控制 4.2.3 vi命令...

    《Linux服务器配置与管理》教学课件—第-11-章--MySQL-服务器配置.pptx

    目录 11.6 数据库的备份与恢复 11.7 任务实战 11.5 MySQL 基本使用 11.4 MySQL 客户端 11.2 MySQL 软件的安装与运行 11.1 MySQL 简介 11.3 MySQL 服务器的配置与优化 《Linux服务器配置与管理》教学课件—第-11-章-...

    Linux入门及软件安装

    01/ 大数据课程介绍 1 02/ 基础课程内容介绍 1 03/ Linux基础 2 3.1 系统安装准备 2 ...4.4 RPM方式软件安装——MySql数据库安装 31 4.5 YUM方式软件安装 34 4.6 C语言软件源码编译安装——redis服务器安装 39

    cmd操作命令和linux命令大全收集

    CMD命令:开始-&gt;运行-&gt;键入cmd或command(在命令行里可以看到系统版本、文件系统版本) 命令大全 1. gpedit.msc-----组策略 2. sndrec32-------录音机 3. Nslookup-------IP地址侦测器 ,是一个 监测网络中 DNS...

    MySQL 入门学习 ——基础教程

    结果说明mysql命令的大小写结果是一致的。 练习如下操作: mysql&gt;Select (20+5)*4; mysql&gt;Select (20+5)*4,sin(pi()/3); mysql&gt;Select (20+5)*4 AS Result,sin(pi()/3); (AS: 指定假名为Result) · 5、多行...

    MySQL命令大全

    C:使用mysql命令 mysql -u username -p -D dbname 一、启动与退出 1、进入MySQL:启动MySQL Command Line Client(MySQL的DOS界面),直接输入安装时的密码即可。此时的提示符是:mysql&gt; 2、退出MySQL:quit或...

    c++项目——公司管理系统

    这个是一个关于公司管理系统的项目,用C++做的,里面用到一些LINUX的系统命令,还有必须要建立MYSQL的库才能正常使用!

    linux高级程序设计

    你将了解各种各样常被Linux开发人员使用的工具——编译器、调试器和软件配置管理工具,以及这些工具是如何用来构建应用软件、工具甚至Linux内核自身的。你将学习到Linux系统中使其与其他类UNIX系统真正区分开来的...

    Mysql的学习笔记01

    比如mysql的Java的JDBC驱动程序——mysql-connector-java-5.1.26-bin.jar。再比如.net平台的操作数据库的规范ADO。 模块2:连接池,Mysql自身有个连接池,为了连接线程的复用,Mysql将其进行了池化。将连接资源进行...

    linux-tools.zip

    用于快捷检索nginx、mysql、php、node.js、python是否安装,以及快捷查询各用户的历史命令、历史登录信息、以及用户,还可以快捷检索想要查询的东西 ltuser——查询所有用户 lthistory——查询所有用户的历史操作...

    hi 感恩节——Linux基础教程之mysql和php

    2.多动手,多敲命令。只看书,不实践,一切都是浮云。默认安装redhat 5,启动redhat 5是带有图形界面的,但是图形界面最好少用,对学习Linux不利,一定要尽量用字符界面,慢慢习惯。而工作中,使用Linux,使用图形...

    工具使用篇——crontab实现linux服务器上mysql数据库的备份工作

    通过mysqldump命令保留数据库的结构和数据sql语句。 通过crontab的创建定时任务,定期的循环备份。 操作过程 1、创建A.sh文件文件的内容如下: #将数据库备份并压缩的命令 mysqldump -u你的数据库用户名 -p数据库...

    Linux程序设计 第4版.haozip01

    8.2 mysql管理 270 8.2.1 命令 270 8.2.2 创建用户并赋予权限 274 8.2.3 密码 276 8.2.4 创建数据库 276 8.2.5 数据类型 277 8.2.6 创建表 278 8.2.7 图形化工具 280 8.3 使用c语言访问mysql数据 283 8.3.1...

    Linux程序设计 第4版.haozip02

    8.2 mysql管理 270 8.2.1 命令 270 8.2.2 创建用户并赋予权限 274 8.2.3 密码 276 8.2.4 创建数据库 276 8.2.5 数据类型 277 8.2.6 创建表 278 8.2.7 图形化工具 280 8.3 使用c语言访问mysql数据 283 8.3.1...

    Python入门——高级篇

    Python语言入门,高级篇,思维导图格式,精简版(Linux常用命令、多任务编程、网络编程、HTTP协议、Web服务器、HTML+CSS基础、JavaScript、jQuery、MySQL使用、闭包和装饰器、正则、mini-web框架),仅供参考

    linux下自动备份MySQL数据并上传到FTP上的shell脚本

    /bin/bash #Mysql autobackup shell # # #—————-set the mysql login parameters dbuser=root dbpasswd= dbserver=localhost dbname=fwserver2008 dbopt=–opt backupdir=/dbbackup/ #—————–set the FTP ...

    低清版 大型门户网站是这样炼成的.pdf

    13.3.4 seo基本功——关键词的选用 800 13.3.5 域名与空间对seo的影响 802 13.3.6 搜索引擎偏爱“勤快”的网站 804 13.4 搜索引擎优化辅助工具大本营 805 13.4.1 关键字选词辅助工具 806 13.4.2 关键字排名查询...

    Ubuntu下图形化LAMP环境配置教程(linux)

    按照《Ubuntu下LAMP环境配置教程(linux)》(点击打开链接)搞好LAMP的环境之后,就可以利用gredit文本编辑器去写php,然后利用终端去查询mysql里面的内容,但是,这种环境还挺粗糙的,没有开发的IDE,查询数据库还要...

    探讨:MySQL中如何查询当前正在运行的SQL语句

    ————– mysql Ver 11.18 Distrib 3.23.58, for redhat-linux-gnu (i386) Connection id: 53 Current database: (null) Current user: root@localhost Current pager: stdout Using outfile: ” Server version:...

Global site tag (gtag.js) - Google Analytics