• (转)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管理的特有格式的数据文件,内部可同时存储数据和索引
  • 相关阅读:
    javaWeb之eclipse创建Servlet模板快捷键设置
    DBUtils-对JDBC简单封装的开源工具类库
    JDBC连接池(三)DBCP连接池
    JDBC连接池-C3P0连接
    JavaWeb中jsp九大内置对象 和四大作用域
    JDBC连接池-自定义连接池
    JavaWeb中jdbcproperties配置文件
    python学习之字典(Dictionary)练习
    用$.getJSON() 和$.post()获取第三方数据做页面 ——惠品折页面(1)
    请求转发与请求重定向的区别
  • 原文地址:https://www.cnblogs.com/lixuebin/p/10814464.html
Copyright © 2020-2023  润新知