网站维护目标,舆情系统是什么,网页设计实验总结报告,百度网址文章目录 1.mysql客户端命令工具2.mysqladmin管理数据库的客户端工具3.mysqlbinlog查看数据库中的二进制日志4.mysqlshow统计数据库中的信息5.mysqldump数据库备份工具6.mysqllimport还原备份的数据7.source命令还原SQL类型的备份文件 MySQL数据库提供了很多的命令行工具#… 文章目录 1.mysql客户端命令工具2.mysqladmin管理数据库的客户端工具3.mysqlbinlog查看数据库中的二进制日志4.mysqlshow统计数据库中的信息5.mysqldump数据库备份工具6.mysqllimport还原备份的数据7.source命令还原SQL类型的备份文件 MySQL数据库提供了很多的命令行工具在日常运维过程中可以使用这些工具来操作数据库。 1.mysql客户端命令工具
mysql命令时MySQL数据库的客户端工具如果在非数据库的服务器上想要操作目标数据库就需要去安装mysql客户端通过mysql客户端可以对数据库进行增删改查操作还可以进入mysql的交互式界面。
mysql工具的语法格式mysql [options] [database]
mysql工具常用的选项
-u,--user指定登陆数据库的用户名。-p,--password指定登录数据库的密码-h,--host指定要登陆的MySQL服务器地址。-P,--port指定MySQL数据库的端口号。-e,--excute通过此参数可以在非交互式下操作数据库常用于脚本中。
#查看MySQL中有那些数据库
[rootmysql ~]# mysql -u root -p123456 -h 192.168.20.10 -P 3306 -e show databases;
mysql: [Warning] Using a password on the command line interface can be insecure.
--------------------
| Database |
--------------------
| db-3 |
| db_1 |
| db_2 |
| information_schema |
| mysql |
| performance_schema |
| sys |
--------------------#该警告可以忽略提示将密码显示在命令行不安全。2.mysqladmin管理数据库的客户端工具
mysqladmin可是管理数据库操作的客户端程序可以用它来检查服务器的配置和当前的运行状态还可以来创建删除刷新数据库等等。
mysqladmin管理工具的参数很多可以通过mysqladmin --help来查看帮助信息根据需要去查找对应的参数。
mysqladmin管理工具可以通过命令参数对数据库进行很多的操作如下所示有flush刷新数据库的功能、password修改用户的密码、processlist查看当前数据库的进程、shutdown关闭数据库、variables查看数据库的参数配置、version查看数据库的版本。 mysqladmin工具的语法格式mysqladmin [options] command
选项参数
-u,--user指定登陆数据库的用户名。-p,--password指定登录数据库的密码-h,--host指定要登陆的MySQL服务器地址。-P,--port指定MySQL数据库的端口号。
1查看mysql数据库的版本
[rootmysql ~]# mysqladmin -uroot -p123456 version
mysqladmin Ver 8.0.26 for Linux on x86_64 (MySQL Community Server - GPL)
Copyright (c) 2000, 2021, Oracle and/or its affiliates.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Server version 8.0.26
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/lib/mysql/mysql.sock
Uptime: 2 days 11 hours 41 min 32 secThreads: 2 Questions: 101 Slow queries: 0 Opens: 200 Flush tables: 3 Open tables: 119 Queries per second avg: 0.0002查看mysql数据库当前的运行的进程
[rootmysql ~]# mysqladmin -uroot -p123456 processlist
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
-----------------------------------------------------------------------------------------------
| Id | User | Host | db | Command | Time | State | Info |
-----------------------------------------------------------------------------------------------
| 5 | event_scheduler | localhost | | Daemon | 214901 | Waiting on empty queue | |
| 17 | root | localhost | | Query | 0 | init | show processlist |
-----------------------------------------------------------------------------------------------3创建一个数据库
[rootmysql ~]# mysqladmin -uroot -p123456 create db_test4删除一个数据库
[rootmysql ~]# mysqladmin -uroot -p123456 drop db_test
Dropping the database is potentially a very bad thing to do.
Any data stored in the database will be destroyed.Do you really want to drop the db_test database [y/N] y
Database db_test dropped5查看MySQL运行的状态
[rootmysql ~]# mysqladmin -uroot -p123456 status
Uptime: 214852 Threads: 2 Questions: 98 Slow queries: 0 Opens: 200 Flush tables: 3 Open tables: 119 Queries per second avg: 0.0003.mysqlbinlog查看数据库中的二进制日志
通过mysqlbinlog命令可以查看数据库生成的二进制文件内容通过二进制日志可以恢复没有备份且误删除的数据。
mysqlbinlog使用格式mysqlbinlog [options] 二进制日志文件
可用的选项
-d指定数据库名称只列出与指定数据库相关的操作语句。-o忽略日志中前n行的指令。-r将输出的文本格式日志输出到指定的文件。-s显示简单的格式。--start-datetimedate1 --stop-datetimedate2显示指定日期间隔内的所有信息。--start-positionpos1 --stop-positionpos2显示指定位置间隔内的所有日志。
查看这个/var/lib/mysql/binlog.000003二进制日志中的数据。
[rootmysql ~]# mysqlbinlog -d db_1 /var/lib/mysql/binlog.000003二进制日志中记录的都是实时对数据库操作的SQL语句。 4.mysqlshow统计数据库中的信息
通过mysqlshow命令可以统计MySQL数据库中有多少个数据库每个数据库对应有多少张表每张表下有多少条数据。
mysqlshow使用语法mysqlshow [options] [db_name [table_name [col_name]]]
选项
--count显示数据库及表的统计信息。-i显示指定数据库或者指定表的状态信息。
1查看MySQL中有多少个数据库、每个数据库对应多少张表、每个数据库下共有多少条数据。
[rootmysql ~]# mysqlshow -uroot -p123456 --count
------------------------------------------
| Databases | Tables | Total Rows |
------------------------------------------
| db-3 | 2 | 0 |
| db_1 | 23 | 1027304 |
| db_2 | 0 | 0 |
| information_schema | 79 | 32856 |
| mysql | 37 | 3960 |
| performance_schema | 110 | 232877 |
| sys | 101 | 5078 |
------------------------------------------
7 rows in set.#Tables表示该数据库下有多少张表Total Rows表示当前数据库中有多少条数据。2查看指定数据库下有那些表分别有多少条数据。
[rootmysql ~]# mysqlshow -uroot -p123456 db_1 --count
mysqlshow: [Warning] Using a password on the command line interface can be insecure.
Database: db_1
-----------------------------------------------
| Tables | Columns | Total Rows |
-----------------------------------------------
| bmxxb | 2 | 7 |
| dabiao | 62 | 27126 |
| erp_user | 5 | 5 |
| jszx_xgymjzxxb | 13 | 15 |
| ryxxb | 8 | 22 |
| tb_memory | 2 | 0 |
| tb_user | 9 | 7 |
| tb_user_100w | 6 | 1000000 |
| tb_user_pro | 3 | 7 |
| v_jszx_xgymjzxxb_nozjhm | 12 | 15 |
| v_ryxx_bmxx | 3 | 22 |
| v_ryxxb_1 | 3 | 1 |
| v_ryxxb_2 | 3 | 1 |
| v_ryxxb_3 | 3 | 1 |
| v_ryxxb_4 | 3 | 1 |
| v_ryxxb_5 | 3 | 1 |
| v_ryxxb_6 | 3 | 1 |
| v_ryxxb_c | 1 | 1 |
| xscjb | 6 | 10 |
| xscjb_logs | 5 | 33 |
| xzdjb | 3 | 8 |
| yexxb | 3 | 2 |
| ygxxb | 8 | 18 |
-----------------------------------------------
23 rows in set.#Columns表示表中有多少个字段3查看指定表的统计信息。
[rootmysql ~]# mysqlshow -uroot -p123456 db_1 xscjb --count4查看指定字段的统计信息。
[rootmysql ~]# mysqlshow -uroot -p123456 db_1 xscjb ywcj --count
mysqlshow: [Warning] Using a password on the command line interface can be insecure.
Database: db_1 Table: xscjb Rows: 10 Wildcard: ywcj
--------------------------------------------------------------------------------------------------
| Field | Type | Collation | Null | Key | Default | Extra | Privileges | Comment |
--------------------------------------------------------------------------------------------------
| ywcj | int | | YES | MUL | | | select,insert,update,references | 语文成绩 |
--------------------------------------------------------------------------------------------------5查看指定数据库中表的状态。
[rootmysql ~]# mysqlshow -uroot -p123456 db_1 xscjb -i5.mysqldump数据库备份工具
mysqldump工具是对数据库备份的工具可以通过这个工具将数据进行备份然后在不同数据库之间迁移。
mysqldump的使用语法 备份指定数据库 mysqldump 选项 数据库 备份指定数据库下的某张表 mysqldump 选项 数据库 表 备份多个数据库 mysqldump 选项 --database/-B 数据库1 数据库2 备份所有数据库 mysqldump 选项 --all-databases/-A
mysqldump连接数据库的选项
-u,--user指定登陆数据库的用户名。-p,--password指定登录数据库的密码-h,--host指定要登陆的MySQL服务器地址。-P,--port指定MySQL数据库的端口号。
mysqldump输出选项 --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, --tabname自动生成两个文件一个.sql文件创建表结构的语句一 个.txt文件数据文件 。
1备份db_1数据库
[rootmysql backup]# mysqldump -uroot -p123456 db_1 db_1.sql在db_1.sql文件中备份了db_1数据库的所有表以及数据、 2备份db_1数据库下的xscjb表只备份表结构不备份数据
[rootmysql backup]# mysqldump -uroot -p123456 db_1 xscjb -d db_1-xscjb.sql此时备份文件里只有建表语句不包含数据。 3备份db_1数据库下的xscjb表只备份数据表不备份表结构和数据库
[rootmysql backup]# mysqldump -uroot -p123456 db_1 xscjb -n -t db_1-xscjb-data.sql4备份db_1数据库下的xscjb表生成两个文件
当我们希望备份数据库时表结构和表数据分开存放.sql文件存放表结构的备份.txt文件存放表数据的备份那么就需要使用-T参数了。
使用-T参数之前需要先查看MySQL受信任的备份路径否则只能备份表的结构表数据无法备份成功。
1.查看mysql受信的备份路径
mysql show variables like %secure_file_priv%;
-----------------------------------------
| Variable_name | Value |
-----------------------------------------
| secure_file_priv | /var/lib/mysql-files/ |
-----------------------------------------2.备份时指定该路径作为备份路径即可
[rootmysql ~]# mysqldump -uroot -p123456 db_1 xscjb -T /var/lib/mysql-files/3.查看生成的备份文件
[rootmysql ~]# ll /var/lib/mysql-files/
总用量 12
-rw-r--r-- 1 root root 5469 6月 29 23:09 xscjb.sql
-rw-r----- 1 mysql mysql 219 6月 29 23:09 xscjb.txt.sql文件备份表结构.txt文件备份表数据使用-T参数导出的txt表数据不是SQL语句而是特定格式的数据。 6.mysqllimport还原备份的数据
mysqllimport工具可以还原mysqldump -T参数备份的txt格式的表数据文件如果备份的数据是sql格式的mysqllimport无法还原mysqllimport只能还原txt格式的备份文件。
使用语法mysqlimport [options] 数据库 txtfile
将xscjb的数据清空然后使用mysqllimport还原刚刚备份的xscjb的数据。
1.清空xscjb表的数据
[rootmysql ~]# mysql -uroot -p123456 -e delete from db_1.xscjb;2.还原备份的数据
[rootmysql ~]# mysqlimport -uroot -p123456 db_1 /var/lib/mysql-files/xscjb.txt
db_1.xscjb: Records: 10 Deleted: 0 Skipped: 0 Warnings: 0#数据还原成功还原的条数为10条7.source命令还原SQL类型的备份文件
使用mysqllimport工具只能还原txt类型的备份文件一般情况下备份的数据库文件都是.sql格式的可以通过source命令进行还原source命令时在交互式中执行的。
[rootmysql ~]# mysql -uroot -p123456
mysql use db_1;
mysql source /root/backup/db_1.sql;