mysql客户端常用命令

一mysqldump

这个命令是逻辑导出,导出的内容方便查看和编辑,如果要备份大量数据,最好选择物理导出命令

mysqldump的命令行参数也可以在配置文件的[mysqldump][client]组使用,和mysql命令行参数一样的就不列举了

mysqldump -u username -p dbname table1 table2 ...-> BackupName.sql

  • dbname参数表示数据库的名称;
  • table1和table2参数表示需要备份的表的名称,为空则整个数据库备份;
  • BackupName.sql参数表设计备份文件的名称,文件名前面可以加上一个绝对路径。通常将数据库备份成一个后缀名为sql的文件;
mysqldump -u username -p --databases dbname2 dbname2 > Backup.sql
加上了--databases选项,然后后面跟多个数据库
mysqldump -u username -p -all-databases > BackupName.sql
备份所有数据库
mysqldump -u 用户名 -p -d –add-drop-table 数据库名 > 导出的文件名
备份创建表语句包含删表语句

mysqldump -u username -p dbname < filename.sql//导入数据库

--add-drop-database //添加删除数据库语句在创建数据库之前
--add-drop-table
--add-drop-trigger
-n // 不导出创建数据库语句--no-create-db
-t // 不导出创建表语句--no-create-info
--replace //用replace语句替换insert语句
--allow-keywords //在列名前添加表名,作为关键字
-i //添加版本等信息--comments,--skip-comments
--dump-date //包含日期 --skip-dump-date
--log-error //记录警告和错误到指定文件
--set-charset //输出设置字符集语句 --skip-set-charset,--no-set-names -N
--compact //产生更紧凑的输出--skip-compact
--compatible //产生的输出尽可能兼容其它数据库服务器
-c //insert语句包含列名 --complete-insert
--create-options //包含所有创建表选项
--hex-blob //用16进制输出二进制列数据
-Q //数据库,表,列名用单引号或双引号括起来 --quote-names
-r //输出到指定的文件 --result-file
-T //输出数据到tab分割的文本格式txt文件--tab
--tz-utc //即使两个服务器在不同的时区,TIMESTAMP列的值也不会有问题--skip-tz-utc
-A //导出所有数据库--all-databases
-B //导出几个数据库--databases
-E //导出定时事件--event导出时不包含创建和修改的时间,所以恢复时创建时间就是恢复的时间,可以到处mysql.event表包含所有信息
--ignore-error //忽略指定的错误
--ignore-table //不导出指定的表
-d //不导出表数据,只导出表结构–-no-data
-R //导出存储过程和自定义函数–-routines导出时不包含创建和修改的时间,所以恢复时创建时间就是恢复的时间,可以到处mysql.proc表包含所有信息
--tables //导出的表名
--triggers //导出的触发器名字
-w //导出时的where条件 --where
--add-locks //导出的表保护lock tables和unlock tables语句
-F //开始导出前刷新服务器日志文件--flush-logs
-x //导出前锁所有表--lock-all-tables
-l //导出前锁表 --lock-tables --skip-lock-tables
--no-autocommit //是否包含SET autocommit = 0 和 COMMIT
--order-by-primary //导出时是否按主键排序
--single-transaction //导出前发送START TRANSACTION语句到服务器,设置数据库事务级别是REPEATABLE READ
-q //一次从服务器检索一行数据--quick
--opt //使导出更快--skip-opt
-K //数据插入后再创建索引--disable-keys
-e //用多行语法写insert语句--extended-insert
--insert-ignore //用insert ignore语句替换insert语句
二mysql
mysql命令行参数,也可以在配置文件的[client][mysql]组使用。
-u user_name //用户名--user
-p[password] //密码--password[=password]
-P port_num //端口号--port=port_num
-W //使用命名管道连接服务器--pipe
-q //一次从服务器返回一行,而不是全部返回后缓存在客户端--quick
-b //出错的时候不发出声音--no-beep
-? //显示帮助信息--help
-V //显示版本信息--version
-E //垂直显示查询结果(一列一行)--vertical
-w //如果连接不上数据库服务器,等待然后重试--wait
-X //产生XML输出--xml
-v //显示更多输出提示信息--verbose
-n //每次查询后刷新缓存--unbuffered
--tee=file_name //追加输出到指定文件
-t //以表格显示输出--table
-S path //本地连接时--socket=path,socket file在linux,named pipe在window
-s //显示更少输出提示信息--silent
-L //错误信息不输出行号--skip-line-numbers
-N //结果不输出列名--skip-column_names
--sigint-ignore //忽略ctrl+c
--show-warnings //显示警告
--shared-memory-base-name=name //共享内存名字
--reconnect //重连--skip-reconnect
-r //不转译字符--raw
--protocol={TCP|SOCKET|PIPE|MEMORY}//连接服务器使用的协议
--prompt=format_str//命令行提示符
--print-defaults //从配置文件读出的参数信息
--no-defaults //不读配置文件
--local-infile{=0|1}//是否允许从本地加载数据
--line-numbers //错误信息输出行号--skip-line-numbers
--init-command=str //连接服务器后执行的命令
-i //忽略函数名后的空格--ignore-spaces
-H //产生HTML输出--html
-h host_name //主机名--host-host_name
-f //即使错误也继续执行--force
-e statement //执行sql语句--execute=statement
--delimiter=str //语句分割符默认是;
--defualts-group-suffix=str //mysql读配置文件组名字的后缀
--defaults-file=file_name //配置文件名
--defaults-extra-file=file_name //额外配置文件名
--default-character-set=charset_name //默认字符集
-T //调试信息--debug-info
--debug-check //调试信息
-D db_name //数据库名--database=db_name
-C //压缩信息--compress
-c //是否保留注释--comments --skip-comments
--column-type-info //显示列元数据
--column-names //显示列名
--character-sets-dir=dir_name//字符集地址
--bind-address=ip_address //ip地址
--binary-mode //mysqlbinlog输出中包含BLOB值时禁止转译
-b //十六进制形式输出二进制数据--binary-as-hex
-B //用tab分隔列数据--batch
--auto-vertical-output //如果相对窗口列太宽时,自动垂直显示
--auto-rehash //自动补全--disable-auto-rehash --no-auto-rehash -A --skip-auto-rehash
--safe-updates //--i-am-a-dummy更新或删除语句必须有where条件限制
--default-auth //默认客户端验证插件
--plugin-dir //寻找客户端验证插件的目录
--login-path //登陆验证用配置文件
--enable-cleartext-plugin //使用mysql_clear_password验证插件

