加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

Linux Centos 7 - MySQL 5.7 在线安装步骤

发布时间:2023-09-19 15:56:03 所属栏目:MySql教程 来源:
导读:一、环境

Centos 7

MySQL 5.7

二、安装与配置

2.1 查询并卸载系统自带的 Mariadb

原因:以前的 Linux 系统中数据库大部分是 mysql,不过自从被 sun 收购之后,就没用集成在 centos 这些开源 Lin
一、环境
 
Centos 7
 
MySQL 5.7
 
二、安装与配置
 
2.1 查询并卸载系统自带的 Mariadb
 
原因:以前的 Linux 系统中数据库大部分是 mysql,不过自从被 sun 收购之后,就没用集成在 centos 这些开源 Linux 系统中了,那么如果想用的话就需要自己安装了,首先 centos7 已经不支持 mysql,因为收费了你懂得,所以内部集成了 mariadb,而安装 mysql 的话会和 mariadb 的文件冲突,所以需要先卸载掉 mariadb
 
rpm -qa | grep mariadb
 
rpm -e --nodeps 文件名
 
2.2 检查 yum 源中是否存在 mysql
 
    centos7 自带的 yum 源以及之前配置的 yum 源中,搜索均没有发现 mysql,因此我们下一步需要到 MySQL 的官网下载对应的 repo 文件。
 
yum search mysql
 
2.3 下载 mysql.rpm
 
    官网:https://dev.mysql.com/downloads/mysql/
 
mkdir /home/softinstallpackage #在home下面创建一个文件夹目录softinstallpackage存放下载的rpm
 
wget -i /home/softinstallpackage http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm #下载rpm到对应的目录下
 
 
2.4 安装 repo
 
    到 /home/softinstallpackage 目录下执行此命令后,/etc/yum.repos.d 目录下,可以看到已经生成的 2 个 repo 文件。
 
mysql-community.repo
 
mysql-community-source.repo
 
rpm -ivh mysql57-community-release-el7-10.noarch.rpm
 
 
    执行 yum 命令来检查一下,我们的 yum 源中是否已经出现对应的 mysql 安装服务列表(mysql57-community)。
 
yum search mysql57
 
 
2.5 下载并安装 MySQL
 
    疑问:为什么安装命令是 yum install mysql-server 或 mysql-community-server,而且与 yum install mysql 的安装内容是不一致的,我在 yum search mysql 结果表中并没有看到这几个命令,路过的大神麻烦告知一下,蟹蟹。
 
yum install mysql-server
 

 
yum install mysql-community-server
 
    安装内容:
 
mysql-community-server
 
mysql-community-client
 
mysql-community-common
 
mysql-community-libs

2.6 启动 MySQL 服务和相关设置
 
    启动 SQL 服务。
 
systemctl start mysqld.service
 
    检查 SQL 服务状态。
 
systemctl status mysqld.service

2.7 获取临时密码和登陆 MySQL
 
    获取第一次安装 MySQL 后的临时密码用于登陆数据库。
 
grep "password" /var/log/mysqld.log

    登陆 MySQL,临时密码直接复制后粘贴即可。
 
mysql -uroot -p

2.8 修改密码和密码安全策略修改
 
    ps:内部环境测试可以将密码安全策略调低,方便测试和使用,但是在 IDC 正式环境下不要修改,保证安全,同时在做等保测评时,技术人员也会对密码策略有要求。
 
    首次登陆数据库,要求必须先修改密码,不能直接操作查看策略情况,当然也可以直接输入 sql 语句直接修改策略,我们这里还是先按照要求过一遍。
 
    初始密码策略要求:包含符号、大小写字母、阿拉伯数字,且必须大于 8 位。
 
    图中已经进行测试,修改密码为:~!Qw1234567
 
ALTER USER 'root'@'localhost' IDENTIFIED BY '~!Qw1234567';
 
    输入以下命令,检查当前策略情况。
 
SHOW VARIABLES LIKE 'validate_password%';

    关于 MySQL 密码策略相关参数说明:
 
    1)、validate_password_length  固定密码的总长度;
 
    2)、validate_password_dictionary_file 指定密码验证的文件路径;
 
    3)、validate_password_mixed_case_count  整个密码中至少要包含大 / 小写字母的总个数;
 
    4)、validate_password_number_count  整个密码中至少要包含阿拉伯数字的个数;
 
    5)、validate_password_policy 指定密码的强度验证等级,默认为 MEDIUM;
 
            关于 validate_password_policy 的取值:
 
            0/LOW:只验证长度;
 
            1/MEDIUM:验证长度、数字、大小写、特殊字符;
 
            2/STRONG:验证长度、数字、大小写、特殊字符、字典文件;
 
    6)、validate_password_special_char_count 整个密码中至少要包含特殊字符的个数;
 
    这里为了测试方便,要将密码该为 root,使用以下命令修改策略值。
 
set global validate_password_policy=0;
 
set global validate_password_length=1;

    将密码修改为:root
 
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
 
2.9 开启 MySQL 远程访问权限
 
    登陆数据库,先通过以下语句完成任意地址访问数据库的配置。可将 host 字段数据配置为以下情况。
 
%,表示可以使用任意 IP 地址访问。
 
具体 IP 地址,可以让指定 IP 地址访问此数据库。
 
show databases; # 罗列数据库
 
use mysql; # 使用mysql数据库
 
select host,user from user; # 查询
 
update user set host='%' where user='root'; # 更新
 
flush privileges; # 刷新权限
 
    或(这里 root 的密码已经该为了 root )
 
grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;

2.10 查看当前数据库的详细信息
 
    输入以下命令,查一下 mysql 进程情况和端口情况,进程已经跑在 3306 端口上。
 
ps -ef | grep mysqld
 
netstat -lanp 或 netstat -lanp | grep 3306

    已经自动生成 mysql 用户。
 
cat /etc/passwd

默认数据库配置文件:/etc/my.cnf
 
默认安装目录:datadir=/var/lib/mysql
 
默认错误日志文件存储目录:log-error=/var/log/mysqld.log
 
cat /etc/my.cnf

2.11 设置 MySQL 服务器端编码 UTF-8
 
    编辑 /etc/my.cnf 文件,添加以下命令如下图所示。
 
[client]
 
default-character-set=utf8
 
[mysqld]
 
character-set-server=utf8
 
collation-server=utf8_general_ci

重启服务 systemctl restart mysqld.service
 
登陆数据库,查询数据库状态,status

2.12 firewall 防火墙放行端口
 
    通过以下命令,放行 3306 端口,可以进行远程访问,后续我们可以使用 Navicat 来远程访问。
 
添加(--permanent永久生效,没有此参数重启后失效)
 
firewall-cmd --zone=public --add-port=3306/tcp --permanent
 
重新载入
 
firewall-cmd --reload
 
查看
 
firewall-cmd --zone=public --query-port=3306/tcp
 
    Navicat 远程连接。
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章