当前位置: 首页 > news >正文

linux安装MYSQL

检查和删除现有的MySQL或MariaDB

首先,检查系统中是否已经安装了MySQL或MariaDB。如果已经安装,需要先将其删除。

# 检查是否安装了MySQL
rpm -qa | grep mysql# 检查是否安装了MariaDB
rpm -qa | grep mariadb# 删除MariaDB
rpm -e --nodeps mariadb-libs

下载和解压MySQL

从MySQL官方网站下载适合你系统的MySQL安装包,并将其上传到目标服务器。

# 下载MySQL安装包
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.31-linux-glibc2.12-x86_64.tar.xz# 解压安装包
tar -xvf mysql-8.0.31-linux-glibc2.12-x86_64.tar.xz# 移动并重命名解压后的文件夹
mv mysql-8.0.31-linux-glibc2.12-x86_64 /usr/local/mysql

创建数据目录和用户

创建MySQL数据存放目录,并创建MySQL用户和用户组。

# 创建数据目录
mkdir -p /data/mysql# 创建用户组和用户
groupadd mysql
useradd -r -g mysql mysql# 赋予权限
chown mysql:mysql -R /data/mysql

配置MySQL

编辑MySQL配置文件/etc/my.cnf,如果文件不存在则新建。

im /etc/my.cnf# 添加以下内容
[mysqld]
bind-address = 0.0.0.0
port = 3306
user = mysql
basedir = /usr/local/mysql
datadir = /data/mysql
socket = /tmp/mysql.sock
log-error = /data/mysql/mysql.err
pid-file = /data/mysql/mysql.pid
character_set_server = utf8mb4
symbolic-links = 0
explicit_defaults_for_timestamp = true

初始化和启动MySQL

初始化MySQL并启动服务。

# 进入MySQL安装目录的bin目录
cd /usr/local/mysql/bin# 初始化MySQL
/mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/data/mysql --user=mysql --initialize# 查看初始密码
cat /data/mysql/mysql.err# 启动MySQL服务
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
service mysql start

修改root密码和开启远程访问

登录MySQL并修改root密码,开启远程访问权限。

# 登录MySQL
/usr/local/mysql/bin/mysql -u root -p# 修改root密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
FLUSH PRIVILEGES;# 开启远程访问
UPDATE user SET host='%' WHERE user='root';
FLUSH PRIVILEGES;

检查安装路径和环境

确保MySQL的安装路径和环境配置正确。

# 打开profile文件
vi /etc/profile# 添加MySQL路径到环境变量
export PATH=$PATH:/usr/local/mysql/bin# 重新加载配置文件
source /etc/profil

相关文章:

  • android平台驱动开发(四)--系统属性节点控制GPIO
  • 【数据库】-4 mysql权限语句
  • Disruptor—核心源码实现分析(三)
  • 全球地表水与地下水盐度数据(1980-2019)含45,103个地表水站点与208,550个地下水站点
  • RAG综述:大模型检索增强生成全解析
  • C++数据结构 : 二叉搜索树
  • 【Elasticsearch】使用脚本删除索引中的某个字段
  • SLOT:测试时样本专属语言模型优化,让大模型推理更精准!
  • 中车靶场,网络安全暑期实训营
  • FOFA网络空间测绘初学者指南:像探险家一样探索数字世界
  • 什么是数据驱动?以及我们应如何理解数据驱动?
  • ICMP与TCP端口:网络层与传输层解析
  • Flutter 实现6个验收码输入框
  • 实现单例模式的6种方法(Python)
  • 防爆手机VS普通手机,区别在哪里?
  • 获取oracle的HQL日志,采取参数日志,拼装SQL语句
  • Oracle初识
  • Java大师成长计划之第32天:使用Kubernetes进行Java应用编排与管理
  • C++学习-入门到精通【9】面向对象编程:继承
  • 低空经济数据湖架构设计方案
  • 企业网站怎么做连接/互联网舆情
  • 抽奖小程序/seo优化中商品权重主要由什么决定
  • 公司建站后还要录入网页吗/网络推广中心
  • 怎么做品牌推广网站/线上宣传方式
  • 网站 提交入口/代发新闻稿的网站
  • 乐清开发网站公司/中国没有限制的搜索引擎