设为首页 收藏本站
查看: 340|回复: 0

[经验分享] MySQL客户端使用

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-11-24 09:59:20 | 显示全部楼层 |阅读模式
内容摘要

  • MySQL客户端的登录
  • MySQL模式,交互模式,脚本模式
  • MySQL服务器命令和客户端命令

  • 更改MySQL的输出方式
  • MySQL配置文件介绍



1.MySQL客户端的登录
参数说明
mysql
    --user, -u   #指定用户
    --host, -h   #指定主机
    --password, -p  #指定密码
    --port       #指定端口
    --protocol   #指定协议
    --database DATABASE, -D  #指定连接的默认操作数据库

连接指定的数据库
[iyunv@localhost mysql]# mysql -D mydb
mysql> SELECT DATABASE()l;
+------+
| l    |
+------+
| mydb |
+------+

设置本机访问mysql数据库不需要密码(这个文件千万不要让其他人可以看到,因为密码都是明文的)
在root家目录下建立一个.my.cnf的文件,写上MySQL的登陆用户名,密码和主机,以后再登陆数据库直接输入mysql命令即可
[iyunv@localhost ~]# vim .my.cnf
[client]
user = root
password = redhat
host = localhost


2.MySQL命令模式
   交互式模式(输入一个命令执行一个命令)
   批处理模式(脚本模式)

      
操作:批处理模式创建数据库和表
首先创建一个批处理文件,输入创建库和表的命令。
[iyunv@localhost ~]# vim test.sql
CREATE DATABASE testdb;
CREATE TABLE testdb.tb1(id INT, name CHAR(20));
在mysql客户端中使用此脚本创建数据库和表
mysql> \. /root/test.sql
Query OK, 1 row affected (0.00 sec)

Query OK, 0 rows affected (0.02 sec)

mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mydb               |
| mysql              |
| performance_schema |
| test               |
| testdb             |
+--------------------+
6 rows in set (0.00 sec)

mysql> USE testdb;
Database changed
mysql> SHOW TABLES;
+------------------+
| Tables_in_testdb |
+------------------+
| tb1              |
+------------------+
1 row in set (0.00 sec)

直接在命令行模式下也可以使用脚本
[iyunv@localhost ~]# mysql < test.sql



3.MySQL客户端命令和服务器端
               
客户端命令参数说明:
             \?:查看帮助
             \d:设置命令结束符
             \c: 提前终止语句执行
             \r:重新连接数据库,并且显示连接id和当前的数据库
             \p:显示当前正在执行的命令
             \g: 无论语句结束符是什么,直接将此语句送至服务器端执行;
             \G: 无论语句结束符是什么,直接将此语句送到服务器端执行,而且结果以竖排方式显示;
             \! COMMAND: 执行shell命令
             \W: 语句执行结束后显示警告信息;
             \#: 对新建的对象,支持补全功能;

