• MySQL8.0.19安装


    官网下载安装包:mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz

    安装环境:CentOS Linux release 7.5.1804 (Core)

    解压安装包:

    xz -d mysql-8.0.19-linux-glibc2.12-x86_64.tar.xz
    tar -xvf mysql-8.0.19-linux-glibc2.12-x86_64.tar

    环境变量:

    yum install -y gcc gcc-c++ make cmake automake ncurses-devel bison bison-devel tcp_wrappers-devel libaio libaio-devel perl-Data-Dumper net-tools

    创建相关用户和组:

    [root@localhost ~]# groupadd mysql
    [root@localhost ~]# useradd -g mysql -d /home/mysql -m -p mysql mysql

    创建相关目录:

    [root@localhost ~]# mkdir -p /data/mysql/;chown -R mysql.mysql /data/mysql/
    [root@localhost ~]# mkdir -p /data/tmp/;chown -R mysql.mysql  /data/tmp/

    编辑配置文件:

    [root@localhost tmp]# vim /etc/my.cnf
    [root@localhost mysql]# cat /etc/my.cnf
    [client]
    port= 3306
    socket  = /tmp/mysql.sock
    
    ## The MySQL server
    [mysqld]
    port = 3306
    socket  = /tmp/mysql.sock
    user = mysql
    skip-external-locking
    skip-name-resolve
    #skip-grant-tables
    #skip-networking
    ###################################### dir
    basedir=/usr/local/mysql
    datadir=/data/mysql
    tmpdir=/data/tmp
    secure_file_priv=/data/tmp
    ###################################### some app
    log-error=mysql.err
    pid-file=/data/mysql/mysql.pid
    local-infile=1
    event_scheduler=0
    federated
    default-storage-engine=InnoDB
    #default-time-zone= '+8:00'
    log_timestamps=SYSTEM
    character-set-client-handshake = FALSE
    character-set-server = utf8mb4
    collation-server = utf8mb4_unicode_ci
    init_connect='SET NAMES utf8mb4'
    
    #fulltext
    innodb_optimize_fulltext_only
    ft_min_word_len=1
    #ft_max_word_len
    innodb_ft_min_token_size=1
    
    ###################################### memory allocate and myisam configure
    max_connections=3000
    max_connect_errors=10000
    
    key_buffer_size = 16M
    max_allowed_packet = 16M
    table_open_cache = 10240
    sort_buffer_size = 2M
    read_buffer_size = 2M
    read_rnd_buffer_size = 2M
    join_buffer_size=2M
    myisam_sort_buffer_size = 4M
    #net_buffer_length = 2M
    thread_cache_size = 24
    
    
    tmp_table_size=1G
    max_heap_table_size=1G
    
    #thread_concurrency =48
    ###################################### replication
    server-id = 101096
    log-bin=mysql-bin
    binlog_format=mixed
    max_binlog_size=1G
    log_slave_updates=true
    log_bin_trust_function_creators=true
    binlog_expire_logs_seconds=259200 #binlog过期时间,单位秒
    replicate-ignore-db=mysql
    replicate-ignore-db=test
    replicate-ignore-db=information_schema
    replicate-ignore-db=performance_schema
    replicate-wild-ignore-table=mysql.%
    replicate-wild-ignore-table=test.%
    replicate-wild-ignore-table=information_schema.%
    replicate-wild-ignore-table=performance_schema.%
    
    lower_case_table_names = 1
    #read_only=1
    master_info_repository=TABLE
    relay_log_info_repository=TABLE
    
    ###################################### slow-query
    long_query_time=1
    slow_query_log=1
    slow_query_log_file=/data/mysql/slow-query.log
    interactive_timeout=600
    wait_timeout=600
    
    ###################################### innodb configure
    innodb_file_per_table
    
    innodb_data_home_dir = /data/mysql
    innodb_log_group_home_dir = /data/mysql
    innodb_buffer_pool_size =4G
    innodb_log_file_size = 1G
    innodb_log_files_in_group = 3
    innodb_log_buffer_size = 32M
    innodb_flush_log_at_trx_commit = 1
    sync_binlog=0
    sql-mode="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO"
    ##########################################
    [mysqldump]
    quick
    max_allowed_packet = 16M
    
    [mysql]
    no-auto-rehash
    default-character-set = utf8mb4
    prompt=\U \h \R:\m:\s \d>
    
    [myisamchk]
    key_buffer_size = 20M
    sort_buffer_size = 20M
    read_buffer = 2M
    write_buffer = 2M
    
    [mysqlhotcopy]
    interactive-timeout

    根目录:

    [root@localhost ~]# mv mysql-8.0.19-linux-glibc2.12-x86_64 /usr/local/mysql
    [root@localhost ~]# chown -R mysql.mysql /usr/local/mysql

    进行初始化,默认密码为空:

    [root@localhost ~]# /usr/local/mysql/bin/mysqld  --initialize-insecure --basedir=/usr/local/mysql --datadir=/data/mysql/ --user=mysql

    查看日志有没有报错:

    [root@localhost ~]# cat /data/mysql/mysql.err
    2020-01-20T15:11:46.156633+08:00 0 [System] [MY-013169] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.19) initializing of server in progress as process 14822
     100 200 300 400 500 600 700 800 900 1000
     100 200 300 400 500 600 700 800 900 1000
     100 200 300 400 500 600 700 800 900 1000
    2020-01-20T15:12:31.118120+08:00 5 [Warning] [MY-010453] [Server] root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option.

    环境变量与开机自启:

    [root@localhost mysql]# vim /etc/profile
    #在最后添加
    export MYSQL_HOME=/usr/local/mysql
    PATH=$PATH:$MYSQL_HOME/bin/
    [root@localhost mysql]# source /etc/profile

     [root@localhost mysql]# cd /usr/local/mysql
     [root@localhost mysql]# cp -f support-files/mysql.server /etc/init.d/mysqld

     [root@localhost mysql]# chmod 755 /etc/init.d/mysqld

     [root@localhost mysql]# chkconfig --add mysqld

     [root@localhost mysql]# chkconfig mysqld on

    启动数据库:

    [root@localhost mysql]# /etc/init.d/mysqld start
    修改密码与创建用户,8.0已取消grant权限自动创建用户,要用create user创建用户再用grant赋予权限:
    [root@localhost ~]# mysql -uroot -p
    Enter password:
    Welcome to the MySQL monitor.  Commands end with ; or g.
    Your MySQL connection id is 8
    Server version: 8.0.19 MySQL Community Server - GPL
    
    Copyright (c) 2000, 2020, 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.
    root@localhost localhost 15:43:29 (none)>ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';
    Query OK, 0 rows affected (0.01 sec)
    root@localhost localhost 15:49:30 (none)>CREATE USER ceshi@'localhost' IDENTIFIED BY 'password';
    Query OK, 0 rows affected (0.01 sec)
    
    root@localhost localhost 15:50:07 (none)>grant SELECT on *.* to 'ceshi'@'localhost';
    Query OK, 0 rows affected, 1 warning (0.00 sec)
    
    root@localhost localhost 15:51:10 (none)>show grants for ceshi@localhost;
    +--------------------------------------------+
    | Grants for ceshi@localhost                 |
    +--------------------------------------------+
    | GRANT SELECT ON *.* TO `ceshi`@`localhost` |
    +--------------------------------------------+
    1 row in set (0.00 sec)
     
  • 相关阅读:
    【转载】分析商品日均销量(DMS)对促销商品选择的意义
    日志备份和差异备份还原中的常见问题示例(转自&邹建)
    SQL Server 2000中的完整备份、差异备份操作
    数据库差异备份与增量备份的不同之处
    差异备份和还原操作方法(转)
    SQL备份(全)
    Microsoft SQL2000 错误代码 (@@error)
    图解SQL的inner join(join)、left join、right join、full outer join、union、union all的区别
    arm-none-linux-gnueabi-gcc command not found
    关于ST-Link的internal command error问题的解决方法
  • 原文地址:https://www.cnblogs.com/wangb2/p/12218306.html
Copyright © 2020-2023  润新知