0、前置说明
服务器IP地址 | 操作系统 | 说明 |
---|---|---|
192.168.112.131 | CentOS7 64位 | 服务器信息 |
0.2、MySQL版本
MySQL 安装版本: mysql-5.7.38
1、查找是否安装MySQL
rpm -qa|grep mysql
若安装有旧版本的MySQL,可参考如下方式进行卸载
1.1、rpm安装方式卸载
rpm -e --nodeps mysql-XXXXXXXXX
1.2、二进制包安装方式卸载
# 停掉mysql
systemctl stop mysqld.service
# 查看状态
systemctl status mysqld.service
# 查找mysql
find / -name mysql
# 删除查询出来的相关文件
rm -rf XXXXXX
# 查看和删除mysql用户
id mysql
userdel mysql
# 删除配置文件
rm -f /etc/my.cnf
2、查找是否存在mariadb包
rpm -qa|grep mariadb
3、卸载mariadb包
rpm -e --nodeps mariadb-libs-XXXXXX.el7.x86_64
4、安装MySQL
cd /usr/local
mkdir mysql
cd mysql
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.38-1.el7.x86_64.rpm-bundle.tar
tar -xvf mysql-5.7.38-1.el7.x86_64.rpm-bundle.tar
5、安装common,libs,client,server
rpm -ivh mysql-community-common-5.7.38-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-libs-5.7.38-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-client-5.7.38-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-server-5.7.38-1.el7.x86_64.rpm --nodeps --force
# 查看安装情况
rpm -qa | grep mysql
6、初始化和启动MySQL
# 初始化MySQL
mysqld --initialize
# 授权
chown mysql:mysql /var/lib/mysql -R
# 启动MySQL, 命令中的 mysqld.service 可简写为 mysqld, 下面相关命令同此
systemctl start mysqld.service
# 设置MySQL开机自启
systemctl enable mysqld.service
说明:MySQL服务相关命令如下
# 1、启动MySQL
systemctl start mysqld.service
# 2、停止MySQL
systemctl stop mysqld.service
# 3、重启MySQL
systemctl restart mysqld.service
# 4、查看MySQL状态
systemctl status mysqld.service
# 5、设置MySQL自启动
systemctl enable mysqld.sercice
# 6、查看MySQL是否自启动
systemctl list-unit-files|grep mysqld.service
7、登录和授权MySQL
cat /var/log/mysqld.log | grep password
mysql -uroot -p
8、修改密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
说明:出现密码不能修改错误时,可参考如下操作
1> 错误信息
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
2> 解决方案
-- 设置密码策略校验等级
set global validate_password_policy=LOW;
-- 设置密码校验长度
set global validate_password_length=6;
-- 刷新缓存
flush privileges;
9、授权远程访问
-- 给root用户授权
create user 'root'@'%' identified with mysql_native_password by '123456';
grant all privileges on *.* to 'root'@'%' with grant option;
flush privileges;
exit
10、防火墙配置
说明:关于防火墙配置,这里列出两种方式配置,根据系统防火墙要求选择
10.1、使用CentOS 7 默认防火墙firewalld
systemctl start firewalld
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
说明:关于firewalld防火墙相关命令如下
# 1、启动防火墙服务, firewalld.service 可简写为 firewalld
systemctl start firewalld.service
# 2、查看防火墙服务运行状态
systemctl status firewalld.service
# 3、重启防火墙服务
systemctl restart firewalld.service
# 4、关闭防火墙
systemctl stop firewalld.service
# 5、开机启动防火墙
systemctl enable firewalld.service
# 6、禁止firewalld开机启动
systemctl disable firewalld.service
## firewall-cmd相关
# 1、添加端口, 例如: 添加 3306 端口, 说明: --permanent 参数表示永久生效,若无此参数则在执行 reload 后失效
firewall-cmd --zone=public --add-port=80/tcp --permanent
# 2、关闭端口, 例如:关闭3306端口
firewall-cmd --zone=public --remove-port=3306/tcp --permanent
# 3、更新防火墙规则
firewall-cmd --reload
# 4、查看开放端口, 例如: 查看开放的 3306 端口
firewall-cmd --zone= public --query-port=3306/tcp
# 5、删除开放端口, 例如: 删除 3306 端口
firewall-cmd --zone= public --remove-port=3306/tcp --permanent
# 6、查看防火墙所有开放的端口
firewall-cmd --zone=public --list-ports
# 7、查看防火墙状态(关闭后显示notrunning,开启后显示running)
firewall-cmd --state
# 8、查看防火墙版本信息
firewall-cmd --version
10.2.2、安装 iptables 防火墙
在根目录文件夹下,执行如下命令,安装iptables防火墙
yum -y install iptables-services
10.2.3、设置并启动 iptables 防火墙
在根目录文件夹下,执行如下命令
systemctl enable iptables;
systemctl start iptables;
10.2.4、 iptables 配置端口访问
在根目录文件夹下,执行如下命令
vi /etc/sysconfig/iptables
添加如下内容
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
10.2.5、重启 iptables 防火墙
在根目录文件夹下,执行如下命令
systemctl restart iptables.service
10.2.6、设置 iptables 防火墙开机自启动
systemctl enable iptables.service
11、配置MySQL
1> 执行如下语句
vi /etc/my.cnf
添加如下配置信息
[client]
port = 3306
default-character-set = utf8
[mysqld]
character-set-server = utf8
collation-server = utf8_general_ci
# 关闭mysql区分大小写功能(即要求mysql对字段的大小写不敏感)
lower_case_table_names = 1
2> 保存配置之后,重启MySQL服务
systemctl restart mysqld.service
12、使用数据库连接工具测试
1> 查看本机IP信息
ifconfig
2> 使用数据库连接工具连接测试
以本机服务器信息为例说明:
主机名:192.168.112.131
用户名:root
密码:123456
端口:3306