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
相关推荐
Jack魏5 分钟前
Linux MySQL 8.0.29 忽略表名大小写配置
linux·mysql·mysql8·mysql常见问题
ctrigger35 分钟前
AI回答:Linux C/C++编程学习路线
linux·c语言·c++
Warren981 小时前
Springboot中分析SQL性能的两种方式
java·spring boot·后端·sql·mysql·intellij-idea
V1ncent Chen2 小时前
MySQL 插入更新语句(insert…on duplicate key update语句 )
数据库·sql·mysql
蛊明2 小时前
下载CentOS 10
linux·运维·centos
北京-宏哥2 小时前
Linux系统安装MySQL5.7(其他版本类似)避坑指南
linux·运维·服务器
Aphelios3802 小时前
Linux 下 VIM 编辑器学习记录:从基础到进阶(下)
java·linux·学习·编辑器·vim
Dreams°1232 小时前
【透过 C++ 实现数据结构:链表、数组、树和图蕴含的逻辑深度解析】
开发语言·数据结构·c++·mysql
qw9492 小时前
Linux 高级篇 日志管理、定制自己的Linux系统、备份与恢复
linux·运维·服务器
丶只有影子2 小时前
【Nacos】从零开始启动Nacos服务(windows/linux)
linux·运维·windows·微服务·springcloud