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
相关推荐
小徐不徐说1 小时前
C++ 接口与插件设计:从工厂注册到 Qt 动态插件
数据库·c++·qt·系统架构·程序设计
论文复现现场2 小时前
WRF、FEA 能用 L40S 加速吗?求解器检查、断点恢复与长期运行
java·数据库·算法·wrf·有限元分析·gpu计算·断点续算
Decay__3 小时前
04_MySQL DBA 日常运维手册 —— 会话管理、锁与阻塞、事务监控、慢查询与日志巡检
运维·数据库·sql·mysql·架构
心梦缘-雪雁4 小时前
SQL Server 查询数据存在哪个表里
数据库
lusklusklusk5 小时前
Python 巡检脚本:进程运行状态、数据库写入时效检查及邮件通知与告警
数据库·python·oracle
GeW5 小时前
产业新优势基础软件的人才底盘,从Linux与数据库开始
linux·数据库
SelectDB6 小时前
Doris Arrow Flight SQL 高速读取协议实战:与 Snowflake 客户端取数链路对照
大数据·数据库·数据分析
曼岛_6 小时前
[图解密码学]第4章 古典密码
java·数据库·密码学
瀚高PG实验室7 小时前
HGDB V9.0.5 .pgpass 免密登录提示 IsEncryptNon-base64 encoding 警告处理
数据库·postgresql·瀚高数据库
龙腾AI白云7 小时前
大模型检索增强生成(RAG)的技术原理与架构设计
数据库·python·机器学习·知识图谱