巨详细Linux安装MySQL

巨详细Linux安装MySQL

    • 1、查看是否有自带数据库或残留数据库信息
      • 1.1检查残留mysql
      • 1.2检查并删除残留mysql依赖
      • 1.3检查是否自带mariadb库
    • 2、下载所需MySQL版本,上传至系统指定位置
      • 2.1创建目录
      • 2.2下载MySQL压缩包
    • 3、安装MySQL
      • 3.1创建目录
      • 3.2解压mysql压缩包
      • 3.3安装解压出来的mysql包
    • 4、配置MySQL
      • 4.1设置开机自启动
      • 4.2修改mysql密码
      • 4.3更改数据库存放位置和日志输出位置

1、查看是否有自带数据库或残留数据库信息

mysql对安装环境要求比较苛刻,如果有相关残留信息处理起来会非常麻烦。所以需要对系统进行检查,之后在进行安装,各个发行版的linux系统存在差异,不过以下命令检查出的情况大体相同,按顺序操作即可。

1.1检查残留mysql

如果残留mysql组件,使用命令 rpm -e --nodeps +残留组件名 按顺序进行移除操作

powershell 复制代码
#检查系统是否残留过mysql
rpm -qa | grep mysql

1.2检查并删除残留mysql依赖

powershell 复制代码
#检查系统是否残留mysql依赖
yum remove mysql-libs -y

1.3检查是否自带mariadb库

如果存在mariadb的库,使用命令 rpm -e --nodeps +库名 按顺序将其卸载

powershell 复制代码
#检查是否自带mariadb库
rpm -qa | grep mariadb

2、下载所需MySQL版本,上传至系统指定位置

2.1创建目录

powershell 复制代码
#创建安装包存放目录
mkdir -p /data/install
#创建mysql软件安装目录
mkdir -p /data/local
#进入安装目录
cd /data/local

2.2下载MySQL压缩包

各版本mysql下载地址:https://downloads.mysql.com/archives/community/

本文采取mysql5.7版本作为演示,安装包传输工具使用Xftp,如何使用参考:https://blog.csdn.net/weixin_44953395/article/details/112900516

3、安装MySQL

3.1创建目录

powershell 复制代码
#创建mysql安装目录
mkdir -p /data/local/mysql5.7
#进入该目录
cd /data/local/mysql5.7

3.2解压mysql压缩包

powershell 复制代码
#解压MySQL的安装包,注意不要搞错安装包的名称
tar -xvf /data/install/mysql-5.7.25-1.el7.x86_64.rpm-bundle.tar.gz

3.3安装解压出来的mysql包

powershell 复制代码
#依次安装这几个解压出来的文件,注意看版本号
rpm -ivh mysql-community-common-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.25-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.25-1.el7.x86_64.rpm

4、配置MySQL

4.1设置开机自启动

powershell 复制代码
#设置随系统启动
systemctl start mysqld
#查看状态
systemctl status mysqld
#开启mysql随系统启动规则
systemctl enable mysqld

4.2修改mysql密码

powershell 复制代码
#查看临时密码
grep 'temporary password' /var/log/mysqld.log
#用临时密码登录mysql,ri2NLigYB0+Q是我的临时密码
mysql -uroot -pri2NLigYB0+Q
#设定新密码规则
set global validate_password_policy=0;
set global validate_password_length=1;
#设定你的新密码
alter user root@localhost identified by '你的新密码';
#给root用户远程访问服务器的权限,方便navicat或其他图形工具连接
grant all privileges on *.* to 'root'@'%' identified by 'password' with grant option;
#刷新权限
flush privileges;
#退出mysql
exit
#使用修改后的密码再次登录mysql验证是否设置成功
mysql -uroot -p你的密码


4.3更改数据库存放位置和日志输出位置

powershell 复制代码
#创建数据库数据目录
mkdir -p /data/local/mysqldata 
#创建数据库日志目录
mkdir -p /data/local/mysqllog

#修改配置文件
单按"i"键进入编辑模式,页面左下角出现-- INSERT --后,将光标下移最底部并新增如下配置。
vi /etc/my.cnf
修改  datadir=/data/local/mysqldata 
log-error=/data/local/mysqllog/mysqld.log 
按 ESC 键退出编辑状态,输入:wq!保存并退出

#编辑完之后赋权限
chown -R mysql:mysql /data/local/mysqldata
chown -R mysql:mysql /data/local/mysqllog


相关推荐
巴啦啦小魔仙变身3 分钟前
Django-ORM-select_related
数据库·python·django·sqlite
字节王德发5 分钟前
如何在Django中实现批量覆盖更新的示例
数据库·django·sqlite
cdut_suye8 分钟前
全面剖析 Linux 进程管理与 PCB 机制
java·linux·运维·服务器·c++·人工智能·python
qq_139484288215 分钟前
springboot433-基于SpringBoot的流浪猫爱心救助系统(源码+数据库+纯前后端分离+部署讲解等)
java·数据库·vue.js·spring boot·后端·maven·intellij-idea
Chenyu_31016 分钟前
04.基于C++实现多线程TCP服务器与客户端通信
linux·服务器·网络·c++·tcp/ip·算法·visualstudio
程序媛刘刘22 分钟前
uniappx 使用体验
java·服务器·前端
李豆豆喵1 小时前
第42天:WEB攻防-PHP应用&MYSQL架构&SQL注入&跨库查询&文件读写&权限操作
sql·mysql·架构
✿ ༺ ོIT技术༻1 小时前
MySQL:MySQL库和表的基本操作
数据库·mysql
奔波霸的伶俐虫1 小时前
liunx磁盘挂载和jar启动命令
linux·运维·服务器
wwwlyj1233212 小时前
slab分配器(3):slab内存申请和释放
linux