MySQL学习笔记---MySQL管理(系统数据库,常用工具)

发布于:2025-08-03 ⋅ 阅读:(9) ⋅ 点赞:(0)

系统数据库

MySQL数据库安装后,自带四个库

mysql 存储 MySQL 服务器正常运行所需要的各种信息(时区、主从、用户、权限等)
information_schema 提供了访问数据库元数据的各种表和视图,包含数据库、表、字段类型及访问权限等
performance_schema 为 mysql 服务器运行时状态提供了一个底层监控功能,主要用于收集数据库服务器性能参数
sys 包含了一系列方便 DBA 和开发人员利用 performance_schema 性能数据库进行性能调优和诊断的视图

常用工具

mysql

该mysql不是指mysql服务,而是指mysql的客户端工具

  • 语法

    mysql [options] [database]
    
  • 选项

    -u, --user=name			#指定用户名
    -p, --password[=name]	#指定密码
    -h, --host=name			#指定服务器 IP 或域名
    -P, --port=port			#指定连接端口
    -e, --execute=name		#执行 SQL 语句并退出
    
  • 说明
    -e选项可在 MySQL 客户端执行 SQL 语句,无需连接数据库再执行,适合批处理脚本
    示例:

    mysql -h192.168.163.130 -P3306 -uroot -p123456 itcast -e 'select * from student'
    

    如果连不上mysql,添加用户权限

    GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.163.130' IDENTIFIED BY '密码' WITH GRANT OPTION;
    FLUSH PRIVILEGES;
    
mysqladmin

mysqladmin 是执行管理操作的客户端程序,可用于检查服务器配置与当前状态、创建 / 删除数据库等。

通过帮助文档查看选项:mysqladmin --help

#例
mysql -uroot -p123456 -e 'show databases'  #不登录数据库查看库信息
mysqlbinlog

mysqlbinlog 是用于检查 MySQL 服务器生成的二进制日志文件文本格式的日志管理工具,可辅助查看、解析二进制日志内容。

#语法
	mysqlbinlog [options] log-files1 log-files2 ...
#选项

-d, --database=name			#指定数据库名称,仅列出该数据库相关操作
-o, --offset=#				#忽略日志中前 n 行命令
-r, --result-file=name		#将文本格式日志输出到指定文件
-s, --short-form			#显示简单格式,省略部分信息
--start-datetime=date1 --stop-datetime=date2 #指定日期区间,提取该区间内所有日志
--start-position=pos1 --stop-position=pos2	#指定位置区间,提取该区间内所有日志
mysqlshow

mysqlshow 是客户端对象查找工具,用于快速查找数据库、数据库中的表、表中的列或索引 。

  • 语法

    mysqlshow [options] [db_name [table_name [col_name]]]
    
  • 选项

    --count		#显示数据库及表的统计信息(数据库、表可指定或不指定 )
    -i			#显示指定数据库或指定表的状态信息
    
  • 示例

    #查询每个数据库的表数量及表中记录数量
    mysqlshow -uroot -p2143 --count
    
    #查询 test 库中每个表的字段数及行数
    mysqlshow -uroot -p2143 test --count
    
    #查询 test 库中 book 表详细情况
    mysqlshow -uroot -p2143 test book --count
    
mysqldump

mysqldump 是客户端工具,用于备份数据库或在不同数据库间迁移数据,备份内容含创建表和插入表的 SQL 语句

  • 语法

    mysqldump [options] db_name [tables]
    mysqldump [options] --database/-B db1 [db2 db3...]
    mysqldump [options] --all-databases/-A 
    
  • 连接选项

    -u, --user=name			#指定用户名
    -p, --password[=name]	#指定密码
    -h, --host=name			#指定服务器 IP 或域名
    -P, --port=#			#指定连接端口
    
  • 输出选项

    --add-drop-database		#每个数据库创建语句前加 drop database 语句
    --add-drop-table		#每个表创建语句前加 drop table 语句(默认开启,关闭用 --skip-add-drop-table )
    --no-create-db			#不包含数据库创建语句
    --no-create-info		#不包含数据表创建语句
    -d, --no-data			#不包含数据
    -T, --tab=name			#自动生成两个文件:.sql(建表语句)、.txt(数据文件)
    
  • 示例:

    mysqldump -uroot -p123456 db01 > db02.sql
    #备份到当前目录中
    
    mysqldump -uroot -p123456 -T /var/bin/mysql-files db01 score
    #把db01库score表备份到/var/bin/mysql-files下
    
mysqllimport/source
  • mysqllimport

    • 作用:客户端数据导入工具,用于导入 mysqldump-T 参数导出的文本文件

    • 语法

    mysqlimport [options] db_name textfile1 [textfile2...]
    
    • 示例:
    mysqlimport -uroot -p2143 test /tmp/city.txt
    
  • source(导入 SQL 文件用)

    • 作用:在 mysql 中用于导入 .sql 文件
    source /root/xxxxx.sql
    

总结

工具名称 功能描述
mysql MySQL 客户端工具,-e 执行 SQL 并退出
mysqladmin MySQL 管理工具
mysqlbinlog 二进制日志查看工具
mysqlshow 查看数据库、表、字段的统计信息
mysqldump 数据备份工具
mysqlimport/source 数据导入工具