• MySQL安装(01):CentOS7安装MySQL5.7


    1、版本

    mysql:5.7.37
    centos:CentOS Linux release 7.9.2009

    2、下载mysql

    centos默认已经安装并准备好,下面开始下载mysql。

    下面页面地址: https://downloads.mysql.com/archives/community/

    在这里插入图片描述

    下载完成后上传到服务器上面的 /packages 文件夹内,这里不再细说。如下:

    在这里插入图片描述

    3、安装mysql

    3.1、检测是否安装过mysql

    命令:rpm -qa|grep mysql

    如图:在这里插入图片描述
    没有任何输出说明没有安装过mysql!

    如果系统自带mysql,查询所有mysql 对应的文件夹,全部删除,使用命令:

    whereis mysql
    
    • 1

    find / -name mysql
    
    • 1

    来查看所有mysql关联的目录,然后全部删除。

    3.2、卸载CentOS7系统自带mariadb

    查看系统自带的Mariadb,命令:rpm -qa|grep mariadb ,如图:

    在这里插入图片描述

    卸载系统自带的Mariadb,命令为 【rpm -e --nodeps 上图打印出来的名字 】,上图中,Mariadb的全名是 mariadb-libs-5.5.68-1.el7.x86_64 ,所有命令是:

    rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64
    
    • 1

    执行结果:
    在这里插入图片描述
    再次查看系统自带的Mariadb,发现没了:

    在这里插入图片描述

    3.3、删除etc目录下的my.cnf

    查看 /etc 目录下有没有 my.cnf 文件,如果有,删除:

    rm -rf  /etc/my.cnf
    
    • 1

    在这里插入图片描述

    后面用到重新创建即可

    3.4、创建mysql 用户组和用户

    先检查mysql 用户组是否存在:

    cat /etc/group | grep mysql
    cat /etc/passwd |grep mysql
    
    • 1
    • 2

    如图:
    在这里插入图片描述

    没有,接下来 创建mysql 用户组和用户:

    groupadd mysql
    useradd -g mysql mysql
    
    • 1
    • 2

    如图:

    在这里插入图片描述

    这里已经创建成功了!

    现在可以切换到mysql用户,首先执行 sudo su :

    在这里插入图片描述

    然后用 su 命令切换用户,例如切换到mysql用户: su mysql

    在这里插入图片描述

    再切换会root用户,
    在这里插入图片描述

    每次切换到root用户都需要输入root用户的登录密码,登录成功后如下:

    在这里插入图片描述

    3.5、解压mysql安装包,目录授权

    我们将mysql的根目录设计为 /usr/local/mysql ,下面以这个为目的操作。

    首先解压mysql 安装包到 /usr/local 下面:

    命令:

    cd /packages 
    tar -zxvf mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
    
    • 1
    • 2

    结果如图:
    在这里插入图片描述

    执行完成后,会看到解压的过程。

    然后进入 /usr/local 目录下面,将解压后的文件夹命名为 mysql:

    mv mysql-5.7.37-linux-glibc2.12-x86_64 mysql
    
    • 1

    如图:
    在这里插入图片描述

    这样 /usr/local/mysql 就是mysql的根目录,如图:

    在这里插入图片描述

    接下来,更改mysql根目录下所有文件夹所属的用户组、用户以及权限:

    chown -R mysql:mysql /usr/local/mysql
    chmod -R 755 /usr/local/mysql
    
    • 1
    • 2

    如下:
    在这里插入图片描述

    3.6、编译安装并初始化mysql

    进入mysql根目录下的 bin 文件夹,编译安装并初始化mysql,命令如下:

    cd /usr/local/mysql/bin/
    ./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql
    
    • 1
    • 2

    执行结果如下:

    在这里插入图片描述

    如上图,务必记住数据库管理员临时密码,画红色框的部分中,冒号后面的字符串就是。

    3.7、配置 my.cnf 文件

    接下来,在 目录 /etc 下面,创建 my.cnf 配置文件,并添加配置,命令:

    vim /etc/my.cnf
    
    • 1

    如图:

    在这里插入图片描述

    内容是:

    [mysqld]
    datadir=/usr/local/mysql/data
    port = 3306
    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
    symbolic-links=0
    max_connections=400
    innodb_file_per_table=1
    lower_case_table_names=1
    
    [mysqld_safe]
    log-error=/usr/local/mysql/log/err.log
    pid-file=/usr/local/mysql/data/mysql.pid
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    直接保存退出即可。然后给my.cnf 文件授权:

    chown -R mysql:mysql /etc/my.cnf
    chmod -R 755 /etc/my.cnf
    
    • 1
    • 2

    如图:

    在这里插入图片描述

    注意,上面的配置内容里,有两个文件:

    /usr/local/mysql/log/err.log
    /usr/local/mysql/data/mysql.pid
    
    • 1
    • 2

    是没有的,这里直接创建并授权即可,创建命令如下:

    mkdir /usr/local/mysql/log
    touch /usr/local/mysql/log/err.log
    touch /usr/local/mysql/data/mysql.pid
    
    • 1
    • 2
    • 3

    如图:
    在这里插入图片描述

    授权命令如下:

    chown -R mysql:mysql /usr/local/mysql/log/err.log
    chmod -R 755 /usr/local/mysql/log/err.log
    
    chown -R mysql:mysql /usr/local/mysql/data/mysql.pid
    chmod -R 755 /usr/local/mysql/data/mysql.pid
    
    • 1
    • 2
    • 3
    • 4
    • 5

    如图:
    在这里插入图片描述

    3.8、启动mysql 服务器

    配置和授权完上面的内容,就可以直接启动mysql了,命令:

    /usr/local/mysql/support-files/mysql.server start
    
    • 1

    如图:
    在这里插入图片描述
    可以看到结果是SUCCESS,启动成功了!

    3.9、修改root用户的密码

    前面我们在编译和安装mysql的时候,生成并记录下了临时密码,现在来修改这个密码为:12345678。

    首先登录mysql,命令: /usr/local/mysql/bin/mysql -u root -p ,然后是输入密码

    /usr/local/mysql/bin/mysql -u root -p
    这里输入前面记住的临时密码,就可以登录成功,如图:

    在这里插入图片描述

    修改root密码语句:

    set password for root@localhost = password('12345678');
    
    • 1

    回车就可以执行成功,如图:

    在这里插入图片描述

    刷新一下配置:

    flush privileges;
    
    • 1

    如图:
    在这里插入图片描述

    然后输入quit;就可以退出mysql,接下来从新登录,密码输入12345678,就可以看到登录成功,这里不再展示。

    3.10、开放远程连接

    现在mysql只能在服务器本地登录,如果在其它电脑使用Navicat等工具进行远程链接就会报错:

    在这里插入图片描述

    开放远程链接需要登录mysql执行语句,如下:

    use mysql;
    update user set user.Host='%' where user.User='root';
    flush privileges;
    
    • 1
    • 2
    • 3

    如图:

    在这里插入图片描述

    现在远程可以连接成功了:

    在这里插入图片描述

    3.11、设置开机自启

    将服务文件 /usr/local/mysql/support-files/mysql.server 拷贝到init.d下,并重命名为mysqld,命令:

    cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
    
    • 1

    如图:

    在这里插入图片描述

    然后 赋予可执行权限,命令:

    chmod +x /etc/init.d/mysqld
    
    • 1

    如图:

    在这里插入图片描述

    然后添加到服务列表中:

    chkconfig --add mysqld
    
    • 1

    如图:
    在这里插入图片描述

    查看服务列表:

    chkconfig --list
    
    • 1

    如图:
    在这里插入图片描述

    现在reboot重启服务器,启动后发现,mysql自启成功!

    3.12、在防火墙中开放mysql端口

    通常我们测试环境使用的服务器都是关闭防火墙的,为了方便。

    但是正式环境,防火墙一定是开启的,如果有特殊需要,需要外界访问mysql,假如mysql使用的是默认的3306端口,这个时候需要单独开放3306端口。首先开启防火墙:

    systemctl start firewalld
    
    • 1

    如图:

    在这里插入图片描述

    可以看到Navicat连接mysql又失败了:

    在这里插入图片描述

    下面单独开放3306端口,命令:

    firewall-cmd --zone=public --add-port=3306/tcp --permanent
    
    • 1

    如图:

    在这里插入图片描述
    开放成功!

    接下来需要让上面的开放端口配置立即生效,命令:

    firewall-cmd --reload
    
    • 1

    如图:

    在这里插入图片描述

    现在用Navicat工具又能连接成功了,但是只是3306端口,如果在服务器上随便启动一个服务,如Java服务,这个服务是不能访问的,这里不再演示。

    4、总结

    以上是CentOS7安装MySQL5.7的全部过程!

  • 相关阅读:
    C++ 字母异位词分组
    同三维T80004EHL-W-4K30 4K HDMI编码器,支持WEBRTC协议
    【Java】泛型 之 编写泛型
    postman中 form-data、x-www-form-urlencoded、raw、binary的区别
    查找排序部分习题 242. 有效的字母异位词 74. 搜索二维矩阵 1. 两数之和 167.两数之和 II
    DSI及DPHY的学习
    20240416,深拷贝&浅拷贝,对象初始化和清理,对象模型和THIS指针
    虹科分享 | 想买车无忧?AR为您带来全新体验!
    高防服务器有用么?
    MindSponge分子动力学模拟——体系控制(2024.05)
  • 原文地址:https://blog.csdn.net/u011857851/article/details/125504222