5 MYSQL数据库管理
我们在第二章已经简单介绍了一些MYSQL数据库的基本操作,这一章我们将针对MYSQL数据库管理员详细介绍下MYSQL数据库的常用管理内容。
1 MYSQL界面管理工具
MYSQL的管理工具很多,我自己从网上下载了一个:
mysql-gui-tools-noinstall-5.0-r12-win32,是一个不用安装的管理软件,包含四个基本工具:
MySQLAdministrator
MySQLMigrationTool
MySQLQueryBrowser
MySQLSystemTrayMonitor
这些工具的具体使用都很简单,操作比较灵活,这里就不对这些工具的功能做详细介绍了,如果有兴趣大家可以自己下载下来,多使用几次就熟悉了。
2 MYSQL命令行管理工具
a、首先介绍几个MYSQL命令行工具:
mysqld_safe、mysql.server和mysqld_multi是服务器启动脚本
注意:在Windows中不使用服务器启动脚本,我们可以使用WINDOWS命令来
启动MYSQL服务:net start mysql
停止MYSQL服务: net stop mysql 或者:
C:\Program Files\MySQL\MySQL Server 5.0\bin>mysqladmin -uroot -p shutdown
Enter password: ******
mysqld是MySQL服务器
下面的表格列举了几种WINDOS平台支持的MYSQL服务器:
mysqld- debug 已经编译过,可以进行完全调试和自动内存分配检查,用于表InnoDB和BDB。
mysqld 优化的二进制,支持InnoDB。
mysqld-nt 优化的二进制,支持Windows NT,2000 XP,有命名管道。
mysqld-max 优化的二进制,支持InnoDB和BDB表。
mysqld-max-nt 同mysqld-max,但是已经编译过,支持命名管道。
WINDOWS下执行二进制安装后,在WINDOWS服务中默认的就是使用的mysqld-nt服务器。
这个命令的使用我们将在后边的MYSQL服务器中详细讲解。
mysql_install_db初始化数据目录和初始数据库
mysql是一个命令行客户程序,用于交互式或以批处理模式执行SQL语句
这个命令我们在前边的例子中已经有很多应用了,这里就不多讲述了。我们给出一个例子:
C:\Program Files\MySQL\MySQL Server 5.0\bin>mysql -u root -p -e "SELECT * FROM TEST limit 5;select * from test where id=1000" mytest
Enter password: ******
+------+------+---------------------+---------------------+
| ID | MC | DT | RQ |
+------+------+---------------------+---------------------+
| 1000 | test | 0000-00-00 00:00:00 | 0000-00-00 00:00:00 |
| 999 | test | 0000-00-00 00:00:00 | 0000-00-00 00:00:00 |
| 998 | test | 0000-00-00 00:00:00 | 0000-00-00 00:00:00 |
| 997 | test | 0000-00-00 00:00:00 | 0000-00-00 00:00:00 |
| 996 | test | 0000-00-00 00:00:00 | 0000-00-00 00:00:00 |
+------+------+---------------------+---------------------+
+------+------+---------------------+---------------------+
| ID | MC | DT | RQ |
+------+------+---------------------+---------------------+
| 1000 | test | 0000-00-00 00:00:00 | 0000-00-00 00:00:00 |
| 1000 | test | 0000-00-00 00:00:00 | 0000-00-00 00:00:00 |
| 1000 | test | 0000-00-00 00:00:00 | 0000-00-00 00:00:00 |
+------+------+---------------------+---------------------+
mysqladmin是用于管理功能的客户程序
mysqlcheck执行表维护操作
C:\Program Files\MySQL\MySQL Server 5.0\bin>mysqlcheck -uroot -p mytest
Enter password: ******
mytest.aaa OK
mytest.customer OK
mytest.mytable OK
mytest.sys_tests OK
mytest.test OK
mytest.test1 OK
mytest.test_isam OK
mysqldump数据库备份
mysqlhotcopy数据库备份
mysqlimport导入数据文件
这几个命令工具我们将在后边的备份恢复中详细讲解。
mysqlshow显示信息数据库和表的相关信息
C:\Program Files\MySQL\MySQL Server 5.0\bin>mysqlshow -uroot -p mytest
Enter password: ******
Database: mytest
+-----------+
| Tables |
+-----------+
| aa |
| aaa |
| customer |
| mytable |
| sys_tests |
| test |
| test1 |
| test_isam |
+-----------+
以下是几个可以独立于MYSQL服务器(客户端可以执行)进行操作的工作
myisamchk执行表维护操作
myisampack产生压缩、只读的表
mysqlbinlog是处理二进制日志文件的实用工具
perror显示错误代码的含义
我们这里对MYSQL的命令做了个简单介绍,如果要看更多内容,几乎所有MYSQL命令我们都可以用—help来获得帮助,另外我们可以从MYSQL联机文档中获得更多信息。
b、使用选项文件
MySQL程序可以从选项文件(有时也称为配置文件)读取启动选项。选项文件提供了一种很方便的方式来指定常用的选项,因此不需要每次运行程序时从命令行输入。
下面的程序支持选项文件:myisamchk、myisampack、mysql、mysql.server、mysqladmin、mysqlbinlog、mysqlcc、mysqlcheck、mysqld_safe、mysqldump、mysqld、mysqlhotcopy、mysqlimport和mysqlshow。我们在前边讲述创建用户数据库的时候已经提到过修改MYSQL的配置文件来修改数据文件的路径:配置文件”my.cnf”或”my.ini”(WINDOWS系统)
注释:在Unix平台上,MySQL忽略人人可写的配置文件。这是故意的,是一个安全措施。这句话是在查阅资料时看到的,未加验证。
c、用环境变量指定选项
C:\Program Files\MySQL\MySQL Server 5.0\bin>set user=TEST
C:\Program Files\MySQL\MySQL Server 5.0\bin>mysql -p mytest
Enter password: ****
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 5 to server version: 5.0.27-community-nt
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> select user();
+----------------+
| user() |
+----------------+
| TEST@localhost |
+----------------+
1 row in set (0.06 sec)
d、使用选项设置程序变量
shell> mysql --max_allowed_packet= 2097152
shell> mysql --max_allowed_packet=2M
3 MYSQL实例管理器mysqlmanager
该工具软件需要单独下载:
该软件官方网站:http://www.sqlmanager.net/products/mysql/manager
关于MYSQL实例管理器我们暂时不做太多解释。
4 MySQL服务器
WINDOWS下执行二进制安装后WINDOWS服务中默认的调用的是mysqld-nt服务器,我们可以在WINDOWS的MySql服务的属性中看到:
"C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld-nt" --defaults-file
="C:\Program Files\MySQL\MySQL Server 5.0\my.ini" MySQL
我们也可以不用WINDOWS的默认MYSQL服务器,而启用mysqld服务器来
启动MYSQL:
C:\Program Files\MySQL\MySQL Server 5.0\bin>mysqld --console
070608 14:12:04 [Warning] Changed limits: max_open_files: 2048 max_connections:
800 table_cache: 619
070608 14:12:05 InnoDB: Started; log sequence number 0 956199
070608 14:12:05 [Note] mysqld: ready for connections.
Version: '5.0.27-community' socket: '' port: 3306 MySQL Community Edition (GP
L)
如果省略--console选项,服务器向数据目录(默认为C:\Program Files\MySQL \MySQL Server 5.1\data)中的错误日志写入诊断输出。错误日志文件的扩展名为.err。
C:\Program Files\MySQL\MySQL Server 5.0\bin>mysqld --defaults-file = "C:\Program Files\MySQL\MySQL Server 5.0\my.ini"
070608 9:32:34 [Warning] Changed limits: max_open_files: 2048 max_connections: 800 table_cache: 619
如果我们没有执行环境变量和程序变量,mysqld和mysqld-nt都是从配置文件中的[mysqld]和[server]组读取选项。
我们可以执行以下命令来获得MYSQL数据库服务器的配置参数列表:
C:\Program Files\MySQL\MySQL Server 5.0\bin> mysqld --verbose –help
在MYSQL数据库中查看各个变量设置:
mysql> SHOW VARIABLES;
mysql> SHOW VARIABLES LIKE 'key_buffer_size';
+-----------------+----------+
| Variable_name | Value |
+-----------------+----------+
| key_buffer_size | 32505856 |
+-----------------+----------+
1 row in set (0.06 sec)
我们可以通过以下命令后的运行的数据库服务器的统计和状态指标:
mysql> SHOW STATUS;
+-----------------------------------+-----------+
| Variable_name | Value |
+-----------------------------------+-----------+
| Aborted_clients | 0 |
| Aborted_connects | 0 |
| Binlog_cache_disk_use | 0 |
| Binlog_cache_use | 0 |
| Bytes_received | 144 |
| Bytes_sent | 13078 |
mysql> show variables like 'sort_buffer%';
+------------------+----------+
| Variable_name | Value |
+------------------+----------+
| sort_buffer_size | 10485760 |
+------------------+----------+
1 row in set (0.09 sec)
mysql> SET sort_buffer_size = 5 * 1024 * 1024;
Query OK, 0 rows affected (0.00 sec)
mysql> show variables like 'sort_buffer%';
+------------------+---------+
| Variable_name | Value |
+------------------+---------+
| sort_buffer_size | 5242880 |
+------------------+---------+
1 row in set (0.00 sec)
MYSQL的配置文件可以设置的项目很多,我们这里不做太多解释,在以后的优化等章节中我们将会详细讲述一些我们常用的配置参数及调整。
停止MYSQL:
C:\Program Files\MySQL\MySQL Server 5.0\bin>mysqladmin -uroot -p shutdown
Enter password: ****** |
|