Linux(CentOS)安装MySQL教程

主要参考链接 教程

1. 准备工作

1.1 安装CentOS虚拟机

教程点击

1.2 将CentOS虚拟机设置为静态IP,否则你每次重启虚拟机后连接数据库都要重新查IP

教程点击

1.3 如果有安装过MySQL,请先卸载MySQL

教程点击

1.4 虚拟机执行命令su切换到root账号(输入密码时不会显示密码,实际已经输入)
xml 复制代码
 su root
2 安装MySQL(本文以CentOS 7下安装MySQL 8为例)
2.1 删除mariadb数据库软件包
2.1.1 执行命令rpm -qa|grep mari查询mariadb数据库软件包
    mariadb是CentOS自带的数据库,装MySQL前要先卸载,
    但不一定每一个CentOS镜像都有自带mariadb数据库,如果查到没有则直接跳过此步
sql 复制代码
#查询mariadb数据库软件包
rpm -qa|grep mari
2.1.2 执行命令rpm -e --nodeps 包名来删除软件包
sql 复制代码
#删除软件包
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版本自行选择)
sql 复制代码
#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源自行选择)
sql 复制代码
#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服务
sql 复制代码
#安装mysql服务
yum -y install mysql-server
2.3 安装mysql服务
sql 复制代码
yum -y install mysql-server
2.3.1 执行命令systemctl start mysqld启动MySQL
sql 复制代码
#查看mysql运行状态
systemctl status mysqld
#启动mysql
systemctl start mysqld
#停止mysql 
systemctl stop mysqld
#重启mysql 
systemctl restart mysqld  
2.3.2 执行命令systemctl enable mysqld开启MySQL开机自启动
sql 复制代码
#开启mysql开机自启动
systemctl enable mysqld
#关闭mysql开机自启动
systemctl disable mysqld
2.4 设置MySQL密码
2.4.1 执行下方命令获取临时密码
sql 复制代码
//获取MySQL临时密码
grep 'temporary password' /var/log/mysqld.log

2.4.2 执行命令mysql -uroot -p登录MySQL(密码是上面获取的临时密码)

sql 复制代码
//登录mysql
mysql -uroot -p

例如:下面的截图,其中 -uroot是要连在一块的

2.4.3 首次登陆,需要重新设置新密码,可以参考此教程,点击链接
(1) 更改密码弱口令设置,设置简单密码
sql 复制代码
mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=1;
(2) 设置新的密码:
sql 复制代码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
#注意 此处BY 后面的root是修改后的密码
mysql> flush privileges;
(3) 配置远程登录:
sql 复制代码
mysql> grant all privileges on *.* to root@'%' identified by 'root';
mysql> flush privileges;
(5) 至此 算是安装完毕,如果有问题 就重启mysql :
sql 复制代码
systemctl restart mysqld
3、安装过程遇到的问题
3.1 MySQL问题: mysql-community-libs-compat-5.7.41-1.el7.x86_64.rpm 的公钥尚未安装 (参考链接 教程

解决办法:

sql 复制代码
运行命令
[root@localhost ~]# rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
重新安装
[root@localhost ~]# yum -y install mysql-server
3.2 虚拟机中修改文件出现却无法保存了,出现了警告:
    E45:已设定选项 'readonly' (请加 ! 强制执行)
    
   原因分析: 这是因为当前的用户的权限不够

   解决办法:执行代码的命令前面加上 sudo
   或者切换当前系统的用户    直接        su root
相关推荐
计算机毕设指导610 分钟前
基于SpringBoot共享汽车管理系统【附源码】
java·spring boot·后端·mysql·spring·汽车·intellij idea
深思慎考22 分钟前
计算机操作系统——进程控制(Linux)
linux·服务器·c++·c
蜗牛丨37 分钟前
Go Vue3 CMS管理后台(前后端分离模式)
mysql·docker·go·vue3·axios·gin·jwt·分页·跨域·ant design vue·log·gorm·otp动态码登录·validator·模型绑定·权限判断
阿熊不会编程1 小时前
【计网】自定义协议与序列化(一) —— Socket封装于服务器端改写
linux·开发语言·网络·c++·设计模式
北冥有鱼被烹1 小时前
微知-如何通过lspci指定某个deviceid查看pcie设备?(lspci -d 15b3:和lspci -d :1021 )
linux·pcie
炽天使1 小时前
aws rds-mysql不支持性能详情监控
linux·数据库·mysql·云计算·aws·rds
追风赶月、1 小时前
【Linux】线程同步与互斥
linux
QQ_1154320311 小时前
基于Java+SpringBoot+Mysql在线简单拍卖竞价拍卖竞拍系统功能设计与实现九
java·spring boot·mysql·毕业设计·毕业源码·竞拍系统·竞拍项目
CQXXCL1 小时前
MySQL-学习笔记
笔记·学习·mysql
ZHOU西口2 小时前
MySQL系列之远程管理(安全)
数据库·mysql·安全·tls·加密连接·require_secure