• 二进制安装mysql8.0


    安装依赖包 
    yum install -y libaio
    yum install -y perl perl-devel
     
     
     
    解压
     
    mkdir /opt/mysql
    mv mysql-8.0.16-linux-glibc2.12-x86_64.tar.xz /opt/mysql/
     
    cd /opt/mysql
    tar xvJf mysql-8.0.16-linux-glibc2.12-x86_64.tar.xz
     
     
     
    创建一个链接
    cd /usr/local
    ln -s /opt/mysql/mysql-8.0.16-linux-glibc2.12-x86_64 mysql
     
     
     
    创建运行的用户
    groupadd mysql
    useradd -g mysql -d /usr/local/mysql -s /sbin/nologin -M -n mysql
     
     
     
    创建所需要的目录
    mkdir -p /data/{mysql,tmp}/
    mkdir /var/lib/mysql
     
     
    修改权限
    chown -R mysql:mysql /usr/local/mysql/
    chown -R mysql:mysql /data/{mysql,tmp}/
    chown mysql:mysql /var/lib/mysql
     
     
     
     
    配置文件内容
    #my.cnf
    [client]
    port = 3306
    socket = /var/lib/mysql/mysql.sock
     
    [mysqld]
    datadir=/data/mysql
    socket=/var/lib/mysql/mysql.sock
    tmpdir=/data/tmp
    user=mysql
    port=3306
    server-id=62
    character-set-server=utf8
    binlog_format = ROW
    transaction_isolation = READ-COMMITTED #事务提交等级
    old_passwords=0 #关闭旧密码选项
    secure-auth=1 #防止低版本客户端访问
    sql-mode="NO_AUTO_CREATE_USER" #禁止创建用户不添加密码
    safe-user-create=1 #只有在mysql.user数据库表上拥有INSERT权限的用户才能使用GRANT命令
    symbolic-links=0 #是否支持超链接文件
    skip_name_resolve=1 #禁用DNS主机名查找
    lower_case_table_names=1 #大小写不敏感
    local_infile=0 #禁止使用load data
    log_bin
    log_slave_updates
    innodb_open_files = 1000
     
    innodb_adaptive_hash_index = ON #自适应辅助hash索引开启
    innodb_file_per_table #innodb单独表文件
    innodb_file_format=Barracuda #启用压缩
    innodb_buffer_pool_size= 300MB #innodb的buff pool大小
    innodb_flush_method=O_DIRECT #避免双缓冲(double buffering)和降低swap的压力
    innodb_buffer_pool_dump_at_shutdown=1 #shutdown时dump出buff pool内容
    innodb_buffer_pool_load_at_startup=1 #shutdown时load入buff pool内容
    sync_binlog = 1
    innodb_flush_log_at_trx_commit = 1
    delayed_insert_limit = 100 #插入100行后允许select运行
    delayed_insert_timeout = 300 #INSERT语句的执行超时时间
    delayed_queue_size = 1000 #延迟队列长度
    sort_buffer_size=2M #每个线程的sort的内存
    join_buffer_size=4M #每个线程的join的内存
    slow_query_log = 1
    long_query_time = 1
    slow_query_log_file = /data/mysql/slow.log
    max_connections=1000 #最大连接数
    max_connect_errors=1000 #最大连接错误数
    max_allowed_packet=1G #数据包大小
    max_connections = 1000
    lock_wait_timeout = 3600
    table_definition_cache = 512 #存放表的定义信息
    table_open_cache = 200 #存放当前已经打开的表句柄
    tmp_table_size = 16777216 #临时表大小
    wait_timeout = 2880000 #等待超时
    interactive_timeout = 2880000
     
    [mysql]
    default-character-set=utf8
     
     
     
    修改my.cnf权限
    chown mysql:mysql /etc/my.cnf 
     
     
     
    添加到环境变量
    echo "export PATH=$PATH:/usr/local/mysql/bin">>/etc/profile 
    source /etc/profile
     
     
    初始化MySQL
    /usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/data/mysql --user=mysql --initialize-insecure
     
     
    创建error.log(8.0版本在无error.log的情况下不会自动创建,会报错)
     
    HOST_NAME=`hostname`
    touch /data/mysql/$HOST_NAME.err
    chown mysql.mysql /data/mysql/$HOST_NAME.err
     
     
    启动MySQL
    cp /opt/mysql/mysql-8.0.16-linux-glibc2.12-x86_64/support-files/mysql.server /etc/init.d/mysqld
     
    /etc/init.d/mysqld start 
     
     
     
    修改密码
     
    mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY "chengce243";(默认采用新加密方式)
     
    注意8.0 默认采用新的加密方式:caching_sha2_password,会导致8.0以下版本的客户端连接不上:
     
    ERROR 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be loaded: /data/mysql/lib/plugin/caching_sha2_password.so: cannot open shared object file: No such file or directory
     
    解决:修改为老的加密方式:mysql_native_password
     
    mysql> ALTER USER `root`@`%` IDENTIFIED WITH mysql_native_password BY "chengce243"; #修改加密规则 
     
    mysql> ALTER USER `root`@`%` IDENTIFIED BY "chengce243" PASSWORD EXPIRE NEVER; #永不过期
     
    mysql> FLUSH PRIVILEGES; #刷新权限 
     
    或者在配置文件my.cnf修改参数采用老的加密方式
     
    default_authentication_plugin = mysql_native_password
     
  • 相关阅读:
    大数据之路Week08_day02 (Flume架构介绍和安装)
    Hive调优
    hive的shell用法(脑子糊涂了,对着脚本第一行是 #!/bin/sh 疯狂执行hive -f 结果报错)
    Week08_day01 (Hive 自定义函数 UDF 一个输入,一个输出(最常用))
    Week08_day01 (Hive开窗函数 row_number()的使用 (求出所有薪水前两名的部门))
    Week08_day01 (Hive实现按照指定格式输出每七天的消费平均数)
    Week08_day01 (Hive实现WordCount计数)
    SQL中 count(*)和count(1)的对比,区别
    大数据之路week07--day07 (修改mysql默认编码)
    10进制转换成16进制的函数(自写函数模板)
  • 原文地址:https://www.cnblogs.com/liang545621/p/12606263.html
Copyright © 2020-2023  润新知