mysql admin username_MySQL使用初步mysql、mydqladmin、mysqlbinlog等

这里先介绍下mysql的几种重要的工具:

mysql

交互式输入SQL语句或从文件以批处理模式执行它们的命令行工具。

mysqladmin

执行管理操作的客户程序,例如创建或删除数据库,重载授权表,将表刷新到硬盘上,

以及重新打开日志文件。mysqladmin还可以用来检索版本、进程,以及服务器的状态信息。

mysqlbinlog

从二进制日志读取语句的工具。在二进制日志文件中包含的执行过的语句的日志可用来帮助

从崩溃中恢复。

mysqlcheck

检查、修复、分析以及优化表的表维护客户程序。

mysqldump

将MySQL数据库转储到一个文件(例如SQL语句或tab分隔符文本文件)的客户程序。

mysql import

使用LOAD DATA INFILE将文本文件导入相关表的客户程序。

OK,接下来让我们一个一个的解决它们。

1.mysql命令

#mysql db_name //进入交互式模式,并操作db_name数据库,如果不跟数据库名字就是默认

的mysql数据库

或者以指定的用户和密码访问数据库

#mysql --user=user_name --password=your_password db_name

更多详细的参数可以查看help命令

#mysql -help

同样,mysql命令可以支持输入/输出重定向,这样可以将SQL语句写到一个文件中,我们称

之为SQL脚本,然后导入到mysql中。

#mysql db_name < text_file

在交互式运行mysql,可以用source或/.命令执行SQL脚本

#source filename //filename 脚本名

或者

mysql> /.filename

2.mysqladmin 用于管理mysql服务器的客户端

mysqladmin是一个执行管理操作的客户程序,它非常的强大。你可以用它来检查服务

器的配置和当前的状态,创建并删除数据库等等。

①创建名字为db_name的数据库

#mysqladmin create db_name

②删除名字为db_name的数据库

#mysqladmin drop db_name

③查看当前服务器的状态信息

mysqladmin extended-status

④重载授权表(类似reload,通常跟随在重新全线操作后)

#mysqladmin flush-privileges

⑤给当前连接使用的用户设置一个新密码,密码更改为new-password

#mysqladmin -u username -p password new-password

如果new-password包含空格或其它命令解释符的特殊字符,需要用引号将它

引起来。

⑥关闭服务器

#mysqladmin shutdown

3.mysqlbinlog 用于处理二进制日志文件的实用工具

二进制日志文件是记录对数据库操作记录的日志文件,采用二进制进行保存。简单的说,

这类日志文件中保存的是我们对数据库的所有操作。它在我们恢复数据库的时候给予了我们

很大的帮助。由于这一类文件使用的是二进制方式存储,因此不可以直接编辑和使用它们,

因此我们要借助mysqlbinlog工具可以帮助我们检查这些文件。

可以将mysqlbinlog的输出传到没有生气了客户端以执行包含在二进制日志中的语句。如果

你有一个旧的备份,该选项在崩溃的时候恢复时很有用。

# mysqlbinlog binlog.000001 | mysql

或:

# mysqlbinlog binlog.0000003

另一个方法是:

# mysqlbinlog binlog.000001 > /tmp/statements.sql

# mysqlbinlog binlog.000002 >> /tmp/statements.sql

# mysql -e "source /tmp/statements.sql"

这个方法可以避免当前一个二进制日志文件使用到临时表的时候,由于退出进程时自动删除

临时表而造成的后一个二进制文件无法继续使用临时表的问题。

3.mysqlcheck 表维护和维修程序

mysqlcheck客户端可以检查和修复MyISAM表。它还可以优化和分析表。另一个功能与它类似

的程序是myisamchk。它们之间的主要差别是当mysqld服务器在运行时必须使用mysqlcheck

,而myisamchk应用于服务器没有运行时。使用mysqlcheck的好处是不需要停止服务器就可

以检查或修复表。

有三种方式来使用mysqlcheck

①检查某个数据的所有表,或者某个数据库的某张表

#mysqlcheck db_name [table_name]

②一次性检查多个表

mysqlcheck --databases db_name1 [db_name2 db_name3...]

③一次性检查所有数据库

mysqlcheck --all-database

如果在mysqlcheck后面什么都不跟,那么默认是检查所有的数据库。

mysqlcheck默认跟随的操作是“mysqlcheck --check”,就是检查操作。你可

以使用 “--repair”参数来进行修复动作。例如修复名字为db_name的数据库中所有的

表:

# mysqlcheck --repair db_name

或者:

# mysqlcheck --auto-repair db_name

这句命令的含义是检查db_name这个数据库,如果发现有错误则自动修复它。

mysqlcheck还有一个很有意思的特性,那就是你可以通过改变它的文件名来更改它的

默认操作。比如说,将mysqlcheck复制为mysqlrepair,那么当你执行mysqlrepair

的时候,默认就采取了修复动作。

4.mysqldump 数据库备份程序

mysqldump是一个非常好的数据库备份程序。它制作出来的备份可以跨平台、跨文件系统,

甚至是跨版本的进行恢复。为什么会这么神奇呢?其实很简单,如果你打开一个mysqldump

生成的备份文件你会发现,实际上里面的内容其实是用SQL语言把数据库里所保存的数据表

述出来,文件中充斥着create、drop、insert等SQL语句。

你可以以三种方式来调用mysqldump。

mysqldump [options] db_name [tables]

mysqldump [options] ---database DB1 [DB2 DB3...]

mysqldump [options] --all—database

用法和前面的mysqlcheck差不多,你可以参考下mysqldump --help

5.mysqlimport 数据导入程序

刚才说了数据库的备份程序,当我们需要用这些备份来恢复我们的数据库的时候就需要用到

mysqlimport

mysqlimport [options] db_name textfile1 [textfile2...]

例如:

#mysqlimport db_name backup1.sql //使用backup1.sql备份文件回复db_name

和其他工具一样,mysqlimport也有很多选项可以使用。你可以使用“--help”参

数来查看它们。有时候你可能不得不用到它们,比如:

# mysqlimport -uroot -p --force db_name backup1.sql

使用root用户连接数据库,并且忽略恢复过程中可能出现的错误强制性的进行导入。

事实上,通过mysql的非交互式使用一样可以做到讲备份文件里的内容恢复进数据库。

另外,你也可以使用其他各种具备类似功能客户端工具来做到这一点。他们所做的事情其实

都是一样的,就是讲备份文件中的SQL语句录入到数据库当中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值