linux程序设计——MySQL管理

8.2 MySQL管理

包含MySQL发行版中的一些有用的工具程序使管理工作变得更加容易,它们中最常用的是mysqladmin程序。

8.2.1 命令

除了mysqlshow命令以外,所有的MySQL命令都接受下面的3个标准参数。

命令选项    参数    说明

-u          用户名  在默认情况下,mysql工具会尝试把当前linux的用户名作为MySQL的用户名,-u参数可以指定不同的用户名。

-p          密码    如果给出了-p参数但是未提供密码,系统会提示输入密码。

-h          主机名  用于连接位于不同主机上的服务器(这个参数对于本地服务器总是可以省略)

1.myisamchk命令

myisamchk工具是设计用来检查和修复使用默认MYISAM表格式的任何数据表,MYISAM表格由MySQL自身支持。通常情况下,myisamchk应该以安装时创建的mysql用户身份来运行,并且运行该命令时应该位于数据表所处的目录中。为了检查数据库,首先执行命令su mysql,然后改变目录到与数据库名称对应的目录下。例如:

myisamchk -e -r *.MYI

myisamchk最常见的命令选项如下:

命令选项    说明

-c          检查表以发现错误

-e          执行扩展检查

-r          修复发现的错误

2.mysql命令

这是MySQL一个主要的且功能非常强大的命令行工具。几乎每个管理或用户级别的任何都可以在这里执行。可以从命令行启动mysql,通过在命令行的最后添加数据库名称作为参数,就无需在MySQL的控制台中使用use<database>命令。例如,以用户名rick、提示输入密码、默认使用数据库foo来启动控制台的命令如下所示:

$mysql -u rick -p foo

如果在启动MySQL时未指定数据库,可以在MySQL中使用use<databasename>选项来选择一个数据库。

另外,可以通过非交互模式来运行mysql,只需要绑定命令到一个输入文件中并从命令行读取它即可。在这种情况下,必须在命令行上指定密码:

$mysql -u rick --password=secretpassword foo < sqlcommands.sql

一旦mysql读取并处理完命令,它就会返回到命令提示符。

mysql服务器支持同时拥有许多不同的数据库这一想法,所有的数据库都由同一个服务器进程来服务和管理。每个数据库都是一个基本独立的表格集。这样可以针对不同的目的建立不同的数据库,并为每个数据库指定不同的用户,而只需要使用同一个数据库服务器就可以有效地管理它们。只要拥有适当的权限,就可以通过使用use命令在不同的数据库之间进行切换。

特定数据库mysql是由MySQL安装自动创建的,它用于保存如用户和权限这样的数据。

3.mysqladmin

这是快速进行MySQL数据库管理的工具。除了常见的参数以外,还支持以下命令:

命令                    说明

create <databasename>   创建一个新数据库

drop <databasename>     删除一个数据库

password <new_password> 修改密码

ping                    检查服务器是否正在运行

reload                  重载控制权限的grant表

status                  提供服务器的状态

shutdown                停止服务器

variable                显示控制MySQL操作的变量及其当前值

version                 提供服务器的版本号以及它持续运行的时间

如果不带参数调用mysqladmin命令,可以从命令提示符下看到完整的选项列表。

4.mysqlbug

5.mysqldump

这是一个极其有用的工具,它允许以SQL命令集的形式将部分或整个数据库导出到一个单独文件中,该文件能被重新导入MySQL或其他的SQL RDBMS。它接受标准用户和密码信息作为参数,也接受数据库名和表名作为参数。

命令                说明

--add-drop-table    添加SQL命令到输出文件,以在创建表的命令之前丢弃(删除)任何表

-e                  使用扩展的insert语法。

-t                  只转储表中的数据,而不是用来创建表的信息

-d                  只转储表结构,而不是实际数据

这个工具对于迁移数据或快速备份非常有用。此外,由于MySQL的客户段服务器实现方式,通过使用一个安装在不同机器上的mysqldump客户端,它甚至可以用来实现远程备份。下面这个例子显示通过用户名rick进行连接,转储数据库myplaydb的例子:

$ mysqldump -u rick -p myplaydb > myplaydb.dump

6.mysqlimport

mysqlimport命令用于批量将数据导入到一个表中,通过使用mysqlimport,可以从一个输入文件中读取大量的文本数据。这个命令唯一的参数需求是一个文件名和一个数据库名。

7.mysqlshow

这个小工具用来快速了解MySQL安装及其组成数据库的信息

1.不提供参数,它列出所有可用的数据库

2.以一个数据库为参数,它列出该数据库中的表

3.以数据库和表名为参数,它列出表中的列

4.以数据库、表和列为参数,它列出指定列的详细信息

时间: 2025-01-02 18:19:52

