zoukankan      html  css  js  c++  java
  • (转)MySQL初识-架构-安装-初始化-连接-管理工具-数据文件

    原文:
    http://xxrenzhe.blog.51cto.com/4036116/1395061



    MySQL初识-架构-安装-初始化-连接-管理工具-数据文件

    MySQL架构和结构分析

    官方架构图

    wKioL1NLJNiRnPzbAAn45ZsJsuY067.jpg

    内部组件结构图

    wKiom1NLJSDxkZwaAALzdV2IEfA203.jpg

    MySQL安装方式

    wKioL1NLJRjSdsIXAAfglSdvzi8965.jpg


    MySQL初始化

    wKiom1NLJV2zwKazAAsmeOpZnBI736.jpg


    MySQL工作模式及常用命令

    交互式模式:mysql>

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    # 交互式模式下的客户端命令
       mysql> help # 获取命令帮助
       mysql> ? # 同上
       mysql> c # 取消命令执行
       mysql> g # 发送命令至服务器端
       mysql> G # 发送命令至服务器端,垂直显示结果
       mysql> q # 退出
       mysql> ! # 执行系统shell命令
       mysql> s # 显示服务器端状态信息
       mysql> . /path/to/mysql_script.sql # 批量执行sql
       mysql> u # 切换数据库
    # 交互式模式下的服务器端命令(需要命令提示符,默认为分号)
       mysql> help contents 能够获取帮助的分类信息
       mysql> help keyword 获取关键字的帮助信息,如help select

    脚本模式:mysql < /path/to/mysql_script.sql

    注:常用于主从复制批量导入数据时


    连接MySQL

    连接类型

     

    本地通信:客户端与服务器端位于同一主机,而且还要基于127.0.0.1(localhost)地址或lo接口进行通信

       基于sock文件通信:如mysql -hlocalhost -uroot -p --socket=/tmp/mysql.sock

    远程通信:客户端与服务器端位于不同的主机,或在同一主机使用非回环地址通信

       基于 TCP socket通信

    mysql客户端选项

    实例

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    -u,--user # 指定连接用户
    -h,--host # 指定连接主机
    -p,--password # 指定连接密码
    --protocol={tcp|socket|memory|pipe} # 指定连接协议
    -P,--port # 指定连接端口,默认监听端口:tcp/3306
    --socket # 指定本地连接的sock文件
    --compress # 数据传输采用压缩格式
    -D,--database # 指定连接后默认使用的数据库
    -H,--html # 指定产生html输出
    -X,--xml # 指定产生xml输出
    --safe-updates # 拒绝使用无where子句的update或delete命令
    # 使用实例:mysql -hlocalhost -uroot -p

    mysql命令提示符

    1
    2
    3
    4
    5
    6
    mysql> # 等待输入命令
    -> # 等待继续输入
    ‘> # 等待结束单引号
    “> # 等待结束双引号
    `> # 等待结束反引号
    结束注释

     

    mysql的快捷键

    1
    2
    3
    4
    5
    ctrl+w:# 删除光标之前的单词
    ctrl+u:# 删除光标之前至命令行首的所有内容
    ctrl+y:# 粘贴所有ctrl+w或ctrl+u删除的内容
    ctrl+a:# 移动光标至行首
    ctrl+e:# 移动光标至行尾

     


    MySQL管理工具mysqladmin

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    # 使用格式:mysqladmin [options] command [arg] [,command [arg]] …
    # 常用的command包括:
    create DB_Name:# 创建数据库
    drop DB_Name:# 删除数据库
    debug:# 打开调试日志并记录于error log中
    status:# 显示简要状态信息
    --sleep #:设置间隔时长
    --count #:设置显示的批次
    extended-status:# 显示扩展信息,输出mysqld的各状态变量及赋值,相当于执行“mysql> show global status”
    variables:# 输出mysqld的各服务器变量
    flush-hosts:# 清空主机相关的缓存:DNS解析缓存;此前因为连接错误次数过多而被拒绝访问mysqld的主机列表
    flush-logs:# 日志滚动,只能滚动二进制日志和中继日志
    refresh:# 相当于同时使用flush-hosts和flush-logs
    flush-privileges:# 通知mysqld重读授权表
    reload:# 功能同“flush-privileges”
    flush-status:# 重置状态变量的值
    flush-tables:# 关闭当前打开的表文件句柄
    flush-threads:# 清空线程缓存
    kill# 杀死指定的线程,需指定线程ID;可以一次杀死多个线程,以逗号分隔,但不能有多余空格
    password:# 修改当前用户的密码
    ping# 模拟ping操作,检测mysqld是否在线
    processlist:# 显示mysqld线程列表
    shutdown# 关闭mysqld进程
    start-slave,stop-slave:# 启动/关闭从服务器线程


    MySQL数据文件解析

    MyISAM表:每表有3个文件,都位于数据库目录中

    1
    2
    3
    tb_name.frm:# 表结构定义文件
    tb_name.MYD:# 数据文件
    tb_name.MYI:# 索引文件

    InnoDB表:有2种存储方式

    默认方式:每表有1个独立文件和一个多表共享的文件

    1
    2
    tb_name.frm:# 表结构定义文件,位于数据库目录中
    ibdata#:# 共享的表空间文件,默认位于数据目录(datadir指向的目录)中,如ibdata1

    自定义方式:独立的表空间

    1
    2
    3
    4
    5
    6
    tb_name.frm:#表结构定义文件
    tb_name.ibd:# 独有的表空间文件
    # 在MySQL初始化中打开独立表空间功能的方法:
    vi /etc/my.cnf (在[mysqld]段下添加)
    innodb_file_per_table = ON
    # 注:表空间:table space,是由InnoDB管理的特有格式的数据文件,内部可同时存储数据和索引
  • 相关阅读:
    mysql命令集锦
    linux 删除文件名带括号的文件
    linux下的cron定时任务
    struts2文件下载的实现
    贴一贴自己写的文件监控代码python
    Service Unavailable on IIS6 Win2003 x64
    'style.cssText' is null or not an object
    "the current fsmo could not be contacted" when change rid role
    远程激活程序
    新浪图片病毒
  • 原文地址:https://www.cnblogs.com/lixuebin/p/10814464.html
Copyright © 2011-2022 走看看