• MySQL8.0安装以及介绍(二进制)


    MySQL相关产品介绍:

    Oracle MySQL Cloud Service(commercial)

      商业付费软件,基于Mysql企业版和Oracle云服务提供企业级MySQL数据库服务

    MySQL Enterprise Edition(commercial)

      商业付费软件,除了提供MySQL数据库之外,还包括了程序连接接口(connector),表分区(partition),企业级监控(monitor),高可用(HA),备份(backup) 扩展(scalability)等服务

    MySQL Cluster CGE(commercial)

      商业付费软件,基于MySQL Cluster和企业版拥有的各项功能提供企业级的高并发,高吞吐的数据服务

    MySQL Community Edition

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

    MySQL Community Server

      最流行的开源数据库管理软件

    Mysql Cluster

      基于Mysql数据库而实现的集群服务,自身能提供高并发负载等特性

    Msql 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系统库存放数据库管理信息

    Mysql8.0后续会更新....

    官方网址: https://dev.mysql.com/downloads/mysql/

     直接下载地址:https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.17-linux-glibc2.12-x86_64.tar.xz

    #上传到服务器(通过xshell上传到服务器)

    yum install -y lrzsz
    rz -y #选择你下载的mysql安装包 或者 直接wget 下载URL地址 直接在服务器上下载

    #将包拷贝到/usr/local/下解压缩,并且更改名称

    mv /root/mysql-8.0.17-linux-glibc2.12-x86_64.tar.xz /usr/local/
    tar -xvf mysql-8.0.17-linux-glibc2.12-x86_64.tar.xz
    mv mysql-8.0.17-linux-glibc2.12-x86_64 mysql

     #目录详解

    cd mysql/
    ls
    drwxr-xr-x.  2 7161 31415   4096 6月  27 06:35 bin           #执行命令
    drwxr-xr-x.  2 7161 31415     86 6月  27 06:35 docs          #文档
    drwxr-xr-x.  3 7161 31415    261 6月  27 06:35 include       #头文件
    drwxr-xr-x.  6 7161 31415   4096 6月  27 06:35 lib           #lib包
    -rw-r--r--.  1 7161 31415 336955 6月  25 18:23 LICENSE      
    -rw-r--r--.  1 7161 31415 101805 6月  25 18:23 LICENSE.router
    drwxr-xr-x.  4 7161 31415     30 6月  27 06:35 man           #man的信息
    -rw-r--r--.  1 7161 31415    687 6月  25 18:23 README
    -rw-r--r--.  1 7161 31415    700 6月  25 18:23 README.router
    drwxrwxr-x.  2 7161 31415      6 6月  27 06:35 run
    drwxr-xr-x. 28 7161 31415   4096 6月  27 06:35 share         #字符信息
    drwxr-xr-x.  2 7161 31415     77 6月  27 06:35 support-files #mysql.server启动服务
    drwxr-xr-x.  3 7161 31415     17 6月  27 06:35 var

    #创建存放数据目录 data

    mkdir data

    #创建mysql用户和组,授权data目录

    groupadd mysql
    useradd mysql -g mysql
    chown mysql.mysql data

    #mysql初始化(会在data目录里生成文件)

    bin/mysqld --initialize --user=mysql --datadir /usr/local/mysql/data
    
    #A temporary password is generated for root@localhost: 8<SdQftla/qj
    #这里会在屏幕上显示临时密码

    如果没有把data目录里的文件删除,重新初始化

    #如果报错  :bin/mysqld:error while loading shared libraries:libaio.so.1.....No such file or directory

    解决办法:yum install -y libaio

    #启动mysql

    cp mysql.server /etc/init.d/
    rm -rf /etc/my.cnf   #很有可能你的服务器安装过mariadb
    
    /etc/init.d/mysql.server start
    Starting MySQL.Logging to '/usr/local/mysql/data/mysql.err'.
     SUCCESS! 

    #查看进程会有两个

    ps -ef|grep mysql
    root       8456      1  0 15:12 pts/0    00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/mysql.pid
    mysql      8541   8456  4 15:12 pts/0    00:00:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=mysql.err --pid-file=/usr/local/mysql/data/mysql.pid
    root       8586   8220  0 15:12 pts/0    00:00:00 grep --color=auto mysql

    #连接mysql

    mysql -uroot -p
    -bash: mysql: 未找到命令

    #配置环境变量

    vi /root/.bash_profile
    PATH=$PATH:$HOME/bin:/usr/local/mysql/bin
    source /root/.bash_profile 

    mysql -uroot -p
    输入刚才的密码:

    #现在还不能输入命令会报错

    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 'mysql';

    #退出重新登录

    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | performance_schema |
    | sys                |
    +--------------------+
    4 rows in set (0.00 sec)

    下面每一个都是单独的!!!!!!

    ==============只移动data目录===================

    #创建存储数据目录,将mysql的数据目录data拷贝至此

    mkdir /data/mysql -p
    cd /data/mysql
    /etc/init.d/mysql.server stop
    mv /usr/local/mysql/data .

    #修改配置文件并重启

    vi /etc/my.cnf

    [mysqld]
    datadir=/data/mysql/data

    /etc/init.d/mysql.server start

    ================移动mysql整个目录===================

    #将整mysql目录移动到/data/mysql/下面

    /etc/init.d/mysql.server stop
    mv
    /usr/local/mysql /data/mysql/ vim /etc/my.cnf [mysqld] basedir=/data/mysql/mysql datadir=/data/mysql/mysql/data /etc/init.d/mysql.server start

    ==============初始化到指定目录===================

    bin/mysqld --initialize --user=mysql --basedir=/data/mysql --datadir=/data/mysql/data &
    
    #指定配置文件
    vim /etc/my.cnf
    [mysqld]
    basedir=/data/mysql
    datadir=/data/mysql/data
    
    #修改环境变量
    vim /root/.base_profile
    PATH=$PATH:$HOME/bin:/data/mysql/bin
    
    source .base_profile
    
    #启动
    /etc/init.d/mysql.server start
    
    mysql -uroot -p
    输入密码
    
    alter user user() identified by 'mysql';
    exit

    =================一台机器跑多个mysql=============

    cd /data
    cp mysql mysql2 -R
    
    #修改配置文件
    vim /etc/my3307.cnf
    [mysqld]
    basedir=/data/mysql2
    datadir=/data/mysql2/data
    port=3307
    socket=/tmp/mysql3307.sock       
    mysqlx_port=33070                 #8.0开始会启动两个端口3306 33060
    mysqlx_socket=/tmp/mysqlx33070.sock  #同理
    chown mysql.mysql /data/mysql2/data -R
    
    #启动
    /data/mysql2/bin/mysqld --defaults-file=/etc/my3307.cnf --user=mysql &
    
    
    #检查
    ps -ef|grep mysql
    
    netstat -lntup|grep 3307
    netstat -lntup|grep 33070
    
    #登陆
    mysql -uroot -p -S /tmp/mysql3307.sock

    ======================MySQL启动相关参数=====================

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

    datadir=/usr/local/mysql/data   mysql的数据文件路径

    port=3306     mysql的监听端口

    log-error=/usr/local/mysql/data/主机名.error  记录mysql启动日志和运行错误日志

    bind-address(默认是*)        接收所有来自IPV4,ipv6主机网卡tcp/ip连接    0.0.0.0 表示接收IPV4

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

    collation-server(默认是latin1)     指定mysql的排序规则

    default-storage-engine(默认是innodb)   指定mysql默认存储引擎

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

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

    pid-file=/usr/local/mysql/data/xxx.pid   指定mysqld进程对应的程序ID文件,默认在数据文件目录中

    Skip-grant-tables  指定避开mysql内部权限表启动服务(一般用来忘记密码使用)

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

  • 相关阅读:
    java 面向对象(六):类结构 方法(三) java的值传递机制
    java 面向对象(五):类结构 方法(二) 关键字:return;方法的重载;可变个数形参的方法
    java 面向对象(四):类结构 方法(一)
    java 面向对象(三):类结构 属性
    java 面向对象(二):JVM内存结构
    java 面向对象(一):类与对象
    java 基本语法(十三) 数组(六)数组的常见异常
    java 基本语法(十二) 数组(五)Arrays工具类的使用
    java 基本语法(十一) 数组(四)数组的常见算法
    java 基本语法(十) 数组(三) 二维数组
  • 原文地址:https://www.cnblogs.com/sky00747/p/11506500.html
Copyright © 2020-2023  润新知