zoukankan      html  css  js  c++  java
  • MySQL安装以及客户端的使用

    MySQL安装以及客户端的操作

    MySQL Client Mannual

    在linux上安装

    Yum Repository

    sudo yum install mysql-community-server
    

    APT

    sudo apt-get install mysql-server
    

    安装后开启MySQL Server服务

    systemctl:

    systemctl {start|stop|restart|status} mysqld
    

    或者 service:

    service mysqld {start|stop|restart|status}
    

    MySQL 服务初始化

    第一次开启服务:

    • 服务端初始化.

    • SSL证书与密钥被生成,存放在数据文件夹中.

    • validate_password is installed and enabled.

    • 超级用户:'root'@'localhost 被创建. 密码存放在日志中:

      sudo grep 'temporary password' /var/log/mysqld.log
      

    开启服务后设置密码:

    mysql -uroot -p
    
    ALTER USER 'root'@'%' IDENTIFIED BY 'MyNewPass';
    
    • Note:

      • 密码要至少包含:

      • 一个大写字母

        • 一个小写字母
        • 一个数字
        • 一个特殊字符
        • 密码长度不小于8
      • user分为host为localhost%的用户:

        • User@% 允许从所有的ip访问. User@localhost 只允许从localhost访问。

    使用docker部署MySQL

    (1)使用docker安装

    • 拉取mysql

      docker pull mysql:[tag]
      
    • 启动镜像,配置挂载卷:

      docker run -d -p 3306:3306 --name mysql     
      -e MYSQL_ROOT_PASSWORD="assinscreed" 
      -e MYSQL_USER="root" 
      -e MYSQL_PASSWORD="assinscreed" 
      mysql:[tag]
      
      • 其中数据以及配置文件挂载:

           --mount type=bind,src=/path-on-host-machine/my.cnf,dst=/etc/my.cnf 
           --mount type=bind,src=/path-on-host-machine/datadir,dst=/var/lib/mysql 
        

    MySQl客户端

    MySQL客户端命令选项-官方文档

    常用的MySQL客户端连接选项

    输出

    --auto-vertical-output

    • 如果输出数据的结果太宽,自动改成垂直显示,与sql语句以G作用相同。

      image-20210221223009639

    • --vertical, -E:强制垂直显示。

    • --html, -H

      • 输出为HTML格式,如下:

        image-20210221224757684

    • --xml, -X:输出为xml格式

    连接选项

    --user=user_name, -u user_name

    • 指定用户名。

    --host=host_name, -h host_name

    • 指定连接主机地址。

    --password[=password], -p[password

    • 指定登录密码,注意的是密码与选项之间不能有空格。

    --port=port_num, -P port_num

    • 指定MySQL服务的TCP端口号

    --database=db_name, -D db_name

    • 指定使用的数据库

    --connect-timeout=value

    • 连接超时秒数,默认为0

    --wait, -w

    • 如果连接不能建立,则会等待相应秒数重连。

    --reconnect

    • 如果中途连接终端,则自动重连
    • To suppress reconnection behavior, use --skip-reconnect.

    功能执行

    --execute=statement, -e statement

    • 处理提供的statement 语句并推出mysql。

    --init-command=str

    • 连接之后执行str。

    --line-numbers

    --max-allowed-packet=value

    • The maximum size of the buffer for client/server communication. The default is 16MB, the maximum is 1GB.

    --max-join-size=value

    • The automatic limit for rows in a join when using --safe-updates. (Default value is 1,000,000.)

    --named-commands, -G

    • 可以在mysql中使用命令,如:quitq可以同时使用。

    • --skip-named-commands:关闭长命令的使用。如可使用qquit无法使用

    --no-beep, -b

    • 发生错误时,禁止发出声音.

    --print-defaults

    • Print the program name and all options that it gets from option files.

    --quick, -q

    • Do not cache each query result, print each row as it is received. This may slow down the server if the output is suspended. With this option, mysql does not use the history file.

    --verbose, -v

    • Verbose mode. Produce more output about what the program does. This option can be given multiple times to produce more and more output. (For example, -v -v -v produces table output format even in batch mode.)

    --version, -V

    • 打印版本信息并退出。

    MySQL客户端命令

    MySQL客户端命令官方文档

    mysql> help
    
    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.
    resetconnection(x) Clean session context.
    query_attributes() Sets string parameters (name1 value1 name2 value2 ...)
    for the next query to pick up.
    
    For server side help, type 'help contents'
    

    常用:

    clear, c
    
    • 清空当前的输入,示例:

      mysql> select wrong
          -> c
      mysql>
      
    connect [db_name [host_name]], 
     [db_name [host_name]]
    
    • 重新连接指定主机下的数据库。
    delimiter str, d str
    
    • 指定SQL语句分界符号(终止符),默认为`;
    prompt [str], R [str]
    
    • 修改提示符为指定的字符串。
    resetconnection, x
    
    • 重建连接,并清除seesion,示例:

      mysql> SELECT LAST_INSERT_ID(3);
      +-------------------+
      | LAST_INSERT_ID(3) |
      +-------------------+
      |                 3 |
      +-------------------+
      
      mysql> SELECT LAST_INSERT_ID();
      +------------------+
      | LAST_INSERT_ID() |
      +------------------+
      |                3 |
      +------------------+
      
      mysql> resetconnection;
      
      mysql> SELECT LAST_INSERT_ID();
      +------------------+
      | LAST_INSERT_ID() |
      +------------------+
      |                0 |
      +------------------+
      
    source file_name, . file_name
    
    • 执行文件中的SQL语句。
    system commmand, ! command
    
    • 通过linux系统的shell执行命令。
    tee [file_name], T [file_name]
    
    • 同时将输出结果输入到指定的文件中。

    HELP命令的使用

    mysql> help contents
    You asked for help about help category: "Contents"
    For more information, type 'help <item>', where <item> is one of the
    following categories:
       Account Management
       Administration
       Data Definition
       Data Manipulation
       Data Types
       Functions
       Functions and Modifiers for Use with GROUP BY
       Geographic Features
       Language Structure
       Plugins
       Storage Engines
       Stored Routines
       Table Maintenance
       Transactions
       Triggers
    
    • 可以使用%_,进行命令的匹配:

      mysql> HELP rep%
      Many help items for your request exist.
      To make a more specific request, please type 'help <item>',
      where <item> is one of the following
      topics:
         REPAIR TABLE
         REPEAT FUNCTION
         REPEAT LOOP
         REPLACE
         REPLACE FUNCTION
      

    处理文本中的SQL语句

    读取文件中的SQ语句(常用于还原mysqldump备份的数据):

    mysql db_name < text_file
    

    如果文件中指定了数据库(use db_name),可以直接:

    mysql < text_file
    

    如果已经进入了mysql:

    mysql> source file_name
    mysql> . file_name
    
    d~ ddd~ ddd~ ddd ddd~
  • 相关阅读:
    Js特殊字符转义之htmlEscape()方法
    利用Image对象,建立Javascript前台错误日志记录
    html5 实现 文件夹上传
    博客园博客开通了
    js 无刷新文件上传 (兼容IE9 )
    js实现关键词高亮显示 正则匹配
    Python练习六
    Python练习二
    Python练习三
    Python练习四
  • 原文地址:https://www.cnblogs.com/nishoushun/p/14432949.html
Copyright © 2011-2022 走看看