mysql数据库-阿里云开发者社区

开发者社区> 数据库> 正文
登录阅读全文

mysql数据库

简介:

查看数据库结构

    mysql是一套数据库管理系统,在每一台mysql服务器中,支持运行多个库,每个库相当于一个容器,其中存放多个表。表中的每一行包含一条具体的数据关系信息,称为数据记录。

    查看当前服务器中有哪些库

        show databases;查看当前mysql服务器中包含的库。经初始化后的mysql服务器,默认建立的test,mysql(包含了用户认证相关的表),information_schema,performance_schema

    查看当前使用的库有那些表

         show tables:操作前需要先使用use切换到所使用的数据库。mysql数据库文件存放在/usr/local/mysql/data目录文件,后缀分别是.frm,.myd,.myi

    查看表结构

        describe:显示表的结构,组成表的各字段的信息。

创建及删除库和表

    创建新的库

        create datebase:需指定数据库名称作为参数。刚创建的数据库是空的,其中不包含任何表,在/usr/local/mysql/data目录下会自动生成一个与新建的库名相同的空文件夹。

    创建新的表

        create table:并定义该表格锁使用的各字段。创建表之前,应先明确数据表格的结构,各字段的名称和类型等信息。

    删除一个数据表

        drop table:用于删除库中的表,需指定库名表名作为参数。

    删除一个数据库

        drop database:删除指定库。

管理表中的数据记录

    插入数据记录

        insert into:用于向表中插入新的数据记录。

        insert into 表名(字段1,字段2,。。。) values(字段1的值,字段2的值,。。。)插入新的数据记录是,如果这条记录完整包括标表中的所有字段的值,则插入语句中指定字段的部分可以省略。

    查询数据记录

        select:从指定的表中查找符合条件的数据记录

        select 字段名1,字段名2,。。。 from 表名 where 条件表达式。所有字段时,可以使用通配符*,若要显示所有的数据记录则可以省略where条件子句。

    修改数据记录

        update:用于修改,更新表中的数据记录

         update 表名 set 字段名1=字段值1[,字段名=字段值2] where 条件表达式

    mysql数据服务器中,用于访问数据库的各种用户信息都保存在mysql库的user表中。

    update mysql.user set password=pwassword('密码') where user=‘root’

        若是在linux1命令行环境中执行,可以使用mysqladmin工具设置密码

    mysqladmin -u root -p password ‘密码’

    删除数据记录

        delete:删除表中指定的数据记录

        delete from 表名 where 条件表达式

        mysql中数据服务器中,默认添加从本机访问数据的空用户(user,password均为空)。

数据的用户授权

    mysql数据库的root用户账号拥有对所有库,表的全部权限。

    授予权限

        grant语句:用来设置数据库用户的访问权限,当指定的用户名不存在是,grant语句将会创建新的用户,否则grant语句用户修改用户信息

        grant 权限列表 on 库名.表名 to 用户名@来源地址 [identified by '密码']

        权限列表:以逗号分隔,如select,insert,update。all表示所有权限

        库名.表名:用于指定授权操作的库和表的名称,可以使用通配符*

        用户名@来源地址:指定用户名称和允许访问的客户机地址。来源可以是域名,ip地址,还可以使用%通配符,表示某个区域或网段内的所有地址。

        identified by:设置用户连接数据库是所使用的密码字符串。若省略,则用户的密码将为空。实际生产环境中,数据库与网站服务器有时候是相互独立的。

    查看权限

        show grants语句:查看数据库用户的授权信息,通过for子句可指定查看的用户对象。

    撤销权限

        revoke语句:撤销指定用户的数据库权限,撤销权限后的用户仍然可以连接到mysql服务器,但将被禁止执行对应的数据库操作。

        revoke 权限列表 on 数据库名.表名 from 用户名@来源地址

数据库的备份与恢复

    及时备份数据库是信息安全管理的重要工作之一。 

    备份数据库:通过mysqldump可以将指定的库,表或全部的库导出sql脚本,便于该命令在不同版本的mysql服务器上使用。

        执行导出操作:使用mysqldump命令导出数据时,默认会之间在终端显示,若要保存到文件,需要结合shell的>重定向输出操作

        导出指定库中的部分表:

        mysqldump [选项] 库名 [表名1] [表名2] ... > /备份路径/备份文件名

        导出一个或多个完整的库

        mysqldump [选项] --databases 库名1 [库名2] ... > /备份路径/备份文件名

        备份mysql服务器中所有的库

        mysqldump [选项] --all-databases > /备份路径/备份文件名

        常用的选项包括-u,=p,分别指定数据库用户名,密码。

        查看备份文件内容

            通过mysqldump工具导出的sql脚本是文本文件,其中/*...*/部分以--开头的哈那个表示注释信息,使用grep,less,cat等文本工具可以查看脚本内容。

    恢复数据库

        使用mysqldump命令导出的sql备份脚本,在需要恢复时可以通过mysql命令对其进行导入操作。

        mysql [选项] [库名] [表名] < /备份路径/备份文件名

            当备份文件只包含表的备份,而不包括创建库的语句是,则执行导入操作必须执行库名,且目标库必须存在。若备份文件已经包括完整的库信息,则执行导入操作时无须指定库名。

本文转自   宏强   51CTO博客,原文链接:http://blog.51cto.com/tanhong/1907238

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章