美文网首页
MySQL安装和基本操作

MySQL安装和基本操作

作者: Simon_Ye | 来源:发表于2020-03-17 17:59 被阅读0次

    MySQL和MariaDB

    官方网站:

    https://www.mysql.com/
    https://www.mariadb.org/

    官方文档:

    https://dev.mysql.com/doc/
    https://mariadb.com/kb/en/

    版本演变:

    MySQL:5.1 --> 5.5 --> 5.6 --> 5.7 --> 8.0
    MariaDB:5.5 --> 10.0 --> 10.1 --> 10.2 --> 10.3


    MariaDB的特性

    • 插件式存储引擎:也称为“表类型”,存储管理器有多种实现版本,功能和特性可能均略有差别;用户可根据需要灵活选择,MySQL5.5.5开始innoDB引擎是MySQL默认引擎
      MyISAM ==> Aria
      InnoDB ==> XtraDB
    • 单进程,多线程
    • 诸多扩展和新特性
    • 提供了较多测试组件
    • 开源

    安装MariaDB

    MariaDB安装方式:

    1. 源代码:编译安装
    2. 二进制格式的程序包:展开至特定路径,并经过简单的配置后即可使用
    3. 程序包管理器管理的程序包

    RPM包安装MySQL

    RPM包安装:

    安装光盘直接提供

    • CentOS 6:
      mysql-server:服务器包
      mysql:客户端工具包
    • CentOS 7:
      mariadb-server:服务器包
      mariadb:客户端工具包
    提高安全性

    mysql_secure_installation

    • 设置数据库管理员root口令
    • 禁止root远程登录
    • 删除anonymous用户账号
    • 删除test数据库

    用户账号

    mysql用户账号由两部分组成:

    'USERNAME'@'HOST'

    说明
    • HOST:限制此用户可通过哪些远程主机连接mysql服务器
    • 支持使用通配符:
      %:匹配任意长度的任意字符
        172.16.0.0/255.255.0.0 或 172.16.%.%
      _:匹配任意单个字符

    MariaDB程序

    客户端程序

    • mysql:交互式的CLI工具
    • mysqldump:备份工具,基于 mysql 协议向 mysqld 发起查询请求,并将查得的所有数据转换成 INSERT 等写操作语句保存文本文件中
    • mysqladmin:基于 mysql 协议管理 mysqld
    • mysqlimport:数据导入工具

    MyISAM存储引擎的管理工具:

    • myisamchk:检查MyISAM库
    • myisampack:打包MyISAM表,只读

    服务器端程序

    • mysql_safe
    • mysqld
    • mysqld_multi:多实例
      示例:mysqld_multi --example

    Mysql客户端

    mysql使用模式:

    交互式模式:
    • 可运行命令有两类:
      1. 客户端命令:
        \h,help
        \u,use
        \s,status
        \!,system
      2. 服务器端命令:
        SQL,需要语句结束符 " ; "
    脚本模式:
    1. ~]# mysql -uUSERNAME -pPASSWORD < /path/somefile.sql
    2. mysql> source /path/from/somefile.sql

    mysql客户端可用选项:

    -A,--no-auto-rehash:禁止补全
    -u,--user=:用户名,默认为root
    -h,--host=:服务器主机,默认为localhost
    -p,--password=:用户名密码,建议使用-p,默认为空密码
    -P,--port=:服务器端口
    -S,--socket=:指定连接socket文件路径
    -D,--database=:指定默认数据库
    -C,--compress:启用压缩
    -e "SQL":执行SQL命令
    -V,--version:显示版本
    -v,--verbose:显示详细信息
    --print-defaults:获取程序默认使用的配置

    socket地址

    服务器监听的两种socket地址:

    • ip socket:监听在tcp的3306端口,支持远程通信
    • unix sock:监听在sock文件上,仅支持本机通信
      如:/var/lib/mysql/mysql.sock

    说明:host为localhost,127.0.0.1时自动使用unix sock

    执行命令

    • 运行mysql命令:默认空密码登录
      mysql> use mysql
      mysql> SELECT user();  #查看当前用户
      mysql> SELECT User,Host,Password FROM user;
      
    • 登录系统:
      ~]# mysql -uroot -p
    • 客户端命令:本地执行,每个命令都有完整形式和简写格式
      如:
      mysql> help
      mysql> status 或 \s
      
    • 服务端命令:通过mysql协议发往服务器执行并取回结果
      每个命令都必须有命令结束符号,默认为分号 " ; "
      mysql> SELECT VERSION();

    服务器端配置

    服务器端(mysqld):

    工作特性有多种配置方式

    1. 命令行选项:
    2. 配置文件:类ini格式
      集中式的配置,能够为mysql的各应用程序提供配置信息
      [mysqld]
      [mysqld_safe]
      [mysqld_multi]
      [mysql]
      [mysqldump]
      [server]
      [client]
      
      格式:parameter = value
      说明:
        _ 和 - 相同
        0,OFF,FALSE 意义相同;1,ON,TRUE 意义相同

    配置文件

    后面覆盖前面的配置文件,顺序如下:

    1. /etc/my.cnf:Global选项
    2. /etc/mysql/my.cnf:Global全局选项
    3. SYSCONFDIR/my.cnf:Global选项
    4. $MYSQL_HOME/my.cnf:Server-specific选项
    5. --defaults-extra-file=path:命令行参数选项
    6. ~/.my.cnf:User-specific选项

    获取可用参数列表:

    ~]# /usr/libexec/mysqld --help -verbose
    ~]# /usr/libexec/mysqld --print-defaults:获取默认设置

    MariaDB配置

    • 侦听 3306/tcp 端口可以在绑定有一个或全部接口IP上
    • 关闭网络连接,只侦听本地客户端,所有和服务器的交互都通过一个 socket 文件实现,socket 的配置存放在/var/lib/mysql/mysql.sock,可在/etc/my.cnf修改
      [root@node1 ~]# vim /etc/my.cnf
      [mysqld]
      skip-networking=1  
      

    相关文章

      网友评论

          本文标题:MySQL安装和基本操作

          本文链接:https://www.haomeiwen.com/subject/ngptyhtx.html