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
相关推荐
xbd_zc7 分钟前
【Linux Nano Vim快捷键大全】
linux·运维·vim
shane-u41 分钟前
Dockerfile实战:从零构建自定义CentOS镜像
linux·运维·centos
XiaoCCCcCCccCcccC1 小时前
Linux 的 UDP 网络编程 -- 回显服务器,翻译服务器
linux·网络·udp
风暴智能1 小时前
获取相机图像(ROS2)
linux·机器人·无人机
中国lanwp1 小时前
使用Maven和Ant上传文件到Linux服务器
linux·服务器·maven
孙克旭_1 小时前
day016-系统负载压力测试-磁盘管理
linux·运维·压力测试
liuyunluoxiao1 小时前
进程间通信--共享内存【Linux操作系统】
linux
qq_454175792 小时前
gcc/g++常用参数
linux·运维·服务器
万能程序员-传康Kk3 小时前
【Python+flask+mysql】网易云数据可视化分析(全网首发)
python·mysql·信息可视化·数据分析·flask·可视化·网易云
wb1893 小时前
Linux远程连接服务
linux·运维·服务器·笔记