linux程序设计——MySQL管理的相关文章

linux程序设计——MySQL管理(第八章)

8.2.2 创建用户并赋予权限 作为MySQL管理员,最常见的工作就是维护用户信息--在MySQL中添加和删除用户并管理它们的权限.通过在MySQL控制台中使用grant和revoke命令来管理用户权限. 1.grant命令 MySQL的grant命令几乎完全遵循SQL92的语法,它的常规格式是: grant <privilege> on <object> to <user> [identified by user-password] [with grant optio

菜鸟的《Linux程序设计》学习(8):MySQL数据库安装、配置及基本操作

1. MySQL数据库: 在涉及到一些大型的Web系统或者嵌入式软件的开发时,都少不了用数据库来管理数据.在Windows操作系统下,使用过各种各样的数据库,如:sqlServer.Oracle.MySQL等等,我们知道,在Windows系统上的软件安装配置都是界面式,操作明显而简捷. 那么在Linux操作系统上,对于数据库的选用,好像首推的是MySQL,它是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司.MySQL是一种关联数据库管理系统,关联数据库将数据保

Linux 程序设计学习笔记----进程管理与程序开发(下)

转载请注明出处:http://blog.csdn.net/suool/article/details/38419983,谢谢! 进程管理及其控制 创建进程 fork()函数 函数说明具体参见:http://pubs.opengroup.org/onlinepubs/009695399/functions/fork.html 返回值:Upon successful completion, fork() shall return 0 to the child process and shall re

Linux 程序设计学习笔记----POSIX 文件及目录管理

转载请注明:http://blog.csdn.net/suool/article/details/38141047 问题引入 文件流和文件描述符的区别 上节讲到ANSI C 库函数的实现在用户态,流的相应资源也在用户空间,但无论如何实现最终都需要通过内核实现对文件的读写控制.因此fopen函数必然调用了对OS的系统调用.这一调用在LINUX下即为open, close, read, write等函数.这些都遵循POSIX标准. so,在linux系统中是如何通过POSIX标准实现对文件的操作和目

6)Linux程序设计入门--消息管理

6)Linux程序设计入门--消息管理 前言:Linux下的进程通信(IPC) Linux下的进程通信(IPC) POSIX无名信号量 System V信号量 System V消息队列 System V共享内存 1.POSIX无名信号量 如果你学习过操作系统,那么肯定熟悉PV操作了.PV操作是原子 操作.也就是操作是不可以中断的,在一定的时间内,只能够有一个进程的代码在CPU上面 执行.在系统当中,有时候为了顺利的使用和保护共享资源,大家提出了信号的概念. 假设 我们要使用一台打印机,如果在同一

Linux 程序设计学习笔记----Linux下文件类型和属性管理

转载请注明出处:http://blog.csdn.net/suool/article/details/38318225 部分内容整理自网络,在此感谢各位大神. Linux文件类型和权限 数据表示 文件属性存储结构体Inode的成员变量i_mode存储着该文件的文件类型和权限信息.该变量为short int类型. 这个16位变量的各个位功能划分为: 第0-8位为权限位,为别对应拥有者(user),同组其他用户(group)和其他用户(other)的读R写W和执行X权限. 第9-11位是权限修饰位,

linux下mysql Insert update delete 事务 用户管理

linux下mysql Insert update delete  事务 用户管理 1.INSERT插入语句格式: INSERT INTO tb_name (字段1, 字段2, ...) VALUES (值1,值2, ...)[,(值1, 值2, ...),...]; INSERT INTO 表名 SET 字段1=值1,字段2=值2,...; INSERT INTO 表名 (字段1,字段2,...) SELECT (字段1,字段2,...) FROM 表名 [WHERE 条件]; 2.REPLA

linux下mysql的用户管理及访问问题

1.mysql的安装配置 linux下有一个很神奇的东西叫yum,只要有源,用yum来安装是一件非常容易的事,什么都不用管,它会为你解决好一些软件依赖的问题.一键安装mysql: [[email protected] ~]# yum install mysql-server mysql-devel 安装完成后我们就可以使用mysql了: [[email protected] ~]# /etc/init.d/mysqld start Starting mysqld: [ OK ] [[email 

linux下mysql数据库 模型, 管理表 索引

1.linux下mysql数据库及其模型 1.1.SHOW TABLE STATUS LIKE 'user'\G   #查看表的存储引擎 SHOW ENGINES;   #查看数据库支持的存储引擎 客户端工具:mysql.mysqladmin.mysqldump.mysqlimport.mysqlcheck 服务器端工具:mysqld, mysqld_safe, mysqld_multi 1.2.my.cnf检查顺序: /etc/my.cnf --> /etc/mysql/my.cnf -->