6.图形化工具的使用
6.1 Mysql Workbench
Mysql Workbench是Mysql官方推出的集成图形化工具,替代了之前的图形化管理工具Mysql Administrator和图形化查询工具Mysql Browser,
并集成了数据建模、Mysql工具箱、数据迁移工具、Workbench论坛等新功能,使用起来更加方便快捷。
6.1.1 SQL开发
1.新建连接connection需要输入:自定义连接名(Connection name)、连接协议(Connection Method=Standard (TCP/IP))、
主机名(Hostname)、端口号(port=3306)、用户名(Username=root)、密码(Password:Store in Vault=root)、默认模式(Default Schema输入数据库名),
点“Test Connection”测试连接信息是否正常,提示成功后点“OK”。
2.编辑表数据
双击配置好的连接名可以打开SQL编辑器,SQL编辑器内可以编辑和执行任何有权限的SQL语句。
左侧上方为对象树形显示区:按层次显示当前用户有读取权限的所有对象,以数据库、对象类型(表、视图、存储过程、函数)、具体对象、从属对象类型(列、索引、外键、触发器)、具体从属对象的方式组织。
左侧下方为当前对象显示区:Object Info 显示当前操作的对象及其详细信息,Session 显示当前连接信息。
中间上方为SQL编辑区:可以编写SQL并使用按钮执行,可以一次执行多条SQL,同时执行多个查询时结果分不同页签显示。
中间居中为查询结果显示区:显示查询结果,并可以导出数据。
中间下方为日志输出区:显示执行日志,执行成功则显示SQL语句、返回记录数、花费时间等;执行失败则显示错误编号,失败原因等。
右侧SQL附件区:可以用来保存正在编辑的SQL文本(Snippets-->My Snippets),可以查看SQl常用语法(Snippets-->DB Mgmt/SQL DDL/SQL DML等)
3.编辑SQL脚本
File-->open file Script-->选择要编辑的文件,打开。
4.管理连接
Database-->Manage Server Connections,左侧显示连接名,右侧显示连接的详细信息,下面一排按钮可以新增、删除、复制、上移、下移、测试连接信息。
6.1.2 数据建模
创建模型:File-->New Model
打开模型:File-->Open Model
逆向工程从数据库生成模型:Database-->Reverse Engine
正向工程通过模型生成数据库对象:Database-->Forward Engine
6.1.3 服务器管理
Server --> Server status:服务器状态信息,包括:CPU使用率、连接数、Traffic通信量、Key Efficiency键值效率、InnoDB Buffer Usage引擎缓冲区使用率、每秒查询读写量
Server --> Client Connections:客户端连接线程信息及统计信息,包括:Id、User、Host、DB、Command、Time、State、Info和Threads Connected、Threads Running等。
Server --> Users and Privileges:用户和权限,包括用户、用户登录信息、账户限制、用户角色、全局权限、模式权限等。
Server --> Status and System Variables:状态变量和系统变量,按类别对变量进行了分类,每类下显示变量名、变量值、变量说明。
Server --> Data Export:数据导出,选择模式、表、导出文件等点“Start Export”。从日志看到仍是使用mysqldump进行逻辑备份,mysqldump.exe --defaults-file="c:usersadmini~1appdatalocal emp mpqfxls6.cnf" --user=root --host=localhost --protocol=tcp --port=3306 --default-character-set=utf8 --skip-triggers "scott" "dept"
Server --> Data Import:数据导入,选择目录、选择文件、选择模式,点“Start Import”。从日志看到仍是使用mysql进行文件执行,mysql.exe --defaults-file="c:usersadmini~1appdatalocal emp mpf12m1s.cnf" --protocol=tcp --host=localhost --user=root --port=3306 --default-character-set=utf8 --comments --database=scott < "C:\工作内容\mysql\mysql_scott_data.sql"
Server --> Startup / Shutdown Mysql Server:启动或停止Mysql服务
Server --> Server Logs:服务器日志
Server --> Options File:配置文件
Server --> Dashboard:仪表盘/控制面板,分为网络状态(入口流量,出口流量,连接数)、mysql状态(Table Open Cache Efficiency表缓存率,每秒操作数(selectinsertupdatedeletecreatealterdrop))、InnoDB状态(Innodb Buffer Pool Usage缓冲区使用率)。
Server --> Performance Reports:性能报告,包括:Memory Usage内存使用、Hot Spots for I/O热点I/O、High Cost SQL Statements高成本SQL语句、Database Schema Statistics数据库模式统计、Wait Event Times(Expert)等待事件时间(专家)、InnoDB Statistics统计、User Resource Use用户资源使用。
Server --> Performance Schema-Setup:性能模式设置,Fully EnabledCustomServer DefaultDisabled
Server --> Manage Server Connections:连接管理
Server --> Reset Saved Passwords for Connection: 重置保存的连接密码
6.1.4 Mysql Utilities
C:Program Files (x86)MySQLMySQL Utilities 1.6
Mysql Utilities是Workbench提供的一组附带Python库的工具集。
Tools-->Start Shell for Mysql Utilities,打开mysqluc终端。
工具根据用途分为:
审计日志管理:mysqlauditadmin、mysqlauditgrep
数据库检查比较:mysqldbcompare、mysqldiff、mysqlindexcheck
数据库导入导出:mysqldbexport、mysqldbimport
数据库克隆:mysqlserverclone、mysqluserclone、mysqlcp
数据库复制:mysqldbcopy、mysqlfailover、mysqlreplicate、mysqlrpladmin、mysqlrplcheck、mysqlrplshow
数据库过滤:mysqlmetagrep、mysqlprocgrep
数据空间查询:mysqldiskusage
Workbench客户端:mysqluc
1.mysqldbcompare
作用:可以用来对比两个数据库之间的差别,产生报告。
语法:mysqldbcompare --server1=user:passwd@host1:port --server2=user:passwd@host2:port --all db1:db2
2.mysqldiff
作用:比较对象的定义,并输出报告,比mysqldbcompare粒度更小。
语法:mysqldiff --server1=user:passwd@host1:port --server2=user:passwd@host2:port db1.table1:db2.table1
3.mysqldbcopy
作用:在不同的Mysql服务器之间复制数据库,在同一服务器内复制数据库。
语法:mysqldbcopy --source=user:passwd@host1:port --destination=user:passwd@host2:port db1:db2
4.mysqldiskusage
作用:查看数据库的磁盘占用情况。
语法:mysqldiskusage --server=user:passwd@host1:port db1 --all
例子:mysqldiskusage --server=root:root@localhost:3306 scott
5.mysqlindexcheck
作用:可以用来读取一个或多个表的索引和识别重复的、潜在的冗余索引。
语法:mysqlindexcheck --server=user:passwd@host1:port db1 db2.table1
例子:mysqlindexcheck --server=root:root@localhost:3306 scott
6.2 phpMyAdmin
phpMyAdmin是一个用PHP编写的、可以通过Web控制和操作的mysql数据库工具。
特点是通过web远程管理mysql,不需要再mysql服务器上去维护。
功能包括:数据库管理、数据对象管理、用户管理、数据导入导出等。
6.2.1 数据库管理
主页可以进行数据库的创建、删除、选择等功能。
6.2.2 数据库对象管理
选择数据库后,进入表的管理、维护界面,进行表的创建、更新、删除操作。
6.2.3 权限管理
在主页点“权限”链接进入权限管理界面,
功能包括:添加用户、删除用户、对用户授权和回收权限,以及设置用户每小时的查询、更新、连接次数限额等。
6.2.4 导入导出数据
支持导出成多种文件格式,如:CSV、Excel、Text、PDF、SQL等;
SQL兼容性允许导出为其他数据库语法的SQL文件,包括:DB2、Oracle、SQL Server、MaxDB、PostgreSQL等,便于异构数据库数据迁移。
在主页点“导出”按钮,进入数据导出页面,选择导出的库、导出的文件格式及其它选项,点击“执行”。
在主页点“导入”按钮,进入数据导入页面,选择导入的文件、导出的字符集,点击“执行”。
6.3 小结
工具只能起到辅助作用,应熟悉命令,减少对工具的依赖。