zoukankan      html  css  js  c++  java
  • centos7傻瓜式安装mysql5.7

    环境说明

    特别注意: 文档中涉及到密码的都是用的是弱密码,是存在安全风险的,一定要根据自己的情况修改为复杂度更高的密码!

    • centos 7.6
    • mysql 5.7.31
    • 基础目录: /srv/{app,data,logs}/mysql

    准备安装

    下载并解压

    yum install libaio -y
    useradd -c 'MySQL Server' -d /srv/app/mysql -s /bin/false -r -M mysql 
    cd /srv/app
    wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz
    tar mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz
    mv mysql-5.7.31-linux-glibc2.12-x86_64 mysql
    mkdir -p /srv/{data,logs}/mysql /var/run/mysqld
    chown -Rf mysql:mysql /srv/{app,data,logs}/mysql /var/run/mysqld
    

    进行安装

    配置my.conf

    [mysqld]
    basedir=/srv/app/mysql
    datadir=/srv/data/mysql
    socket=/srv/data/mysql/mysql.sock
    default_password_lifetime = 0
    max_allowed_packet = 128M
    max_connections = 5000
    default-storage-engine=INNODB
    character-set-server=utf8
    collation-server=utf8_general_ci
    federated
    skip-name-resolve 
    sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
    innodb_buffer_pool_size = 2G
    innodb_log_buffer_size=16M
    innodb_log_file_size = 256M
    innodb_log_files_in_group=2
    innodb_max_dirty_pages_pct=75
    innodb_flush_method=O_DIRECT
    innodb_read_io_threads=8
    innodb_write_io_threads=10
    innodb_thread_concurrency=32
    innodb_io_capacity=5000
    read_buffer_size=8M
    read_rnd_buffer_size=8M
    sort_buffer_size=8M
    join_buffer_size=4M
    tmp_table_size=16M
    query_cache_type=0
    query_cache_size=0
    thread_cache_size = 16
    open_files_limit = 65535
    
    
    innodb_flush_log_at_trx_commit = 2
    skip-external-locking
    key_buffer_size = 16M
    table_open_cache = 64
    net_buffer_length = 8K
    myisam_sort_buffer_size = 8M
    lower_case_table_names=1
    bulk_insert_buffer_size = 1M
    group_concat_max_len = 204800
    
    symbolic-links=0
    log_timestamps=SYSTEM
    log-error=/srv/logs/mysql/mysqld.log
    pid-file=/srv/app/mysql/mysqld.pid
    slow-query-log=On
    slow_query_log_file=/srv/logs/mysql/slow-query.log
    
    [mysql]
    auto-rehash
    socket=/srv/data/mysql/mysql.sock
    
    [client]
    default-character-set=utf8
    socket=/srv/data/mysql/mysql.sock
    
    [myisamchk]
    key_buffer_size = 20M
    sort_buffer_size = 20M
    read_buffer = 2M
    write_buffer = 2M
    
    [mysqlhotcopy]
    interactive-timeout
    

    初始化MySQL

    cd /srv/app/mysql
    ./bin/mysqld --user=mysql --basedir=/srv/app/mysql --datadir=/srv/data/mysql --pid-file=/srv/data/mysql/mysqld.pid --initialize
    

    查看默认root用户的密码

    grep 'temporary password' /srv/logs/mysql/mysqld.log
    

    配置开机启动项

    • 办法1(推荐使用)
    [root@localhost ~]# vim /usr/lib/systemd/system/mysqld.service 
    [Unit]
    Description=MySQL Server
    After=network.target
    After=syslog.target
    
    [Service]
    User=mysql
    Group=mysql
    Type=forking
    PIDFile=/srv/data/mysql/mysqld.pid
    TimeoutSec=0
    PermissionsStartOnly=true
    ExecStart=/srv/app/mysql/bin/mysqld --daemonize --pid-file=/srv/data/mysql/mysqld.pid
    LimitNOFILE = 5000
    Restart=on-failure
    RestartPreventExitStatus=1
    PrivateTmp=false
    
    [Install]
    WantedBy=multi-user.target
    
    • 办法2:
    cp -r /srv/app/mysql/support-files/mysql.server /etc/init.d/mysqld
    chmod +x /etc/init.d/mysqld
    

    以上两种办法任选一种就可以啦, 要想将mysql加入到开机启动可以执行 systemctl enable mysqld

    修改root用户的密码

    可以使用上面初始化后的密码进行登录

    shell>mysql -u root -p
    mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
    

    创建可以远程的用户

    因为不建议直接用root用户进行远程

    GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
    
  • 相关阅读:
    Spring JDBC
    获取JNDI数据源
    subset II
    hadoop-0.20.2安装配置
    leetcode5:subsets问题
    leetcode4:Permutation
    leetCode3
    leetcode2:线性表
    leetcode1:线性表
    使用C++11 开发一个半同步半异步线程池
  • 原文地址:https://www.cnblogs.com/DevOpsTechLab/p/13581691.html
Copyright © 2011-2022 走看看