• Linux安装MySQL标准教程


    导读:
    本文主要介绍 CentOS 系统二进制安装 MySQL 5.7.23 版本的安装步骤,其他版本安装过程相似。

    1.前置准备

    • 卸载旧版MySQL

      • 查看rpm包

        rpm -qa|grep mysql 若有可用rpm -e卸载

      • 查找mysql残留包,有则删除,没有则忽略

        find / -name mysql

    • 安装相关依赖

      yum -y install make gcc-c++ cmake bison-devel ncurses-devel numactl libaio

    • 创建用户和用户组

      groupadd mysql
      useradd -s /sbin/nologin -g mysql -M mysql

    2.下载二进制安装包并解压

    cd /usr/local/
    # wget下载或者本地下载后上传
    wget https://downloads.mysql.com/archives/get/file/mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz
    # 解压安装包
    tar -zxvf mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz
    # 解压后为了方便后面操作可把解压后文件名修改为mysql
    mv mysql-5.7.23-linux-glibc2.12-x86_64 mysql
    # 更改文件夹所属
    chown -R mysql.mysql /usr/local/mysql/
    

    3.创建mysql相关目录

    mkdir -p /data/mysql/{data,logs,tmp}
    # 更改文件夹所属
    chown -R mysql.mysql /data/mysql/
    

    4.创建mysql配置文件my.cnf

    vi /etc/my.cnf
    # 简单模板如下:
    [client]
    port            = 3306
    socket          = /data/mysql/tmp/mysql.sock
    
    [mysqld]
    user = mysql
    basedir = /usr/local/mysql        
    datadir = /data/mysql/data  
    port = 3306               
    
    socket = /data/mysql/tmp/mysql.sock
    pid-file  = /data/mysql/tmp/mysqld.pid
    tmpdir = /data/mysql/tmp    
    skip_name_resolve = 1
    symbolic-links=0
    max_connections = 2000
    group_concat_max_len = 1024000
    sql_mode = NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
    lower_case_table_names = 1
    log_timestamps=SYSTEM
    character-set-server = utf8
    interactive_timeout = 1800  
    wait_timeout = 1800
    max_allowed_packet = 32M
    binlog_cache_size = 4M
    sort_buffer_size = 2M
    read_buffer_size = 4M
    join_buffer_size = 4M
    tmp_table_size = 96M
    max_heap_table_size = 96M
    max_length_for_sort_data = 8096
    
    #logs
    server-id = 1003306
    log-error = /data/mysql/logs/error.log
    slow_query_log = 1
    slow_query_log_file = /data/mysql/logs/slow.log
    long_query_time = 3
    log-bin = /data/mysql/logs/binlog
    binlog_format = row
    expire_logs_days = 15
    log_bin_trust_function_creators = 1
    relay-log = /data/mysql/logs/relay-bin
    relay-log-recovery = 1  
    relay_log_purge = 1  
    
    #innodb  
    innodb_file_per_table = 1
    innodb_log_buffer_size = 16M
    innodb_log_file_size = 256M
    innodb_log_files_in_group = 2
    innodb_io_capacity = 2000
    innodb_io_capacity_max = 4000
    innodb_flush_neighbors = 0
    innodb_flush_method = O_DIRECT
    innodb_autoinc_lock_mode = 2
    innodb_read_io_threads = 8
    innodb_write_io_threads = 8
    innodb_buffer_pool_size = 2G
    

    5.配置mysql.server

    cd /usr/local/mysql/support-files
    cp mysql.server /etc/init.d/mysql
    vi /etc/init.d/mysql
    # 修改目录位置
    basedir=/usr/local/mysql
    datadir=/data/mysql/data
    
    # 注册开机启动服务
    chkconfig --add mysql
    chkconfig --list
    

    6.添加环境变量

    echo "PATH=$PATH:/usr/local/mysql/bin  " >> /etc/profile  
    source /etc/profile
    

    7.初始化mysql

    /usr/local/mysql/bin/mysqld  --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data
    # 临时密码保存在errlog中 
    # 获取临时密码
    more /data/mysql/logs/error.log |grep password
    

    8.启动mysql服务 并修改密码

    # 启动mysql服务
    service mysql start
    # 使用初始密码登录mysql服务 并修改密码
    mysql -uroot -p
    alter user 'root'@'localhost' identified by 'root';
    flush privileges;
    

    欢迎关注

    作者:MySQL技术
    出处:https://www.cnblogs.com/kunjian/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
    如果文中有什么错误,欢迎指出。以免更多的人被误导。有需要沟通的,可以站内私信,文章留言,或者关注『MySQL技术』公众号私信我。一定尽力回答。
  • 相关阅读:
    巧妙使用栈结构,解决面试中的算法问题
    还在为兼容性测试发愁?让我们用Python来轻松搞定吧
    天天使用Appium,但是你真的理解Appium的工作原理吗
    学会这些Jmeter插件,才能设计出复杂性能测试场景
    Dubbo接口不知道怎么测?教你三行代码实现dubbo接口测试
    Python接口自动化必知必会Requests库
    是时候升级你的Junit了,Junit5超详细实战
    486. 预测赢家
    309. 最佳买卖股票时机含冷冻期 (无限次买入+买入有1天冷冻期)
    347. 前 K 个高频元素 (优先队列 c++)
  • 原文地址:https://www.cnblogs.com/mysqljs/p/10951200.html
Copyright © 2020-2023  润新知