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
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数据库
原文地址:https://blog.csdn.net/Coin_Collecter/article/details/130095380
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_14645.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。