MySQL客户端执行命令提示             
mysql > 可以输入新语句
     -> 语句没有输完
     '> 单引号后一半,意思是只给了一个单引号前一半没有给后一半
     ">双引号后一半
     `>反撇号后一半
     /*>多行注释信息
            
客户端命令演示:
delimiter或者\d 设置命令结束符
mysql> \d //
mysql> SHOW DATABASES //
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mydb               |
| mysql              |
| performance_schema |
| test               |
| testdb             |
+--------------------+
6 rows in set (0.00 sec)

\c终止命令执行,但是如果有命令结束符\c是不生效的
mysql> SELECT User,host FROM us\c
mysql> SELECT User,host FROM user;\c
+------+-----------------------+
| User | host                  |
+------+-----------------------+
| root | 127.0.0.1             |
| root | localhost             |
| root | localhost.localdomain |
+------+-----------------------+
3 rows in set (0.00 sec)


\!执行一个shell命令
mysql> \! ls /root
anaconda-ks.cfg     CMakeFiles           mysql-5.5.28
awstats-7.0.zip     Desktop              mysql-5.5.28.tar.gz
cmake-2.8.8         httpd-2.2.17.tar.gz  test.sql
cmake-2.8.8.tar.gz  install.log          VMwareTools-9.6.1-1378637.tar.gz
CMakeCache.txt      install.log.syslog   vmware-tools-distrib


服务器命令:
   服务器端命令获取帮助,帮助下面有链接可以获取到官方文档
   help 关键字

参数说明
    create DATABASE :创建数据库
    drop DATABASE :删除数据库
    ping :测试数据库在不在线
    processlist:查看mysql正在执行的进程|线程列表
    status
        --sleep N:显示频率  (--sleep 2 两秒钟刷新一次数据库状态)
        --count N: 显示多个状态  
    extended-status: 显示状态变量
    variables: 显示服务器变量
    flush-privileges: 让mysqld重读授权表, 等同于reload;
    flush-status: 重置大多数的服务器状态变量
    flush-tables:关闭所有以打开的表
    flush-logs: 二进制和中继日志滚动(对于错误日志只是关闭在打开)
    flush-threads:重置线程缓存(清除空闲线程)
    flush-hosts: 清除主机的内部信息,dns解析缓存,和由于太多连接错误拒绝登录
    kill:杀死mysql内部线程
    refresh: 相当于同时执行flush-hosts和flush-logs
    shutdown: 关闭mysql服务器进程
    version: 服务器版本及当前状态信息;
    shutdown:直接关闭mysql服务器
    start-slave: 启动复制,启动从服务器复制线程;
        SQL thread
        IO thread
    stop-slave: 关闭复制;



服务器命令演示:
命令行模式创建数据库
[iyunv@localhost ~]# mysqladmin create hellodb
[iyunv@localhost ~]# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 14
Server version: 5.5.28-log Source distribution

Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| hellodb            |
| mydb               |
| mysql              |
| performance_schema |
| test               |
| testdb             |
+--------------------+
7 rows in set (0.00 sec)

测试mysql主机在不在线
测试本机
[iyunv@localhost ~]# mysqladmin ping
mysqld is alive
测试远程mysql服务器
[iyunv@localhost ~]# mysqladmin -uroot -p -h192.168.0.105 ping
Enter password:

查看mysql正在执行的进程|线程列表
[iyunv@localhost ~]# mysqladmin processlist
+----+------+-----------+----+---------+------+-------+------------------+
| Id | User | Host      | db | Command | Time | State | Info             |
+----+------+-----------+----+---------+------+-------+------------------+
| 20 | root | localhost |    | Query   | 0    |       | show processlist |
+----+------+-----------+----+---------+------+-------+------------------+

查看mysql的状态
[iyunv@localhost ~]# mysqladmin status
Uptime: 8194  Threads: 1  Questions: 80  Slow queries: 0  Opens: 37  Flush tables: 1  Open tables: 27  Queries per second avg: 0.009
Uptime:启动时间
Threads:允许的线程数
Questions:已经完成的查询数
Slow queries:慢查询的次数
Opens:打开的表数
Flush tables:刷新的flush表数
Open tables:打开的文件数
Queries per second avg:平均下来每秒钟的查询数



4.更改MySQL的输出方式
更改mysql输出方式
--html 或者 -H 显示为html结构
--xml 或者 -X 显示为XML结构

设置html输出,如果把输出结果放在一个html文件中,那么最终显示的还是一个表格形式
[iyunv@localhost ~]# mysql --html
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 12
Server version: 5.5.28-log Source distribution

Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>  use mysql;
Database changed
mysql> SELECT User,Host FROM user;
<TABLE BORDER=1><TR><TH>User</TH><TH>Host</TH></TR><TR><TD>root</TD><TD>127.0.0.1</TD></TR><TR><TD>root</TD><TD>localhost</TD></TR><TR><TD>root</TD><TD>localhost.localdomain</TD></TR></TABLE>3 rows in set (0.00 sec)


5.MySQL配置文件介绍

mysql客户端和服务器端都共享一个组件my.cnf
读取配置文件的顺序,最后找到的生效
/etc/my.cnf --> /etc/mysql/my.cnf --> $MYSQL_HOME/my.cnf --> --default-extra-file=/path/to/somefile --> ~/.my.cnf

配置文件生效段
[mysqld]
对服务器生效
[mysqld_safe]
对safe生效
[client]
对所有客户端生效
[mysql]
对mysql客户端生效

查看可以写入配置文件的参数
[iyunv@localhost ~]# mysqld --help --verbose


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-33546-1-1.html 上篇帖子: MySQL5.5编译安装和安装后的基本配置 下篇帖子: MySQL数据类型、服务器变量说明 客户端
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表