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

find / -name mysql

来查看所有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

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

在这里插入图片描述

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

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

rm -rf  /etc/my.cnf

在这里插入图片描述

后面用到重新创建即可

3.4、创建mysql 用户组和用户

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

cat /etc/group | grep mysql
cat /etc/passwd |grep mysql

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

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

groupadd mysql
useradd -g mysql mysql

如图:

在这里插入图片描述

这里已经创建成功了!

现在可以切换到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/

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

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

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

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

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

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

在这里插入图片描述

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

chown -R mysql:mysql /usr/local/mysql
chmod -R 755 /usr/local/mysql

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

3.6、编译安装并初始化mysql

安装libaio.so.1的依赖库,

yum install -y libaio

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

mkdir /usr/local/mysql/data
cd /usr/local/mysql/bin/
./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql

执行结果如下:

在这里插入图片描述

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

3.7、配置 my.cnf 文件

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

vim /etc/my.cnf

如图:

在这里插入图片描述

内容是:

[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

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

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

如图:

在这里插入图片描述

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

/usr/local/mysql/log/err.log
/usr/local/mysql/data/mysql.pid

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

mkdir /usr/local/mysql/log
touch /usr/local/mysql/log/err.log
touch /usr/local/mysql/data/mysql.pid

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

授权命令如下:

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

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

3.8、启动mysql 服务器

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

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

如图:
在这里插入图片描述
可以看到结果是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');

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

在这里插入图片描述

刷新一下配置:

flush privileges;

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

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

3.10、开放远程连接

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

在这里插入图片描述

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

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

如图:

在这里插入图片描述

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

在这里插入图片描述

3.11、设置开机自启

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

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

如图:

在这里插入图片描述

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

chmod +x /etc/init.d/mysqld

如图:

在这里插入图片描述

然后添加到服务列表中:

chkconfig --add mysqld

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

查看服务列表:

chkconfig --list

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

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

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

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

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

systemctl start firewalld

如图:

在这里插入图片描述

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

在这里插入图片描述

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

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

如图:

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

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

firewall-cmd --reload

如图:

在这里插入图片描述

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

4、总结

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值