CentOS7安装MySQL数据库、设置防火墙
CentOS7安装MySQL数据库步骤
MySQL数据库安装
首先输入su按回车输入密码,进入root权限
下载wget命令
在下载MySQL数据库前,首先要wget命令,代码如下所示:
yum -y install wget
删除已安装的MySQL服务
在下载MySQL数据包前,需要先查看是否已经安装了MySQL服务,代码如下:
rpm -qa | grep mysql
或
yum list installed | grep mysql
如果已经安装了MySQL服务,则需要把MySQL服务删除,代码如下所示:
yum -y remove mysql-libs.x86_64
安装MySQL安装包
在安装MySQL安装包前,先进入/usr/local目录创建tools、mysql文件并进入tools目录,执行以下代码:
cd /usr/local/
mkdir -p tools
mkdir -p mysql
cd tools
下载安装包,执行以下代码:
wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm
如下图所示:
安装MySQL,执行如下代码:
rpm -ivh mysql57-community-release-el7-8.noarch.rpm
如下图所示:
安装好后会在/etc/yum.repos.d/目录下生成两个repo包,如下图所示:
进入/etc/yum.repos.d/目录下安装MySQL服务,执行如下代码:
yum install mysql-server
如下图所示:
可能遇到的问题
问题一
The GPG keys listed for the “MySQL 5.7 Community Server” repository are already installed but they are not correct for this package.
或
Public key for mysql-community-libs-compat-5.7.37-1.el7.x86_64.rpm is not installed
就执行如下代码强制安装MySQL服务:
yum install mysql-server --nogpgcheck
问题二
Loaded plugins: fastestmirror, langpacks
Existing lock /var/run/yum.pid: another copy is running as pid 2847.
Another app is currently holding the yum lock; waiting for it to exit...
yum在锁定状态中。 已经有一个yum进程在运行了,可以使用kill干掉它:
kill -s 9 2847 #kill进程
或
rm -f /var/run/yum.pid #强制停止
然后继续安装:
yum install mysql-server
或
yum install mysql-server --nogpgcheck
MySQL数据库配置
在安装好MySQL后,我们接下来启动MySQL数据库并配置一些环境。
获取临时密码
首先启动MySQL,执行如下代码:
systemctl start mysqld
获取临时密码,执行如下代码:
grep 'temporary password' /var/log/mysqld.log
如下图所示:
·登录MySQL
mysql -u root -p
输入上面的临时密码,如下图所示:
修改密码
临时密码太复杂不方便我们记忆,当我们想要使用简单的里面来登录MySQL时,需要修改MySQL的配置,
修改validate_password_policy参数的值,由于MySQL默认的validate_password_policy参数值是1,也就是设置的密码必须符合长度,且必须含有数字,小写或大写字母,特殊字符,所以我们要把validate_password_policy参数值改为0,validate_password_length(密码长度)参数默认为8,我们修改为1,执行如下代码:
set global validate_password_policy=0;
set global validate_password_length=1;
如下图所示:
修改上面的配置后,我们开始修改MySQL的密码,执行如下代码:
alter user 'root'@'localhost' identified by '123456';
这里我们把MySQL的密码改为123456了。
修改MySQL默认编码
首先退出mysql,然后进入my.cnf文件:
exit #退出mysql
vim /etc/my.cnf #进入my.cnf文件
添加如下代码:
character_set_server=utf8
init_connect='SET NAMES utf8'
如下图所示:
查看数据库编码,执行如下代码:
systemctl restart mysqld #启动mysql
mysql -u root -p #登录mysql
show variables like '%character%'; #查看编码
如下图所示:
数据库简单操作
show databases; #看当前所有数据库
use mysql; #进入mysql数据库
show tables; #查看mysql数据库中所有的表
设置防火墙
由于CentOS 7中防火墙已经由firewalld来管理,可以用yum 命令安装Firewalld,执行如下命令:
yum install firewalld firewalld-config
查看防火墙状态,执行如下代码:
systemctl status firewalld
如下图所示:
防火墙其他命令
systemctl start firewalld.service #启动防火墙
firewall-cmd --reload 或者 service firewalld restart #重启防火墙
firewall-cmd --zone=public --add-port=3306/tcp --permanent #permanent永久生效,没有此参数防火墙重启便失效,防火墙开放3306端口
firewall-cmd --zone=public --remove-port=3306/tcp --permanent #防火墙关闭开放的3306端口
systemctl stop firewalld #禁用防火墙
systemctl enable firewalld #设置开机启动
systemctl disable firewalld #停止并禁用开机启动
firewall-cmd --permanent --list-port #查看端口列表