• MySQL-基础-2


    MySQL数据库介绍
      • MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言
    --结构化查询语(SQL)进行数据库管理。
      • MySQL的历史最早可以追溯到1979年,那时Oracle也才刚刚开始,微软的SQL Server影子都没有。
      • 在2008年1月16号 MySQL被Sun公司收购。
      • 2009年,SUN又被Oracle收购
      • 体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,使得许多企业选择了MySQL作为数据库


    MySQL官网介绍

      • 主页https://www.oracle.com/mysql/index.html

      • 下载主页面https://www.mysql.com/downloads/

      • 社区资源下载页面https://dev.mysql.com/downloads/

      • MySQL社区版下载页面https://dev.mysql.com/downloads/mysql/

    MySQL相关产品介绍

      • Oracle MySQL Cloud Service (commercial)
    商业付费软件,基于MySQL企业版和Oracle云服务提供企业级

      • MySQL Enterprise Edition(commercial)商业付费软件,除了提供MySQL数据库服务之外,又包含了connector(程序连接接口)partition(表分区),企业级的monitor(监控)HA(高可用)backup(备份)Scalability(扩展)等服务。
      • MySQL Cluster CGE(commercial)商业付费软件,基于MySQL Cluster和企业版拥有的各项功能提供企业级的高并发 、高吞吐的数据库服务

      • MySQL Community Edition 免费社区软件,提供基础的数据库服务和其他衍生服务

    MySQL 社区软件相关产品介绍

      • MySQL Community Server
    最流行的开源数据库管理软件,当前最新版本是5.7

      • MySQL Cluster基于MySQL数据库而实现的集群服务,自身能提供高并发高负载等特性
      • MySQL Fabric MySQL官方提供的关于MySQL数据库高可用和数据分片的解决方案

      • MySQL Connectors为应用程序提供JDBC/ODBC等访问MySQL数据库的接口服务


    MySQL Community Server各版本主要区别

    • MySQL4.0版本: 增加了子查询的支持,字符集增加UTF-8, GROUP BY语句增加了ROLLUP, mysql.user表采用了更好的加密算法, InnoDB开始支持单独的表空间

    • MySQL5.0版本: 增加了Stored procedures、 Views、 Cursors、 Triggers、XA transactions的支持,增加了INFORATION_SCHEMA系统数据库

    • MySQL5.5版本: 默认存储引擎更改为InnoDB, 提高性能和可扩展性,增加半同步复制

    • MySQL5.6版本:提高InnoDB性能,支持延迟复制

    • MySQL5.7版本:提升数据库性能和存储引擎,更健壮的复制功能,增加sys系统库存放数据库管理信息

     

    MySQL安装——准备(1)


    • 检查操作系统和MySQL版本的适配度

    MySQL安装——准备(2)


    • 选择安装的MySQL版本

    • 首先判断是否要和公司其他已经安装好的MySQL保持版本一致

    • 如果没有上述要求,则一般会安装最新版本(目前是5.7)

    • 如果不是实验新功能性质,则不要选择development release,而要安装General Availability (GA) release(代表稳定版本,可在生产系统使用)

    • 选择安装MySQL的方式

    • 二进制安装包的方式(RPM,ZIP,Tar等)

    • 源码方式(source code)

    • 一般会选择二进制安装方式

    • 如果有特殊需求,比如修改一部分源码或修改MySQL深层次的配置,则会选择源码方式

    • 我们以二进制Tar包安装方式为例

     

    MySQL Linux 安装


    • 1.下载正确的tar包

     

    • 2.上传tar包到服务器并解压tar包到/usr/local/目录

    • cd /usr/local/

    • tar -xvf mysql-5.7.17-linux-glibc2.5-x86_64.tar

    • tar -zxvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz

    • mv mysql-5.7.17-linux-glibc2.5-x86_64 mysql

     

     

    • 3.创建运行MySQL的用户和组(名字可以任意)

      • Shell> groupadd mysql

      • Shell> useradd mysql -g mysql

    • 4.切换到mysql目录

      • Shell > mkdir data

    • 5.修改解压包的权限

      • Shell> chown –R mysql .

      • Shell> chgrp –R mysql .

    • 6.安装MySQL

      • Shell> bin/mysqld --initialize --user=mysql --datadir /usr/local/mysql/data ##初始化数据目录

      • shell> cp -f support-files/my-default.cnf /etc/my.cnf ##将默认配置文件复制到指定目录

      • shell> bin/mysqld_safe --datadir=/usr/local/mysql/data --user=mysql & ##启动MySQL服务

      • shell> cp support-files/mysql.server /etc/init.d/mysql.server ##将MySQL加入到服务自启动

      • Shell> /etc/init.d/mysql.server start ##通过服务启动MySQL

     

    • 启动过程中如果碰到如下错误

    • [root@localhost mysql]# bin/mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data

      • bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

    • 则需要安装包yum install -y libaio

    • 不使用推荐安装路径的方法

    • [root@localhost mysql]# bin/mysqld --initialize --user=mysql --basedir=/data/mysql --datadir=/data/mysql/data &

    • [root@localhost mysql]# bin/mysqld_safe --basedir=/data/mysql --datadir=/data/mysql/data --user=mysql &

     

    • 初始化过程中获得root的初始密码

     

    • 启动完成后通过ps –ef查看MySQL进程

     

    • 本机登录MySQL数据库

     

    • 修改root的初始密码

    • mysql> set password=password('mysql');

    • Query OK, 0 rows affected, 1 warning (0.01 sec)


    • mysql> flush privileges;

    • Query OK, 0 rows affected (0.00 sec)

     

    MySQL常用客户端工具--Aqua


    • Aqua data studio是一款支持连接多种数据库类型的客户端工具

     

     

     

    #类似的工具还有Navicat、SQLyog等都可以实现远程工具连接数据库。


    MySQL基本文件结构

    • Data目录为初始化的数据文件存放路径

    • Data目录里为每一个数据库创建了一个文件夹

    • Ibdata1和ib_logfile0/1为三个专为innodb存放数据和日志的共享文件

     

    MySQL启动相关参数

    • basedir = /usr/local/mysql
    • 代表MySQL安装路径

    • datadir = /usr/local/mysql/data
    • 代表MySQL的数据文件路径

    • port = 3306
    • 指定MySQL的侦听端口

    • log-error=/usr/local/mysql/data/M00006.err
    • 记录MySQL启动日志和运行错误日志

    • bind-address(默认是*)
    • *代表接受所有来自IPV4、 IPV6主机网卡的TCP/IP连接

    • 0.0.0.0代表接受所有来自IPV4主机网卡的TCP/IP的连接
    • 指定的IP如127.0.0.1,代表只接受此地址请求的TCP/IP连接

    • character-set-server(默认是latin1)
    • 指定MySQL的字符集

    • collation-server(默认是latin1_swedish_ci)
    • 指定MySQL的排序规则

    • default-storage-engine(默认是InnoDB)
    • 指定MySQL的默认存储引擎

    • default-time-zone
    • 指定默认时区,如果没有指定则和系统默认时区一致

    • open-files-limit(默认5000)
    • 指定Mysqld运行过程中可以打开的文件数,避免出现” Too many open files”报错

    • pid-file=/usr/local/mysql/data/M00006.pid
    • 指定Mysqld进程对应的程序ID文件,默认是在数据文件目录里

    • Skip-grant-tables
    • 指定避开MySQL内部的权限表启动服务

    • Tmpdir
    • 指定临时表文件的存放路径

    • 修改MySQL默认端口后重启
      • 修改/etc/my.cnf中的port参数为3307
      • /etc/init.d/mysql.server restart重启服务

     

    • 修改MySQL默认字符集后重启

      • 修改/etc/my.cnf文件
        • character-set-server = utf8
        • collation-server = utf8_unicode_ci

    • /etc/init.d/mysql.server restart重启服务

    • 查看重启后的MySQL字符集

      • mysql> show variables like 'character_set_server%';

    • +----------------------+-------+
    • | Variable_name | Value |
    • +----------------------+-------+
    • | character_set_server | utf8 |
    • +----------------------+-------+

    • mysql> show variables like 'collation_server%';
    • +------------------+-----------------+
    • | Variable_name | Value |
    • +------------------+-----------------+
    • | collation_server | utf8_unicode_ci |
    • +------------------+-----------------+

     

    修改MySQL数据文件目录后重启
      • 关闭数据库

        • /etc/init.d/mysql.server stop

    数据目录data转移到/data/目录下

        • mv data /data/

    修改my.cnf中的datadir参数

        • datadir = /data/data

    /etc/init.d/mysql.server start服务

     

  • 相关阅读:
    《C++ Primer(中文版)(第5版)》斯坦利·李普曼 (Stanley B. Lippman) (作者), 约瑟·拉乔伊 (Josee Lajoie) (作者), 芭芭拉·默 (Barbara E. Moo) (作者) azw3
    《O’Reilly精品图书系列共21册》azw3
    《跟老齐学Python:从入门到精通》齐伟(编著)epub+mobi+azw3
    《C Primer Plus(第6版)(中文版)》普拉达(作者)epub+mobi+azw3
    《算法图解》[美] Aditya Bhargava(作者)epub+mobi
    《程序之美系列(套装共6册)》[美]斯宾耐立思 等 (作者) epub+mobi+azw3
    《算法技术手册》George T. Heineman(作者)epub+mobi+azw3
    收藏夹
    笔记
    Unity3D物理引擎Rigidbody,Collider,PhysicMaterial的整理 [转]
  • 原文地址:https://www.cnblogs.com/drizzle-xu/p/10270685.html
Copyright © 2020-2023  润新知