4.5. MySQL Utilities
TcX distributes MySQL with a very rich cast of
support utilities. Even with all it
has provided, the set of third party tools available is even richer.
In this section, we attempt to give a brief overview of these tools
with a full description in Chapter 18, "PHP and Lite Reference".
4.5.1. Command Line Tools
-
isamchk
Performs checks on the underlying data files within the database.
These files are called ISAM (Indexed Sequential Access Method) files.
This utility can repair almost any kind of damage to an ISAM file. We
discuss this in more detail later in the chapter.
- isamlog
Reads logs generated by the MySQL server that relate to ISAM files.
You can use a complete set of these logs to rebuild a table or to
replay table changes after a certain period of time.
-
mysql
Creates a direct connection to the database server and lets you enter
queries directly from a MySQL prompt. You will likely find that you
use this more than any other tool.
- mysqlaccess
Modifies the MySQL access rights tables and displays them in an easy
to read form. Using this utility is a good way for you to learn about
the structure of the MySQL access tables.
-
mysqladmin
Performs administrative functions. This utility can add or delete
entire databases as well as shutdown the server itself.
-
mysqlbug
Reports a problem with MySQL to TcX. The output of this program will
also be sent to the MySQL mailing list where the legion of MySQL
volunteers will examine the problem.
-
mysqldump
Sends the complete contents of a table, including the table structure
itself, to a file in the form of SQL statements that can recreate the
table. You can use the output of this utility to recreate the table
in another database or on another server.
-
mysqlimport
Reads a file of data and inserts it into a database table. This is a
delimited file where the delimiters can be any of the common forms,
like comma-delimited or quoted.
- mysqlshow
Displays the structure of the databases on the server and the tables
that make up those databases.
4.5.2. Third Party Tools
No vendor or developer can support everything a product might need
all on their own. Open source products such as Linux have been so
wildly successful due not only to the work of Linus Torvalds on the
Linux kernel, but also to the hundreds, if not thousands, of third
party products available for Linux. MySQL, too, has benefited from
the work of third party developers. While we would like to list every
third party product available, that list changes daily. Here we have
tried to put together a representation of what is available. For a
current list, visit the MySQL home page at
http://www.mysql.com/Contrib.
4.5.2.1. Database conversion utilities
-
access_to_mysql
Converts Microsoft Access databases to MySQL tables. You insert this
into Access as a function that enables you to save your table format
in a manner that is exportable to MySQL.
-
dbf2mysql
Translates dBASE (DBF) files into MySQL tables. Even though dBASE is
no longer as popular, the DBF format has become ingrained as the most
common cross-application database file format. Every major desktop
database can read and write DBF files. This application is thus
useful when exporting data to or importing data from commercial
desktop databases.
-
Exportsql/Importsql
Converts Microsoft Access databases to MySQL and vice versa. These
tools are Access functions that can be used to export Access tables
in a format readable by MySQL. They can also convert SQL output from
MySQL and mSQL into a form readable by Access.
4.5.2.2. CGI interfaces
-
PHP
Creates HTML pages using special tags recognized by the PHP parser.
PHP includes interfaces into most major databases, including MySQL
and mSQL. We cover PHP in greater detail in Chapter 12, "PHP and Other Support for Database-driven HTML".
-
Mysql-webadmin
Performs web administration of MySQL databases. This tool enables
users to view tables and modify their content using HTML forms.
-
Mysqladm
Performs web administration of MySQL databases. This CGI program
displays tables over the web and supports the addition and
modification of tables.
-
www-sql
Creates HTML pages from MySQL database tables. This program parses
HTML files for special tags and uses that information to perform SQL
statements against MySQL.
4.5.2.3. Client applications
-
Mysqlwinadmn
Provides the ability to perform MySQL administration from Windows.
This tool enables you to perform the functions of
mysqladmin from inside a GUI.
-
xmysql
Provides full access to MySQL database tables for an X Window System
client. This tool supports bulk inserts and deletes.
-
xmysqladmin
Provides the ability to perform MySQL administration from the X
Window System. This tool is a graphical user interface that enables
you to create and drop databases and manage tables. You can also use
this tool to make sure the server is running, reload access tables,
and manage threads.
4.5.2.4. Programming interfaces
- MyODBC
Implements the database-independent ODBC (Open Database Connectivity)
API for MySQL on Windows.
-
Db.py
Provides MySQL access to Python scripts. This module supports the
caching of retrieved data for better performance. We discuss Python
programming against MySQL in Chapter 11, "Python", and
provide a detailed reference in Chapter 20, "Python Reference".
-
Vdb-dflts
Provides a MySQL implementation of the Vdb database library. Vdb is a
database-independent C API that enables common client code to access
several different backend database servers. Vdb clients can use this
API to access MySQL databases.
-
Delphi-interface
Exposes the MySQL API to Inprise's Delphi. Using this API, any
Delphi application can access a MySQL database.
-
dump2h
Converts MySQL table structures into C header files. This program
takes the normal output of mysqldump and
generates a C header file that describes the table as a C
struct.
-
mm.mysql.jdbc
Implements the Java standard JDBC (Java Database Connectivity) API.
Chapter 14, "Java and JDBC", discusses Java programming against this
API in detail, while Chapter 22, "JDBC Reference", provides a full
reference for JDBC 2.0.
-
twzJdbcForMysql
Implements the Java JDBC API.
-
Mysqltcl
Provides a Tcl interface to MySQL.
-
MySQLmodule
Provides Python access into MySQL.
-
Mysql-c++
Wraps the MySQL C API in an object-oriented manner for access from
C++ applications.
-
MySQL++
Provides object-oriented access to MySQL for C++ applications.
-
Pike-mysql
Enables users of the Roxen web server to write web applications that
access MySQL.
-
Sqlscreens
Generates databases screens in Tcl/Tk from a MySQL database. This
tool enables developers to build a custom GUI tied to MySQL tables.
-
Squile
Enables scripts written in Guile to access MySQL tables.
-
Wintcl
Supports the embedding of Tcl code in HTML files. Using this tool,
you can easily build web applications that can access MySQL
databases.
4.5.2.5. Miscellaneous
-
Emacs-sql-mode
Adapts the standard SQL mode for Emacs to support the nuances of
MySQL's syntax. This mode provides indenting, syntax
highlighting, and statement completion so that writing SQL is easier.
-
findres
Finds reserved words in MySQL tables. This program examines MySQL
tables for instances of reserved SQL words that may upset other SQL
database engines.
-
Hyalog
Stores outgoing faxes in a MySQL table. This program will watch for
faxes sent from the HylaFax program and save a copy into a MySQL
table.
-
mod_auth_mysql
Authenticates users of the Apache web server. Apache normally
controls access through plain text files with user names and
encrypted passwords. This Apache module enables you to manage access
control inside a MySQL database.
-
mod_log_mysql
Logs web traffic from an Apache web server into a MySQL database.
-
mysqlpasswd
Supports the addition, deletion, or modification of user records
stored in MySQL by the mod_auth_mysql Apache module.
-
Mysql_watchdog
Monitors MySQL to make sure that it is continuously operational and
functioning within normal parameters.
-
Nsapi_auth_mysql
Authenticates users of the Netscape web server.
-
Pam_mysql
Provides a PAM (Pluggable Authentication Module) interface for MySQL.
PAM provides user verification for a variety of services, including
standard system login.
-
Wuftpd-mysql
Enables logging of FTP traffic with the popular WuFTP daemon to a
MySQL database.
| | | 4.4. Database Administration | | 4.6. Performance Tuning |
Copyright © 2001 O'Reilly & Associates. All rights reserved.
|
|