MySQL管理1.系统数据库Mysql数据库安装完成后自带了四个数据库具体作用如下数据库含义mysql存储MVSQL服务器正常运行所需要的各种信息(时区、主从、用户、权限等)information_schema提供了访问数据库元数据的各种表和视图包含数据库、表、字段类型及访问权限等performance_schema为MySQL服务器运行时状态提供了一个底层监控功能主要用于收集数据库服务器性能参数sys包含了一系列方便 DBA和开发人员利用 performance_schema性能数据库进行性能调优和诊断的视图2.常用工具2.1 mysql该mysql不是指mysql服务而是指mysql的客户端工具mysql [options] [database] options选项: -u[username]|--userusername : 指定用户名如-uroot -p[password]|--password[password] : 指定用户密码如-p123456 -h[host]|--hosthost : 指定服务器IP或域名如-h127.0.0.1 -P[port]|--portport : 指定连接端口P为大写如-P3306 -e[execute]|executeexecute : 在客户端执行SQL语句并退出无需进入mysql系统但前面要跟上操作的数据库名SQL用双引号包裹如mysql -uroot -p123456 mysql -eselect * from user2.2 mysqladminmysqladmin是一个执行管理操作的客户端程序可以用它来检查服务器的配置和当前运行状态创建并删除数据库等## 通过帮助文档查看选项 mysqladmin --help 示例选项: create dbname : 创建指定数据库如mysqladmin -uroot -p123456 create text drop dbname : 删除指定数据库如mysqladmin -uroot -p123456 drop text ping : 检查MySQL服务器是否正在运行如mysqladmin -uroot -p123456 ping status : 查看服务器状态如mysqladmin -uroot -p123456 status shutdown : 关闭MySQL服务器如mysqladmin -uroot -p123456 shutdown2.3 mysqlbinlog由于服务器生成的二进制文件以二进制格式保存所以如果想要检查这些文本的文本格式就会使用到mysqlbinlog日志管理工具需要管理员身份mysqlbinlog [options] log-files1 log-files2 ... mysqlbinlog log-file options选项: -d dbname|--databasedbname : 指定数据库名称只列出指定的数据库相关操作如mysqlbinlog -d mysql binlog.000001 -o n|--offsetn : 忽略日志中的前n行数据如mysqlbinlog -o 10 binlog.000001 -r filename|--result-filefilename : 将输出的文本日志格式写到目标文件filename中,filename可以用绝对路径如 mysqlbinlog -s binlog.000001 -r F:\login.000001 -s|--short-form : 让输出内容更简洁只输出必要的信息如mysqlbinlog -s mysql binlog.000001 --start-datetime : 读取指定开始时间之后的事件如mysqlbinlog --start-datetime2025-03-18 10:00:00 binlog.000001 --stop-datetime : 读取指定结束时间之前的时间如mysqlbinlog --stop-datetime2025-03-18 12:00:00 binlog.000001 --start-position : 指定从二进制日志的哪个位置开始读取事件,如mysqlbinlog --start-position100 binlog.000001 --stop-position : 指定读取二进制日志时的结束位置如mysqlbinlog --stop-position200 binlog.000001在使用mysqlbinlog之前需要先定位到binlog.000001所在文件夹否则后面的使用要用到绝对路径或相对路径2.4 mysqlshow客户端对象查找工具用来很快地查看存在哪些数据库、数据库中的表、表中的列和或者索引mysqlshow [options] [db_name [table_name [col_name]]] options选项: --count : 显示数据库及表的统计信息数据库、表均可以不指定 -i : 显示指定数据库或者指定表的状态信息 示例: ## 查询每个数据库的表的数量及表中记录的数量 mysqlshow -uroot -p123456 --count ## 查询mysql库中每个表中的字段数及行数 mysqlshow -uroot -p123456 mysql --count ## 查询mysql库中user表的详细信息 mysqlshow -uroot -p123456 mysql user --count2.5 mysqldumpmysqldump客户端工具用来备份数据库或在不同数据库之间进行数据迁移。备份内容包含创建表、及插入表的SQL语句## 目标文件filename.sql可以用绝对路径或相对路径 mysqldump [options] db_name[tables] filename.sql ##备份指定数据库中的部分或全部表到目标文件 mysqldump [options] --database|-B db1 [db2 db3 ...] filename.sql ##备份多个指定的数据库到目标文件 mysqldump [options] --all-databases|-A filename.sql ##备份 MySQL 服务器上的所有数据库到目标文件 options连接选项: -u[username]|--userusername : 指定用户名 -p[password]|--password[password] : 指定用户密码如-p123456 -h[host]|--hosthost : 指定服务器IP或域名如-h127.0.0.1 -P[port]|--portport : 指定连接端口P为大写如-P3306 options输出选项: --add-drop-database : 在每个数据库创建语句前加上drop database语句 --add-drop-table : 在每个表创建语句前加上drop table语句默认开启不开启--skip-add-drop-table -n|--no-create-db : 不包含数据库的创建语句 -t|--no-create-info : 不包含数据表的创建语句 -d|--no-data : 不包含数据 -T filename|--tab[filename] : 自动生成两个文件一个.sql文件创建表结构的语句一个.txt文件数据文件,例如 ## 拷贝mysql数据库下的user表 mysqldump -u root -p --tab/path/to/export/directory mysql user 或 mysqldump -u root -p -T /path/to/export/directory mysql user-T filename|--tab[filename]参数生成的两个文件文件名和表名一致filename指文件存放路径可以是绝对路径也可以是相对路径如果当前已定位到指定路径可以不指定filename-T后必须跟filename而--tab后可以不跟filename2.6 mysqlimport/sourcemysqlimport是客户端数据导入工具用来导入mysqldump加-T参数后导出的文本文件mysqlimport [options] db_name textfile1 [textfile2 ...] 示例mysqlimport -uroot -p text /tmp/city.txt如果需要导入sql文件可以使用mysql中的source命令## filename.sql可以使用路径 source filename.sql;