zoukankan      html  css  js  c++  java
  • mysql基础-数据库初始化操作必要步骤和客户端工具使用-记录(二)

    0x01

    mysql启动时,读取配置文件的顺序   

    Default options are read from the following files in the given order:
    /etc/mysql/my.cnf     /etc/my.cnf      ~/.my.cnf

    使用配置文件的方式
    1.它依次查找多个需要查找的文件,结果是所有文件交集
    2.如果某参数在多个文件中宏出现多次,后配置的最终生效

    可以使用 mysql --help --verbose 来查看
    1.显示mysql的程序启动时可用的选项,通常都是长选项
    2.显示mysqld配置文件中可用的服务变量
    mysql > show global variables
    mysql > show session variables

    0x02

    1. 在mysql数据库安装好之后,首先的初始化操作就是删除匿名用户

    查询有哪些匿名用户

    select host,user,password from mysql.user;

    删除对应的匿名用户,实际情况,可根据实际情况删除。

    drop user ''@'localhost';

    drop user ''@'stuphp.hping3.com';

    用户名账号由两部分组成:username@host
    host还可以使用通配符
    %:任意长度的任意字符
    _:匹配任意单个字

    2. 给所有root用户设置密码

    第一种方式修改密码:  

    实例 ---> mysql > set password for root@localhost = password('photon'); 

    格式 ---> mysql > set password for username@host = password( 'your_password')

    第二种方式修改密码:

    该方式修改密码,是直接修改mysql下的user表,所有要先进到user表中执行

    故   use mysql;

    update user set password = password('redhat') where user = 'root';

    让其立即生效   ---- 即 让其通知mysqld重新读取 user表

    flush privileges;

    第三种方法修改密码:

    实例 ---->  

    mysqladmin -uroot -hlocalhost password 'photon' -p  ----localhost  是一个主机IP

    mysqladmin -u root -h localhost -p flush-privileges    ----让其生效

    格式 ---->  

    mysqladmin -u UserName -h Hot password 'new_password' -p
    mysqladmin -u UserName -h Host -p flush-privileges

    0x03

    接入MySQL服务器
    mysql <-mysql protocol-> mysqld

    mysql接受链接请求
    本地通信:客户端与服务器端位于同一主机,而且还要基于127.0.0.1(localhost)地址或lo接口进行通信
    Linux OR Unix:Unix Sock,/tmp/mysql.scok,/var/lib/mysql/mysql.sock


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

    客户端工具:mysql,mysqladmin,mysqldump,mysqlcheck
    [client]

    通信的选项:
    -u,--user=
    -h, --host=
    -p, --password=
    --protocol={tcp|socket|memory|pipe}
    --port=
    --socket=/tmp/mysql.sock

    mysql监听的端口:3306/tcp

    非客户端类的管理工具:myisamchk,myisampack
    myisamchk --检测工具
    myisampack 打包工具
    mysql:
    交互式模式
    mysql>
    脚本模式
    mysql < /path/to/mysql_scripy.sql

    mysql交互式模式:
    客户端命令
    mysql> help
    mysql>?
    c:取消命令的执行
    g
    G
    q
    !
    s
    . /path/to/mysql_script.mysql 批处理zhixingmysql命令
    # 命令补全 --- 她需要读取表重新生成hash ,会导致比较大的数据,出现卡的情况
    服务器端命令:需要命令结束符,默认为分号(;)
    mysql> help关键字

    help contents   获取整体列表

    help  keyword   获取相关命令的列表

    List of all MySQL commands:
    Note that all text commands must be first on line and end with ';'
    ?         (?) Synonym for `help'.
    clear     (c) Clear the current input statement.
    connect   (
    ) Reconnect to the server. Optional arguments are db and host.
    delimiter (d) Set statement delimiter.
    edit      (e) Edit command with $EDITOR.
    ego       (G) Send command to mysql server, display result vertically.
    exit      (q) Exit mysql. Same as quit.
    go        (g) Send command to mysql server.
    help      (h) Display this help.
    nopager   (
    ) Disable pager, print to stdout.
    notee     (	) Don't write into outfile.
    pager     (P) Set PAGER [to_pager]. Print the query results via PAGER.
    print     (p) Print current command.
    prompt    (R) Change your mysql prompt.
    quit      (q) Quit mysql.
    rehash    (#) Rebuild completion hash.
    source    (.) Execute an SQL script file. Takes a file name as an argument.
    status    (s) Get status information from the server.
    system    (!) Execute a system shell command.
    tee       (T) Set outfile [to_outfile]. Append everything into given outfile.
    use       (u) Use another database. Takes database name as argument.
    charset   (C) Switch to another charset. Might be needed for processing binlog                                                                                         with multi-byte charsets.
    warnings  (W) Show warnings after every statement.
    nowarning (w) Don't show warnings after every statement.

    0x04

    mysql命令行选项
    --compress 压缩传输
    --default-character-set 默认的字符集设置
    -V: 显示版本号
    -v: 显示详细信息
    --ssl-ca ca证书
    --ssl-capath ca证书的文件夹
    --ssl-cert 客户端证书
    --ssl-cipher 加密
    --ssl-key 使用的私钥
    --ssl-verify-server-cert 验证服务器端证书

    --database= -D:指定要使用的数据库

    mysql命令提示符
    mysql> 等待输入命令
    '> 前面提供的‘未提供结束’
    ”> 引用字符串
    `> 引用字符串
    —> 续航符
    /*> 注释信息

    mysql快捷键和Linux下shell差不多

    ctrl+w:删除光标所在处之前的一个单词  --- 同shell
    ctrl+u:删除光标之前的所有内容到行首  --- 同shell
    ctrl+y:粘贴之前ctrl+w或者ctrl+u删除的内容
    ctrl+a:移动光标至行首     --- 同shell
    ctrl+e:移动光标至行尾     --- 同shell

    mysql的输出格式

    -H --html:输出为html格式的文档
    -X --xml:输出为xml格式的文档

    --safe-updates:发送命令时拒绝使用无where字句的update或delete命令   但是如果使用limit 是可以正常执行

    使用 -H参数

    mysql -H -uroot -p    ----查询结果是html格式

    0x05

    mysqladmin工具
    mysqladmin [options] command [arg] [command[arg]] .....

    command
    create DB_Name 创建空数据库 mysqladmin -uroot -p create mydb
    -e:直接返回 mysql -uroot -p -e 'show databases;' ---不进数据库就可以查看数据库
    drop DB_Name 删除数据库
    debug 打开调试日志并记录与error log中
    status:输出简要状态信息 mysqladmin -uroot -p status
    -sleep # 指定显示延迟 mysqladmin -uroot -p status --sleep 3 sleep 指定睡眠几秒钟再显示
    -count # 指定批次 mysqladmin -uroot -p status --sleep 1 --count 5 指定显示几次
    extended-status:输出mysq的各状态变量及数值,相当于执行“mysql> show global status” mysqladmin -uroot -p status extended-status
    flush-hosts:清空主机相关的缓存:DNS解析缓存,此前因为连接错误次数过多而被拒绝访问mysqld的主机列表
    flush-logs:日志滚动,主要是二进制日志和中继日志
    refresh:相当于同时使用flush-logs和flush-hosts

    flush-privileges:通知服务器重读授权表
    reload:重载授权表
    flush-status:重置状态变量的值
    flush-tables:关闭当前打开的表文件句柄, 但是如果有表正在被查询,就要等查询完毕,才关闭!
    flush-threads:清空线程缓存
    kill:杀死指定的线程,可以一次杀死多个线程,以逗号分隔,但不能有多余空格
    password:修改指定用户的密码
    processlist: 显示线程列表 mysqladmin -uroot -p processlist
    shutdown:关闭mysqld进程

    start-slave 启动从服务器进程
    stop-slave 关闭从服务器进程
    variables:显示mysql的各服务器进程

    GUI客户端工具
    Navicat for mysql    ---推荐使用该GUI工具
    Toad for mysql
    SQLyog
    MySQL Front
    phpMyAdmin

    总结 -----> mysql初始化,mysql配置文件读取次序,mysql初始用户,mysql客户端命令 mysqladmin GUI

  • 相关阅读:
    Hive性能分析和优化方法
    浅谈MySQL中优化sql语句查询常用的30种方法
    spark 源码阅读博客
    spark shell学习笔记
    用shell 实现对MySQL数据库分页
    hive 1.2 配置
    spark1.4配置安装
    HBase学习
    【转】解密饿了么大前端团队
    【转】我心目中的支付宝架构
  • 原文地址:https://www.cnblogs.com/autopwn/p/5077672.html
Copyright © 2011-2022 走看看