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
相关推荐
Championship.23.243 小时前
Linux 3.0 锁机制与故障排查详解
linux·运维·服务器
天疆说4 小时前
Zotero Connector 在 Edge 里找不到桌面 Zotero(Linux / Zotero 9.0.6 / Edge 150)
linux·前端·edge
风123456789~5 小时前
【Linux专栏】ls 排除某个文件
linux·运维·服务器
IT曙光6 小时前
ubuntu apt-get离线源制作
linux·ubuntu
其实防守也摸鱼6 小时前
运维--学习阶段问题解答(1)(自测)
linux·运维·服务器·数据库·学习·自动化·命令模式
懒鸟一枚6 小时前
深入理解 Linux 内存、Swap 交换分区与分页机制的关系
java·linux·数据库
玖玥拾7 小时前
C# 语言进阶(十五)C# 游戏服务端 MySQL 数据库
服务器·开发语言·网络·数据库·mysql·c#
Darkwanderor8 小时前
对Linux的进程控制的研究
linux·运维·c++
渣渣灰飞9 小时前
MySQL 系统学习 第五阶段:企业级 MySQL 实战开发 第二章:RBAC 权限系统设计
android·学习·mysql