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
相关推荐
自不量力的A同学17 分钟前
Redisson 4.2.0 发布,官方推荐的 Redis 客户端
数据库·redis·缓存
Exquisite.19 分钟前
Mysql
数据库·mysql
全栈前端老曹44 分钟前
【MongoDB】深入研究副本集与高可用性——Replica Set 架构、故障转移、读写分离
前端·javascript·数据库·mongodb·架构·nosql·副本集
R1nG8631 小时前
CANN资源泄漏检测工具源码深度解读 实战设备内存泄漏排查
数据库·算法·cann
阿钱真强道1 小时前
12 JetLinks MQTT直连设备事件上报实战(继电器场景)
linux·服务器·网络·数据库·网络协议
逍遥德1 小时前
Sring事务详解之02.如何使用编程式事务?
java·服务器·数据库·后端·sql·spring
笨蛋不要掉眼泪1 小时前
Redis哨兵机制全解析:原理、配置与实战故障转移演示
java·数据库·redis·缓存·bootstrap
Coder_Boy_2 小时前
基于SpringAI的在线考试系统-整体架构优化设计方案
java·数据库·人工智能·spring boot·架构·ddd
fen_fen10 小时前
Oracle建表语句示例
数据库·oracle
砚边数影12 小时前
数据可视化入门:Matplotlib 基础语法与折线图绘制
数据库·信息可视化·matplotlib·数据可视化·kingbase·数据库平替用金仓·金仓数据库