CentOS 7.7 离线安装 MySQL 5.7.25

操作系统:CentOs 7.7

MySQL版本:MySQL-5.7.25-x86_64

安装步骤:

  1. 查找并卸载mariadb

    # 查找当前系统下是否有mariadb
    [root@kiwi4814 ~]$ rpm -qa | grep mariadb
    # 卸载
    mariadb-libs-5.5.64-1.el7.x86_64
    [root@kiwi4814 ~]$ rpm -e --nodeps mariadb-libs-5.5.64-1.el7.x86_64
    
  2. 卸载原有的mysql相关

    # 查找当前系统是否有mysql
    [root@kiwi4814 ~]$ rpm -qa | grep mysql
    # 删除配置文件
    [root@kiwi4814 ~]$ rm /etc/my.cnf
    # 查找是否存在mysql用户组和用户
    [root@kiwi4814 ~]$ cat /etc/group | grep mysql
    [root@kiwi4814 ~]$ cat /etc/passwd | grep mysql
    
  3. 创建mysql用户和组

    # 创建用户组
    [root@kiwi4814 ~]$ groupadd mysql
    # 创建用户
    [root@kiwi4814 ~]$ useradd -g mysql mysql
    # 修改用户密码
    [root@kiwi4814 ~]$ passwd mysql
    Changing password for user mysql.
    New password: 
    Retype new password: 
    passwd: all authentication tokens updated successfully.
    
  4. mysql离线安装文件上传到服务器上

    (1)下载地址及文件位置

(2)上传到服务器的/usr/local/目录下

scp /localurl/mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz root@host:/usr/local/
  1. 解压并建立软链接

    # 注意:5的操作均在此目录下进行
    [root@kiwi4814 ~]$ cd /usr/local/
    # 解压
    [root@kiwi4814 local]$ tar -zxvf mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz
    # 创建软链接
    [root@kiwi4814 local]$ ln -s mysql-5.7.25-linux-glibc2.12-x86_64 mysql
    # 赋予mysql用户权限
    [root@kiwi4814 local]$ chown -R mysql:mysql mysql/
    
  2. 创建相关文件,赋予mysql用户权限

    # 分别创建data tmp log文件夹
    # 此目录可自行指定,不过要和mysql配置文件中相一致
    [root@kiwi4814 ~]$ mkdir -p /home/kiwi4814/mysql/{data,tmp,log}
    # 赋权
    [root@kiwi4814 ~]$ cd /home/kiwi4814/
    [root@kiwi4814 kiwi4814]$ chown -R mysql:mysql mysql/
    
  3. 创建并修改配置文件

    # 这里选择将配置文件放在/etc下面,也可以放在mysql根目录下
    [root@kiwi4814 ~]$ cd /etc
    # 创建并编辑my.cnf
    [root@kiwi4814 etc]$ vi my.cnf
    

    这里给出一份配置文件作为参考:

    [mysql]
    default-character-set = utf8mb4
    
    [mysqld]
    #  ---------------- Basic ----------------
    server_id = 100
    port = 3306
    basedir = /usr/local/mysql
    datadir = /home/kiwi4814/mysql/data
    socket = /tmp/mysql.sock
    skip-host-cache
    skip_name_resolve
    lower_case_table_names = 1
    character-set-server = utf8mb4
    collation-server = utf8mb4_general_ci
    init_connect = 'SET NAMES utf8mb4'
    query_cache_size = 0
    query_cache_type = 0
    sql_mode = NO_ENGINE_SUBSTITUTION,NO_AUTO_CREATE_USER
    
    #  ---------------- Connection/File/Table ----------------
    max_connections = 10000
    max_connect_errors = 20000
    interactive_timeout = 1800
    wait_timeout = 1800
    lock_wait_timeout = 1800
    max_allowed_packet = 1024M
    
    #  ---------------- log ----------------
    log-bin=/home/kiwi4814/mysql/log/mysql-bin
    log_error = /home/kiwi4814/mysql/log/error.log
    binlog_format = ROW
    expire_logs_days = 8
    
  4. 安装mysql(要先安装依赖)

    # 安装相关依赖,否则会报错,此处不再演示离线安装方式,需要的自行查阅
    [root@kiwi4814 ~]$ yum install libaio*
    # 进入到mysql /bin 目录
    [root@kiwi4814 ~]$ cd /usr/local/mysql/bin/
    # 初始化mysql,指定用户为mysql
    # 此处如果日志中配置了log_error,则控制台不会打印数据
    [root@kiwi4814 bin]$ ./mysqld --initialize --user=mysql
    
  5. 设置开机启动

    # 进入应用根目录
    [root@kiwi4814 ~]$ cd /usr/local/mysql/
    # 复制启动脚本到资源目录
    [root@kiwi4814 mysql]$ cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
    # 增加mysqld服务控制脚本执行权限
    [root@kiwi4814 mysql]$ chmod +x /etc/rc.d/init.d/mysqld
    # 将mysqld服务加入到系统服务
    [root@kiwi4814 mysql]$ chkconfig --add mysqld
    # 检查mysqld服务是否已经生效
    [root@kiwi4814 mysql]$ chkconfig --list mysqld
    
  6. 切换至mysql用户,设置环境变量

    # 切换至mysql用户
    [root@kiwi4814 ~]$ su - mysql
    # 修改配置文件,增加export PATH=$PATH:/usr/local/mysql/bin
    [mysql@kiwi4814 ~]$ vi .bash_profile 
    # 刷新配置文件使其立即生效
    [mysql@kiwi4814 ~]$ source .bash_profile
    
  7. 启动服务

    # 仍然在mysql用户下,启动mysql(启动用start)
    [mysql@kiwi4814 ~]$ service mysqld restart
    # 重启的时候报警告
    Shutting down MySQL..[  OK  ]
    rm: cannot remove '/var/lock/subsys/mysql': Permission denied
    Starting MySQL.[  OK  ]
    # 切回root用户,赋权即即可
    [mysql@kiwi4814 ~]$ su - root 
    [root@kiwi4814 ~]$ cd /var/lock/
    [root@kiwi4814 lock]$ chown -R mysql:mysql subsys/
    # 切回mysql重启,成功。
    [mysql@kiwi4814 ~]$ service mysqld restart
    Shutting down MySQL..[  OK  ]
    Starting MySQL.[  OK  ]
    
  8. 修改mysql默认密码并设置远程连接

    -- 修改密码
    set password for root@localhost=password("root");
    flush privileges;
    -- 远程连接
    use mysql;
    update user set host='%' where user='root';
    flush privileges;
    

你可能感兴趣的:(数据库,linux,mysql)