MySQL进阶篇-MySQL管理(系统数据库、mysql、mysqladmin、mysqldump、mysqlimport、mysqlshow、mysqlbinlog)


如果想了解更多与 MySQL 相关的内容,可以查看 MySQL 专栏: MySQL

视频教程:91. 进阶-MySQL管理-系统数据库介绍

1. 系统数据库

数据库名称 描述
mysql 存储MySQL的用户账户信息、权限设置、系统配置参数、事件调度器信息、时区数据等
information_schema 提供访问数据库元数据的方式,包含所有其他数据库的信息,如表、列、权限等
performance_schema 提供监控MySQL服务器运行时的性能数据,包含服务器事件、锁、会话、事务等信息
sys 包含视图、存储过程和函数,以易于理解的方式展示 performance_schema 数据库中的数据

2. 常用工具

视频教程:92. 进阶-MySQL管理-常用工具

2.1 工具名称及描述

工具名称 描述
mysql 命令行工具,用于直接执行SQL语句,管理数据库,支持-e选项直接执行SQL命令后退出
mysqladmin 管理工具,用于执行数据库管理任务,如创建或删除数据库,重载权限表,关闭MySQL服务器等
mysqldump 数据备份工具,用于将数据库中的数据导出为SQL文件,支持数据备份和迁移
mysqlimport 数据导入工具,用于将文本文件快速导入到MySQL数据库表中,通常与mysqldump配合使用
mysqlshow 信息显示工具,用于查看数据库、表、列和索引的详细信息,类似于SQL的SHOW命令
mysqlbinlog 日志查看工具,用于查看和解析MySQL二进制日志文件,用于数据恢复和主从复制配置

2.2 mysql

  • -e 选项可以在 MySQL 客户端执行 SQL 语句,而不用连接到 MySQL 数据库后再执行
  • 对于一些批处理脚本来说,使用 -e 选项尤其方便

基本语法:

mysql [options] [database]

常用选项:

  • -u, --user=user_name:指定用户名
  • -p, --password[=password]:指定密码
  • -h, --host=host_name:指定服务器主机
  • -P, --port=port_num:指定端口号
  • -e, --execute=command:执行命令并退出

示例:

mysql -u root -p'123456' blog -e 'select * from course;'

在这里插入图片描述

2.3 mysqladmin

基本语法:

mysqladmin [options] command

常用命令:

  • create database_name:创建数据库

  • drop database_name:删除数据库

  • reload:重载权限表

  • shutdown:关闭MySQL服务器

常用选项:

  • -u, --user=user_name:指定用户名

  • -p, --password[=password]:指定密码

  • -h, --host=host_name:指定服务器主机

  • -P, --port=port_num:指定端口号

示例:

mysqladmin -u root -p'123456' create new_database

2.4 mysqldump

基本语法:

mysqldump [options] [database] [tables]

常用选项:

  • -u, --user=user_name:指定用户名
  • -p, --password[=password]:指定密码
  • -h, --host=host_name:指定服务器主机
  • -P, --port=port_num:指定端口号
  • -T, --tab=dir_name:将备份数据输出到指定的目录中,每个表会生成一个.sql文件和一个.txt文件,.sql文件包含创建表的SQL语句,.txt文件包含表的数据

示例:

mysqldump -u root -p'123456' my_database > my_database_backup.sql

2.5 mysqlimport

基本语法:

mysqlimport [options] database textfile1 [textfile2 ...]

常用选项:

  • -u, --user=user_name:指定用户名
  • -p, --password[=password]:指定密码
  • -h, --host=host_name:指定服务器主机
  • -P, --port=port_num:指定端口号
  • --local:使用本地服务器
  • --fields-terminated-by=...:指定字段分隔符

示例:

mysqlimport -u root -p'123456' my_database --local data.txt

2.6 mysqlshow

基本语法:

mysqlshow [options] [database [table]]

常用选项:

  • -u, --user=user_name:指定用户名
  • -p, --password[=password]:指定密码
  • -h, --host=host_name:指定服务器主机
  • -P, --port=port_num:指定端口号

示例:

mysqlshow -u root -p'123456' mydatabase

2.7 mysqlbinlog

基本语法:

mysqlbinlog [options] log_file

常用选项:

  • --start-position=pos:从指定的位置开始读取
  • --stop-position=pos:读取到指定的位置停止
  • --start-datetime=datetime:从指定的时间开始读取
  • --stop-datetime=datetime:读取到指定的时间停止
  • --database=database_name:只解析指定数据库的二进制日志

示例:

mysqlbinlog --start-position=100 --stop-position=200 mysql-bin.000001