• 使用二进制部署MySQL8.0.12


    运行环境:centos+mysql8.0.12
    1.下载官方打包好的二进制安装包:

    https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.30-el7-x86_64.tar.gz

    1.mysql下载地址:
    https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.14-el7-x86_64.tar.gz
    https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.16-el7-x86_64.tar.gz
    https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.17-el7-x86_64.tar.gz


    #wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.12-linux-glibc2.12-x86_64.tar.xz
    可以看到这个版本采用了tar.xz的打包压缩方式,文件只有350M左右,下载还是满方便的。
    # du -sh mysql-8.0.12-linux-glibc2.12-x86_64.tar.xz
    339M mysql-8.0.12-linux-glibc2.12-x86_64.tar.xz

    2.解压文件:
    #tar -xJvf mysql-8.0.12-linux-glibc2.12-x86_64.tar.xz -C /usr/local/
    # mv /usr/local/mysql-8.0.12-linux-glibc2.12-x86_64/ /usr/local/mysql

    3.配置参数文件:
    # cat > /etc/my.cnf << EOF
    [mysqld]
    server-id = 1
    port = 3306
    mysqlx_port = 33060
    mysqlx_socket = /tmp/mysqlx.sock
    datadir = /data/mysql
    basedir = /usr/local/mysql
    socket = /tmp/mysql.sock
    pid-file = /tmp/mysqld.pid
    log-error = error.log
    slow-query-log = 1
    slow-query-log-file = slow.log
    long_query_time = 0.2
    log-bin = bin.log
    relay-log = relay.log
    binlog_format =ROW
    relay_log_recovery = 1
    character-set-client-handshake = FALSE
    character-set-server = utf8mb4
    collation-server = utf8mb4_unicode_ci
    init_connect ='SET NAMES utf8mb4'
    innodb_buffer_pool_size = 1G
    join_buffer_size = 128M
    sort_buffer_size = 2M
    read_rnd_buffer_size = 2M
    log_timestamps = SYSTEM
    lower_case_table_names = 1
    default-authentication-plugin =mysql_native_password
    EOF

    4.创建目录授权等:
    # useradd mysql
    # mkdir -p /data/mysql
    # chown -R mysql:mysql /data/mysql/
    # chmod -R 775 /data/mysql/


    5.初始化数据库:
    #/usr/local/mysql/bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql --initialize-insecure
    官方推荐使用--initialize,会在错误日志中生成难以输入的临时密码,我这里使用的免密码的方式。

    # cat /data/mysql/error.log | grep -i password
    2018-07-29T02:06:41.253856+08:00 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: wquR3-Kxlg1d


    6.设置启动文件和环境变量:
    #cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
    --启动数据库:
    # /etc/init.d/mysql start
    Starting MySQL.Logging to '/data/mysql/error.log'.
    SUCCESS!

    # vim /etc/profile.d/mysql.sh
    # cat /etc/profile.d/mysql.sh
    export PATH=$PATH:/usr/local/mysql/bin
    # source /etc/profile.d/mysql.sh
    # mysqld --version
    mysqld Ver 8.0.12 for linux-glibc2.12 on x86_64 (MySQL Community Server - GPL)
    [root@node4 mysql]# /usr/local/mysql/bin/mysql -p -S /tmp/mysql.sock
    Enter password:
    Welcome to the MySQL monitor. Commands end with ; or g.
    Your MySQL connection id is 7
    Server version: 8.0.12 MySQL Community Server - GPL
    Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
    mysql> select version();
    +-----------+
    | version() |
    +-----------+
    | 8.0.12 |
    +-----------+
    1 row in set (0.00 sec)

    使用前先修改root密码
    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '1';

    7.设置可以远程登录的账号:
    mysql> show variables like '%valid%pass%';
    Empty set (0.00 sec)
    mysql> create user root@'%' identified by 'oracle';
    ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
    mysql> show variables like '%valid%pass%';
    ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
    mysql> alter user root@'localhost' identified by 'oracle';
    Query OK, 0 rows affected (0.07 sec)
    mysql> show variables like '%valid%pass%';
    Empty set (0.01 sec)
    --创建可以远程登录的用户:
    mysql> create user root@'%' identified by 'oracle';
    Query OK, 0 rows affected (0.06 sec)
    mysql> grant all privileges on *.* to root@'%' with grant option;
    Query OK, 0 rows affected (0.07 sec)
    mysql> flush privileges;
    Query OK, 0 rows affected (0.00 sec)

  • 相关阅读:
    程序员开发过程常见问题的解决方法(持续更新中....)
    android 单元测试
    浅谈android binder机制
    Android 写模块化代码注意事项
    Android View 简析
    PackageManager源码分析
    Android N做了啥
    JAVA HTTP POST参数为一个对象或数组
    Spring+Jetty+Jersey+Mybatis整合教程 无web.xml 、webapp版
    IKAnalyzer 添加扩展词库和自定义词
  • 原文地址:https://www.cnblogs.com/abner123/p/13150110.html
Copyright © 2020-2023  润新知