zoukankan      html  css  js  c++  java
  • MySQL5.7 初使用

        MySQL 5.7.6 发布了快一年了, 官方的说法是比起前几代有很大的安全性提升,性能报告也是比之前版本提升了 2、3倍。

        性能上这么大的提升,安全上也这么大的改进,怎么能不心动呢,这几天出于好奇,准备对 5.7.6 版本一探究竟。

        我到官网下载了个 5.7.6 GPL 版本到本地,准备跑起来试试看,想说的是 现在的部署方式和一前的部署方式有一定的差别。

       -----------------------下面直接来安装吧---------------------------

    首先来回顾一下以前我们是个怎样的步骤自定义部署MySQL:

    1.创建 Data 目录

    2.编辑配置文件

    3.mysql_install_db 初始化系统库

    4.mysqld_safe 以 watch 方式启动Mysql服务

    5.mysqladmin password   设置root密码

    6.mysql 连接进去,就可以使用了。

    新版本的部署稍微有一点不同的地方:

    1.在初始化系统库的时候 不再使用 mysql_instatll_db 完成,改由 mysqld  --initialize 来完成。
    2.系统库初始化完成后 库里不再有 test 库 ,root 密码已经随机的给我们生成好了
    3.当然,系统给我们随机分配的 密码是不能长久使用的, 我们需要在第一次进入系统后进行修改密码,才能继续后续的操作。
     
     
    --------OK 切入正题吧-----------
    1.初始化系统库
      svan-mac:mysql-5.7.9-osx10.10-x86_64 xiean$ ./bin/mysqld  --initialize  --datadir=/Users/xiean/workdir/mysql/mydata --basedir=/Users/xiean//tools/protect/mysql-5.7.9-osx10.10-x86_64
     
    2.配置SSL (可选)
     初始化完成后我我们可以配置SSL,当然也可以不用配置
    svan-mac:~ xiean$ mysql_ssl_rsa_setup --datadir=/Users/xiean/workdir/mysql/mydata/
    这一步配置使得我们可以方便的使用SSL方式来链接我们的数据库,当然性能上边也有一定的损失,据 innside 君测试,性能损失约为25%。
     
    初始化完成后 值得注意后边 会有个默认的 root 密码:
    2015-12-04T06:51:25.434592Z 1 [Note] A temporary password is generated for root@localhost: si4J#m<an#U%
     
    3.启动MySQL服务
    svan-mac:~ xiean$ mysqld_safe --defaults-file=/Users/xiean/workdir/mysql/my.cnf &
    当系统库初始化完成后我们就可以启动mysql,开始使用了;
     
    在start mysql 的时候会遇到一些其它的问题:
    最常见的问题:
    2015-12-04T06:55:47.618298Z 0 [ERROR] InnoDB: The Auto-extending innodb_system data file '/Users/xiean/workdir/mysql/mydata/ibdata1' is of a different size 768 pages (rounded down to MB) than specified in  the .cnf file: initial 3072 pages, max 0 (relevant if non-zero) pages!
     
    这句话大概的意思就是:
     
    我们配置文件配置的  ibdata文件大小和 当前的ibdata 文件大小不匹配,要怎么改呢?
     
    注意两个数字: 768 ,3072
     
    768     是指刚才 初始化完成后, mysql 帮我们生成的 ibdata 文件 的 page 数
    3072   是指我们配置文件的 ibdata 文件的 pages 数
     
    如果你不清楚 每个page 的大小,可以这样子计算:${配置文件.ibdataSize}/3072 
    默认情况 page_size = 16KB
     
    那么根据系统给我们初始化完成的ibdata文件大小, 我们需要修改 配置文件ibdata size : 768*16/1024MB 
     
    好了,调整了以上值之后我们就可以把mysql拉起来了。
     
    4.开始使用MySQL
     
    我习惯性的,先看一下当前存在的DB ;结果是 mysql 不让我看,说是先让重置密码,OK,那就重置密码吧,到官网doc上找了一下语法:
    mysql> show databases;
    ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
     
    mysql> alter user user() identified by 'abc123';
    Query OK, 0 rows affected (0.02 sec)
    下面我们可以随心所欲的干我们想干的事了。
     
    5.7都说安全上边是个提升,我们打开 binlog 文件查看,可以发现刚才我们执行的命令,这里的密码已经不再是 明文了:
    ALTER USER 'root'@'localhost' IDENTIFIED WITH 'mysql_native_password' AS '*6691484EA6B50DDDE1926A220DA01FA9E575C18A' 
     
    -------------------------------------- | 不忘初心,方得始终,为前行的路加油!| --------------------------------------
  • 相关阅读:
    Spring3:AOP
    Spring2:bean的使用
    Spring1:Spring简介、环境搭建、源码下载及导入MyEclipse
    Vue.js——60分钟组件快速入门(上篇)
    vue父子组件嵌套的时候遇到
    Vue.js——60分钟快速入门
    [Vue warn]: Cannot find element: #app
    关于RabbitMQ以及RabbitMQ和Spring的整合
    spring集成多个rabbitMQ
    RabbitMQ-从基础到实战(5)— 消息的交换(下)
  • 原文地址:https://www.cnblogs.com/svan/p/5035196.html
Copyright © 2011-2022 走看看