Chinaunix首页 | 论坛 | 博客
  • 博客访问: 631001
  • 博文数量: 244
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 130
  • 用 户 组: 普通用户
  • 注册时间: 2016-06-27 09:53
个人简介

记录学习,记录成长

文章分类

全部博文(244)

我的朋友

分类: LINUX

2015-10-02 22:30:32

MYSQL客户端程序使用

1.mysql
mysql [options] [database]
-u --user=name #用户名
-h  --host=name #登录主机名
-p  --password #登录密码
-P --port #端口号
--protocol=name #所用协议(tcp,socket,pipe,memory)
-D --database=name #连接MYSQL后将name设为默认数据库
-C --compress #数据压缩后发送
--ssl #启用基于SSL的会话功能
--ssl-ca=/path #CA证书文件位置
--ssl-capath=/dir #有多个证书时,在dir目录中的证书都有效,这里指定多个证书的目录位置
--ssl-cert=/path #自己的证书位置
--ssl-cipher=name #SSL加密算法列表
--ssl-key=/path #自己的密钥文件位置
--ssl-crlpath=name #吊销证书列表位置
--ssl-verify-server-cert #验证服务器端证书
-H --html #产生HTML格式的输出
-X --xml #产生XML格式的输出
如:
[root@www ~]# mysql --html
mysql> use mysql;
mysql> select user,host,password from user;
<TABLE BORDER=1><TR><TH>user</TH><TH>host</TH><TH>password</TH></TR><TR><TD>root</TD><TD>localhost</TD><TD>*84BB5DF4823DA319BBF86C99624479A198E6EEE9</TD></TR><TR><TD>root</TD><TD>*84BB5DF4823DA319BBF86C99624479A198E6EEE9</TD></TR><TR><TD>root</TD><TD>127.0.0.1</TD><TD>*84BB5DF4823DA319BBF86C99624479A198E6EEE9</TD></TR><TR><TD>root</TD><TD>::1</TD><TD>*84BB5DF4823DA319BBF86C99624479A198E6EEE9</TD></TR></TABLE>4 rows in set (0.00 sec)
将上述输出内容粘贴至.HTML文件中用浏览器打开


2.mysqladmin
mysqladmin [options] command   [command-args]
create db_name:不需要在MYSQL的交互式模式下创建数据库;
            mysqladmin create test  
debug:让服务器将debug信息写入到错误日志中;
            mysqladmin debug
drop db_name:删除db_name数据库及其中的所有表;
            mysqladmin drop  test
ping:检查服务器是否在线,如返回0则表示在线,返回1则表示不在线
            mysqladmin -uroot -h 192.168.85.128 -p ping
processlist:显示活动的服务进程列表
            mysqladmin processlist
status:显示服务器状态信息
            mysqladmin status
status --sleep m --count n:每隔m秒显示一次服务状态信息,共显示n次;
            mysqladmin status --sleep 2 --count 2
extended-status:显示服务器的状态变量信息;
            mysqladmin extended-status
flush-privileges:让mysqld重读授权表(等同于reload);
            mysqladmin flush-privileges
flush-tables:关闭当前以打开的表
            mysqladmin flush-tables
flush-thread:重置线程缓存;
            mysqladmin flush-thread
flush-status:清除服务状态变量;
            mysqladmin flush-status
flush-logs:用于日志滚动
            mysqladmin flush-logs
flush-hosts:刷新主机的所有缓存信息
            mysqladmin flush-hosts
kill id,id,...:杀死服务线程
            mysqladmin kill 50
refresh:相当于同时执行flush-tables和flush-logs
            mysqladmin refresh
shutdown:停止MYSQL服务
            mysqladmin shutdown
start-slave:启动复制功能,启动从服务器复制线程(SQL thread和IO thread)
            mysqladmin start-slave
stop-slave:关闭复制功能;
            mysqladmin stop-slave

MYSQL工作模式:
1.  交互式模式:直接在MYSQL命令行中输入并执行;
如:
mysql>select user,host,password from user;
2.  批处理模式:将命令写入脚本文件中,并将该文件导入MYSQL中执行;
如:(source (\.) Execute an SQL script file. Takes a file name as an argument)
[root@www ~]# vim testdb.sql
create database testdb;
create table testdb.table1(id int,name char(10));

mysql> source /root/testdb.sql
Query OK, 1 row affected (0.03 sec)
Query OK, 0 rows affected (0.25 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mydb               |
| mysql              |
| performance_schema |
| test               |
| testdb             |
+--------------------+
或者使用重定向功能(删除刚刚创建的testdb数据库):
[root@www ~]# mysql < /root/testdb.sql
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mydb               |
| mysql              |
| performance_schema |
| test               |
| testdb             |
+--------------------+


补充:
MYSQL命令:
1.  客户端命令:
没有结束符,可直接执行;
mysql> ?(列出命令)
clear     (\c) #终止语句执行(\c前如果有分号那么命令依然会执行)
如:mysql> show tables\c
mysql> 

connect (\r) Reconnect to the server. Optional arguments are db and host.重新连接MYSQL并返回连接信息
mysql> connect
Connection id:    12
Current database: testdb

go  (\g) Send command to mysql server.不管结束符是什么,直接将命令送给服务端执行;
mysql> show tables\g
+------------------+
| Tables_in_testdb |
+------------------+
| table1           |
+------------------+
ego (\G) Send command to mysql server, display result vertically.和go一样,不过是竖向方式显示语句结果
mysql> show tables\G
*************************** 1. row ***************************
Tables_in_testdb: table1
1 row in set (0.00 sec)

print  (\p) Print current command显示正在执行的命令

quit   (\q) Quit mysql.退出MYSQL

status (\s) Get status information from the server.显示服务器状态信息

system (\!) Execute a system shell command.不需要退出就可以执行shell命令
mysql> system ls /root
anaconda-ks.cfg     Desktop             mysql-5.6.11
cmake-3.3.2         install.log         mysql-5.6.11.tar.gz
cmake-3.3.2.tar.gz  install.log.syslog  testdb.sql

warnings  (\W) Show warnings after every statement.语句执行结束后显示警告信息

nowarning (\w) Don't show warnings after every statement语句执行结束后不显示警告信息

2.  服务器端命令:
都有结束符,命令以结束符结束;
设置结束符delimiter (\d) Set statement delimiter:
默认sql语句结束符为;号下面将其改为/号
mysql> show tables;
+------------------+
| Tables_in_testdb |
+------------------+
| table1           |
+------------------+
mysql> delimiter /
mysql> show tables/
+------------------+
| Tables_in_testdb |
+------------------+
| table1           |
+------------------+
服务器端命令帮助文档:
http://dev.mysql.com/doc/refman/5.6/en/select.html

MYSQL提示符:
mysql > 可以输入命令语句
->等待继续输入
'>等待另一个'号
">等待另一个"号
`>等待另一个`号
/*>等待另一个多行注释符*\


阅读(753) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~