• 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  指定临时表文件存放路径

  • 相关阅读:
    BFS visit tree
    Kth Largest Element in an Array 解答
    Merge k Sorted Lists 解答
    Median of Two Sorted Arrays 解答
    Maximal Square 解答
    Best Time to Buy and Sell Stock III 解答
    Best Time to Buy and Sell Stock II 解答
    Best Time to Buy and Sell Stock 解答
    Triangle 解答
    Unique Binary Search Trees II 解答
  • 原文地址:https://www.cnblogs.com/sky00747/p/11506500.html
Copyright © 2020-2023  润新知