• linux centos7虚拟机安装mysql5.7详细教程(tar包安装)


     目前网络上大多数的安装教程采用的是rpm的方式,此种方式是需要虚拟机联网完成的,我介绍的是使用tar包的方式安装mysql5.7的方法。

      

    1. 官网下载压缩包

    链接: https://dev.mysql.com/downloads/mysql/
    选择linux通用64位,5.7.X

    开始安装
    1. 卸载系统自带的Mariadb
    [root@ ~]# rpm -qa|grep mariadb
    mariadb-libs-5.5.44-2.el7.centos.x86_64  #显示这个就意味着有mariadb你是需要卸载的。
    [root@ ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64

     
    2.卸载etc目录下的my.cnf文件
    这个文件就是mysql的配置文件,就好比Windows下的my.ini文件。

    [root@ ~]# rm /etc/my.cnf   
    rm: cannot remove ?etc/my.cnf? No such file or directory  #这个提示就是没有此文件,我们就可以进行接下来的操作了

     
    3.检查mysql是否存在
    [root@ ~]# rpm -qa | grep mysql   #没有内容就代表着没有安装
    1
    如果你已经安装了mysql,那就需要卸载后再考虑安装。

    4. 检查mysql组和用户是否存在,如无创建
    [root@ ~]# cat /etc/group | grep mysql
    [root@ ~]# cat /etc/passwd | grep mysql
    1
    2
    如果两条命令输入后没有反馈就代表不存在,就需要新建

    5.创建mysql用户组
    [root@ ~]# groupadd mysql
    1
    6.创建mysql用户,并加入mysql用户组
    [root@ ~]# useradd -g mysql mysql
    1
    7.设置mysql用户的密码
    要注意这里设置的是mysql这个用户的密码,和一会数据库的密码不是一回事。

    [root@ ~]# passwd mysql
    1
    8.解压安装
    ⚠️这里开始就算比较重要且容易出错误的地方了。

    上面不是把 mysql-5.7.46-2.7-x86_64.tar.gz 这个压缩包放到 了/usr/local/的里面了,(注意是在local里面,不是local同一级)

    我们就在local文件夹下这里进行解压安装。

    root@ local]# tar -zxvf mysql-5.7.46-2.7-x86_64.tar.gz   #这一步就是解压安装文件
    [root@ local]# mv mysql-install/ mysql57  # 这步是把解压后的文件进行一个改名的操作

    #更改所属的组和用户
    [root@ local]# chown -R mysql mysql57/
    [root@ local]# chgrp -R mysql mysql57/
    [root@ local]# cd mysql57/

    [root@ mysql57]# mkdir data  #创建一个data文件夹存放数据

    [root@ mysql57]# chown -R mysql:mysql data

     
    9.在etc下新建配置文件my.cnf
    我们在第二步的时候不是删除了配置文件,此时这里我们需要重新配置一个。

    touch my.cnf
    1
    先新建my.cnf这个文件,然后vi进去修改内容,具体内容如下:

    [mysql]
    # 设置mysql客户端默认字符集
    default-character-set=utf8
    [mysqld]
    skip-name-resolve
    #设置3306端口
    port = 3306
    # 设置mysql的安装目录
    basedir=/usr/local/mysql57
    # 设置mysql数据库的数据的存放目录
    datadir=/usr/local/mysql57/data
    # 允许最大连接数
    max_connections=200
    # 服务端使用的字符集默认为8比特编码的latin1字符集
    character-set-server=utf8
    # 创建新表时将使用的默认存储引擎
    default-storage-engine=INNODB
    lower_case_table_names=1
    max_allowed_packet=16M
    #配置免密登录------------------------------
    skip-grant-tables

    [mysqld_safe]
    # 配置日志文件和进程文件
    error-log=/usr/local/error.log
    pid-file=/usr/local/mysql.pid

     
    这个配置文件,很多都是与mysql的安装路径有关的,所以你如果和我的不统一,就需要做相应的修改。

    10.安装与初始化
    ❗️要注意这些命令是在mysql57这个目录下执行的,这点尤为重要

    [root@ mysql57]# bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql57/ --datadir=/usr/local/mysql57/data/
    [root@ mysql57]# cp ./support-files/mysql.server /etc/init.d/mysqld
    [root@ mysql57]# chown 777 /etc/my.cnf 
    [root@ mysql57]# chmod +x /etc/init.d/mysqld

    1
    2
    3
    4
    5
    11.重启
    [root@ mysql57]# /etc/init.d/mysqld restart
    Shutting down MySQL.. SUCCESS! 
    Starting MySQL. SUCCESS! 

    1
    2
    3
    4
    12.设置开机启动
    [root@ mysql57]# chkconfig --level 35 mysqld on
    [root@ mysql57]# chkconfig --list mysqld
    [root@ mysql57]# chmod +x /etc/rc.d/init.d/mysqld
    [root@ mysql57]# chkconfig --add mysqld
    [root@ mysql57]# chkconfig --list mysqld
    [root@ mysql57]# service mysqld status
    SUCCESS! MySQL running (4475)

    1
     
    13.设置环境变量
    在/etc/profile这个文件中,要加一句话

    export PATH=$PATH:/var/mysql57/bin
    1
    [root@ mysql57]# source /etc/profile   #重启
    1
    14.获得初始密码
    这个密码就是数据库的密码,其实我们在my.cnf里是设置了一个免密登录的,所以这个显得并不是特别必要要知道的。

    [root@ ~]# cat /root/.mysql_secret 
    # Password set for user 'root@localhost' at 2022-08-19 16:47:12 
    7qa2CT1sYO_1
    1
    2
    3
    15. 修改密码
    这里我当时一直会报一个mysql命令找不到的错误,后来发现是没有在/usr/local/mysql57/bin下面执行mysql命令,所以导致这一问题解决不了。(后面配置软链接就可以在任何目录下都可以执行mysql命令了)

    [root@hdp265dnsnfs bin]# mysql -uroot -p
    mysql> set PASSWORD = PASSWORD('123456');
    Query OK, 0 rows affected, 1 warning (0.00 sec)

    mysql> flush privileges;
    Query OK, 0 rows affected (0.01 sec)

     
    16. 添加远程访问权限
    这接下来的操作就是为了本地Navicat能够远程连接Linux虚拟机上的准备。

    在本机先使用root用户登录mysql: mysql -u root -p"youpassword" 进行授权操作:

    mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;

    重载授权表:

    FLUSH PRIVILEGES;

    退出mysql数据库:

    exit
     
    上面那句命令里的youpassword就是一会Navicatroot用户的密码,你最好设置成和你数据库一样的密码,不然密码太多可就混乱了。


    这命令我们可以看出来,root这个用户,是允许任何用户(%)登录的。

    17.重启生效
    /bin/systemctl restart  mysql.service

    [root@ bin]# /etc/init.d/mysqld restart 
    Shutting down MySQL.. SUCCESS! 
    Starting MySQL. SUCCESS! 
    1
    2
    3
    4
    5
    18.可以在任何目录下登录mysql
    ln -s /usr/local/mysql57/bin/mysql   /usr/bin/mysql
    1
    19. 开放外部访问数据库
    开放防火墙端口
    firewall -cmd --list-all
    1
    开放3306端口
    firewall-cmd --permanent --add-port=3306/tcp
    1
    查看3306端口是否开放
    firewall-cmd --query-port=3306/tcp
    1
    次查看现在防火墙
    firewall-cmd --list-all
    1
    20. Navicat连接


    ✔️到这里mysql的安装过程就结束了。
     
     
     

  • 相关阅读:
    C语言知识大全(一)——C语言概述,数据类型
    SpringCloudalibaba
    坦克大战②
    射频模块无线收发RF63U芯片应用数据传输和基建网络
    Python编程陷阱(十一)
    中小企业如何最大程度地利用CRM系统的潜力?
    Android 获取手机中已安装apk文件信息
    Spring的前置增强,后置增强,异常抛出增强、自定义增强
    redis 重建主从记录
    BathchData数据分批处理
  • 原文地址:https://blog.csdn.net/jnrjian/article/details/128116088