1. 准备工作
1.1 安装CentOS虚拟机
教程[点击跳转]
1.2 将CentOS虚拟机设置为静态IP,否则你每次重启虚拟机后连接数据库都要重新查IP
教程[点击跳转]
1.3 如果有安装过MySQL,请先卸载MySQL
教程[点击跳转]
1.4 虚拟机执行命令su切换到root账号(输入密码时不会显示密码,实际已经输入)
su
2.安装MySQL(本文以CentOS 7下安装MySQL 8为例)
2.1 删除mariadb数据库软件包
2.1.1 执行命令rpm -qa|grep mari查询mariadb数据库软件包
mariadb是CentOS自带的数据库,装MySQL前要先卸载,但不一定每一个CentOS镜像都有自带mariadb数据库,如果查到没有则直接跳过此步
#查询mariadb数据库软件包
rpm -qa|grep mari
2.1.2 执行命令rpm -e --nodeps 包名来删除软件包
#删除软件包
rpm -e --nodeps marisa-0.2.4-4.el7.x86_64 #包名用你自己查询到的
rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64 #包名用你自己查询到的
2.2 安装MySQL
2.2.1 执行命令wget -c 链接下载rpm源(根据CentOS版本自行选择)
#CentOS8 mysql8 rpm源
wget -c https://dev.mysql.com/get/mysql80-community-release-el8-5.noarch.rpm
#CentOS7 mysql8 rpm源
wget -c https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm
#CentOS6 mysql8 rpm源
wget -c https://dev.mysql.com/get/mysql80-community-release-el6-7.noarch.rpm
#如果wget命令无效,先执行下面这个命令安装wget
yum -y install wget
2.2.2 执行命令rpm -ivh 包名安装rpm源(根据下载的rpm源自行选择)
#CentOS8 安装mysql8
rpm -ivh mysql80-community-release-el8-5.noarch.rpm
#CentOS7 安装mysql8
rpm -ivh mysql80-community-release-el7-7.noarch.rpm
#CentOS6 安装mysql8
rpm -ivh mysql80-community-release-el6-7.noarch.rpm
2.2.3 执行命令yum -y install mysql-server安装mysql服务
#安装mysql服务
yum -y install mysql-server
2.3 启动MySQL
2.3.1 执行命令systemctl start mysqld启动MySQL
#查看mysql运行状态
systemctl status mysqld
#启动mysql
systemctl start mysqld
#停止mysql
systemctl stop mysqld
#重启mysql
systemctl restart mysqld
2.3.2 执行命令systemctl enable mysqld开启MySQL开机自启动
#开启mysql开机自启动
systemctl enable mysqld
#关闭mysql开机自启动
systemctl disable mysqld
2.4 设置MySQL密码
2.4.1 执行下方命令获取临时密码
//获取MySQL临时密码
grep 'temporary password' /var/log/mysqld.log
2.4.2 执行命令mysql -uroot -p登录MySQL(密码是上面获取的临时密码)
//登录mysql
mysql -uroot -p
2.4.3 用临时密码登录后执行下方命令设置MySQL永久密码
//根据下图中的密码策略设置mysql数据库密码(你不设置密码就无法进行其它操作)
alter user 'root'@'localhost' identified by 'password@0';
你的密码不符合默认密码策略的话是无法设置成功的,mysql8默认密码策略如下图(最小8位,至少含义一个数字,至少含义一个特殊字符)
2.4.4 执行下方命令修改密码策略
只能临时修改密码策略,重启MySQL后自动恢复默认密码策略,想要永久修改需要改MySQL配置文件,一般来说临时修改密码策略就够了,又不天天改密码
//设置密码长度
set global validate_password.length = 6;
//设置密码风险等级(等级越高要求密码越复杂),分为0、1、2级
set global validate_password.policy = 0;
//查询密码策略
show variables like 'validate_password.%';
2.4.5 修改完密码策略后执行下方命令重新设置你的MySQL密码
//设置mysql数据库密码 (这里是密码)
alter user 'root'@'localhost' identified by '123456';
2.5 允许外部访问该MySQL数据库
2.5.1 依次执行下方命令即可允许外部访问该MySQL数据库
//创建用户
(远程连接用的账号) (远程连接用的密码)
create user 'root'@'%' identified by 'mypassword';
//分配权限,运行远程连接
(允许root账号远程连接)
grant all privileges on *.* to 'root'@'%' with grant option;
//刷新权限
flush privileges;
2.5.2 尝试用Navicat连接虚拟机上的MySQL数据库,但是连接失败,这是CentOS的防火墙导致的,所以无法连接
2.6 防火墙(CentOS7)
CentOS7和CentIOS6防火墙命令不一样,CentOS6防火墙命令请自行查找
2.6.1 执行下方命令直接关闭防火墙(不推荐,不安全)
#关闭防火墙
systemctl stop firewalld.service
2.6.2 执行下方命令开启指定端口允许外部访问
#永久允许该端口被外部访问(3306是MySQL默认端口号)
firewall-cmd --permanent --add-port=3306/tcp
#重启防火墙
firewall-cmd --reload
修改MySQL端口号教程[点击跳转] 文章来源:https://www.toymoban.com/news/detail-655281.html
2.6.3 防火墙命令概览
#关闭防火墙
systemctl stop firewalld.service
#禁止防火墙开机自启动
systemctl disable firewalld.service
#永久允许该端口被外部访问
firewall-cmd --permanent --add-port=3306/tcp
#临时允许该端口被外部访问
firewall-cmd --add-port=3306/tcp
#禁止该端口被外部访问
firewall-cmd --remove-port=3306/tcp
#重启防火墙
firewall-cmd --reload
2.7 重新远程连接MySQl数据库
Navicat下载[点击跳转]文章来源地址https://www.toymoban.com/news/detail-655281.html
到了这里,关于Linux(CentOS)安装MySQL教程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!