--skip-grant-tables //跳过权限表
!include /home/mydir/myopt.cnf //保护其它配置文件



还可以设置下面几个变量--var_name=value
connect_timeout //连接超时秒数 0
max_allowed_packet //缓存大小 16M
max_join_size //行数 1000000
net_buffer_length //缓存大小 16KB
select_limit //select语句限制 1000

mysql mydb  -h主机地址 -u root -pnewpassword //连接数据库

exit/quit //退出数据库连接

mysql < batch-file > mysql.out //执行batch-file文件里面的sql语句,结果输出到mysql.out

mysql> source filename;//在mysql命令行加载并执行文件

执行脚本文件的时候,可以添加注释SELECT '<info_to_display>' AS ' ';结果输出为<info_to_display>

mysql命令行

?         (?) 显示所有mysql命令
clear     (c) 清除当前输入信息
connect   (
) 重新连接服务器 可选参数是 db and host.
delimiter (d) sql语句分隔符.默认是;
edit      (e) 用 $EDITOR编辑器输入命令.仅Linux有效
ego       (G) 发送命令到服务器,垂直显示结果.
exit      (q) 退出mysql 和quit一样.
go        (g) 发送命令到服务器.
help      (h) 显示所有mysql命令.
nopager   (
) 禁止pager输出, 输出到控制台.
notee     (	) 不输出到文件.
pager     (P) 设置pager输出命令名称
print     (p) 仅输出当前sql语句,不执行.
prompt    (R) 修改mysql命令行提示符.
quit      (q) 退出mysql.
rehash    (#) 自动补全
source    (.) 执行sql脚本
status    (s) 获取服务器状态信息
system    (!) 执行系统shell命令,仅Linux有效
tee       (T) 设置输出结果到文件
use       (u) 改变当前数据库.
charset   (C) 修改字符集.
warnings  (W) 显示警告.
nowarning (w) 不显示警告.
resetconnection(x) 清除会话状态信息

三mysqladmin
create db_name //创建数据库
drop db_name //删除数据库
debug //让服务器写调试信息到错误日志
extended-status //显示服务器状态变量和值
flush-hosts //刷新主机缓存信息
flush-logs [log_type..] //刷新日志binary,engine,error,general,relay,slow
flush-privileges //重新加载权限表reload
flush-status //清除状态变量
flush-tables //刷新所有表
flush-threads //刷新所有线程缓存
kill id,id //杀死服务器线程
password new_password //修改密码
ping //检查服务器是否在运行
processlist //显示活动的服务器线程列表
refresh //刷新所有表并且关闭,打开日志文件
shutdown //关闭服务器
start-slave //开启从服务器
status //显示服务器状态信息
stop-slave //停止从服务器
variables //显示服务器系统变量和值
version //服务器版本

mysqladmin status命令显示下列信息
Uptime //服务器启动以来经过的秒数
Threads //活动的客户连接线程数
Questions //服务器启动以来的查询数
Slow queries //超过long_query_time秒数的查询数
Opens //服务器已经打开的表的个数
Flush tables //服务器已经运行的Flush-*,refresh,reload的命令次数
Open tables //当前打开的表的个数

命令行参数,也可以从配置文件的[mysqladimn][client]组读取,和mysql命令行参数一样的就不列举了
-c N //重复执行的命令次数 --count=N
-i delay //重复执行命令的间隙 --sleep=delay
-# [debug_options] //写调试日志--debug[=debug_options]
-r //当使用--sleep选项时,显示当前和前一个值的不同点--relative ,和extended-status一起使用

还可以设置下面几个变量--var_name=value,和mysql命令行参数一样的就不列举了
shutdown_timeout //关闭服务器超时时间

四mysql_secure_installation,指导设置一些安全选项
从[mysql_secure_installation][client]配置文件读取
--use-defaults //非交互执行,无人值守安装

五mysql_ssl_rsa_setup创建ssl/rsa文件
mysql_ssl_rsa_setup [options]

六mysql_upgrade每次mysql服务器升级后执行
mysql_upgrade [options]
--tmpdir //临时文件目录
--skip-sys-schema //不升级sys表
--update-system-tables //仅升级系统表,不升级数据表
-k //检查服务器版本和build这个命令的版本是否一致,--version-check,--skip-version-check
--write-binlog //是否写binlog

七mysqlcheck检查,修复,优化,分析表
命令行参数和mysqldump类似
mysqlcheck //--check
mysqlrepair //--repair
mysqlanalyze //--analyze
mysqloptimize //--optimize
-l //--all-in-1 用一条语句表示数据库要处理的所有表
--auto-repair //如果检查出表损害,自动修复
-C //--check-only-changed 仅检查被changed表
-g //--check-upgrade 调用CHECK TABLE 用FOR UPDATE选项
-e //--extended 为了确保100%兼容,需要更多时间
-F //--fast 仅检查没有争取close的表
-m //--medium-check 找出99.99%的错误
-q //--quick 快速检测,修复
--skip-database //跳过指定的数据库
--tables //后面跟着表名
--write-binlog //是否写binlog --skip-write-binlog

八innochecksum计算innodb表的checksum
innochecksum [options] file_name
-v //--verbose 每5秒输出进度到日志
-c //--count 打印页数数量
-s //--start-page 开始页号
-e //--end-page 结束页号
-p //--page 页号
-C //--strict-check 指定严格的checksum算法 innodbcrc32 and none
-n //--no-check 当回写checksum时,忽略验证
-w //--write 回写checksum,innodbcrc32 and none
-a //--allow-mismatches 允许的最大不匹配checksum数
-S //--page-type-summary 显示每种page type的数量
-D //--page-type-dump dump没有的page type信息到stderr或stdout
-l //--log 记录输出到日志
cat t1.ibd | innochecksum --write=crc32 - > a.ibd
innochecksum ./data/test/*.ibd //only linux
innochecksum ./data/test/t*.ibd //only linux
innochecksum ./data/*/*.ibd //only linux

./bin/mysqld --no-defaults --innodb-data-file-path="ibdata1:10M;ibdata2:10M;ibdata3:10M:autoextend"
cat ibdata* | innochecksum -
my_print_defaults 从配置文件显示某个组的配置信息
my_print_defaults mysqld

perror [options] errorcode ...显示错误号对应的描述信息
perror 13 64
resolveip [options] host_name|ip_addr 解析主机名到IP或相反

九perror解释错误代码
perror [options] errorcode
-I //-? --help --info 显示帮助信息
-s //--silent 静默模式
-v //--verbose 详细模式
-V //--version 显示版本信息

十resolveip解析主机和ip
resolveip [options] [host_name|ip-addr]





原文地址:https://www.cnblogs.com/shymen/p/8661240.html