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
相关推荐
李白客17 小时前
KES新版MySQL兼容能力再升级意味着什么?
mysql·国产数据库
ClouGence19 小时前
Oracle 数据同步为什么会出现数据不一致?长事务是常被忽略的原因
数据库·后端·oracle
飞将1 天前
从零实现数据库(2)——HashIndex + IndexManager
数据库
Nturmoils2 天前
订单列表慢查询,先看 WHERE、ORDER BY 和 LIMIT
数据库
渣波2 天前
拒绝 SQL 焦虑!手把手带你用 NestJS + Prisma + DTO 写出“防弹”级后端代码
javascript·数据库·后端
Jim6003 天前
【吃透 MySQL InnoDB连载】第 1 章・解密线上数据库高频故障
mysql
GreatSQL3 天前
gt-checksum v4.0.0 新功能解读系列文章(4):SSL 加密连接——数据校验传输安全再升级
mysql
倔强的石头_3 天前
KingbaseES 新版MySQL 兼容版体验:旧版迁移 + 功能实测
数据库
倔强的石头_6 天前
《Kingbase护城河》——数据库存储空间全景探测与精细化瘦身实战
数据库