惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
小众软件
小众软件
博客园_首页
博客园 - 聂微东
V
V2EX
WordPress大学
WordPress大学
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
罗磊的独立博客
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 司徒正美
博客园 - 三生石上(FineUI控件)
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
S
SegmentFault 最新的问题
J
Java Code Geeks
Last Week in AI
Last Week in AI
The Cloudflare Blog
月光博客
月光博客
雷峰网
雷峰网
宝玉的分享
宝玉的分享
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Hugging Face - Blog
Hugging Face - Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
有赞技术团队
有赞技术团队
人人都是产品经理
人人都是产品经理
博客园 - Franky
腾讯CDC
Jina AI
Jina AI
博客园 - 叶小钗
大猫的无限游戏
大猫的无限游戏
阮一峰的网络日志
阮一峰的网络日志
量子位
爱范儿
爱范儿
美团技术团队
T
Tailwind CSS Blog
博客园 - 【当耐特】
D
Docker
IT之家
IT之家
V
Visual Studio Blog
P
Proofpoint News Feed
L
LangChain Blog
Engineering at Meta
Engineering at Meta
C
Check Point Blog
G
Google Developers Blog
Google DeepMind News
Google DeepMind News
云风的 BLOG
云风的 BLOG
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Microsoft Azure Blog
Microsoft Azure Blog
B
Blog RSS Feed
Recorded Future
Recorded Future

Hsu Yeung 的博客

三圣花市 | Hsu Yeung 的博客 网站支持 Live Photo 图片展示 | Hsu Yeung 的博客 梦 | Hsu Yeung 的博客 周末午餐 | Hsu Yeung 的博客 张家界 | Hsu Yeung 的博客 话剧《寻她芳踪·张爱玲》 | Hsu Yeung 的博客 博客自动生成文章目录 | Hsu Yeung 的博客 灭螂行动! | Hsu Yeung 的博客 张靓颖成都演唱会 | Hsu Yeung 的博客 最近对博客做的一些微调总结 | Hsu Yeung 的博客 Windows 上安装 Lua | Hsu Yeung 的博客 网站支持展示 B 站 iframe 视频 SpringBoot 中使用 RedisTemplate 存取整数值的坑 | Hsu Yeung 的博客 SQL JOIN 中 ON 与 WHERE 的区别 值得记录的一些工作近况 | Hsu Yeung 的博客 周传雄成都演唱会 | Hsu Yeung 的博客 并行操作导致获取数据库连接超时 | Hsu Yeung 的博客 风信子 | Hsu Yeung 的博客 Linux 安装并配置 Nginx | Hsu Yeung 的博客 使用 logrotate 切割 nginx 日志 郁金香土培结果 | Hsu Yeung 的博客 MySQL LEFT JOIN 右表有多条数据但只取最新的一条 | Hsu Yeung 的博客 获取数据库锁等待超时问题 | Hsu Yeung 的博客 从零开始挑选相机 | Hsu Yeung 的博客 郁金香 | Hsu Yeung 的博客 我的第一束花 | Hsu Yeung 的博客 快乐的一周 | Hsu Yeung 的博客 重庆,来了 | Hsu Yeung 的博客 散步 | Hsu Yeung 的博客 Git 工作区、暂存区、版本库之间的关系 | Hsu Yeung 的博客 Collectors.toMap() 操作 value 为 null 的情况 AOP 记录请求参数时序列化异常问题 | Hsu Yeung 的博客 第一次参加演唱会 | Hsu Yeung 的博客 MySQL FIND_IN_SET 函数的使用 | Hsu Yeung 的博客 自动拆箱机制导致编译失败 | Hsu Yeung 的博客 最近 | Hsu Yeung 的博客 夜爬龙泉山 | Hsu Yeung 的博客 在 Windows 上安装多个版本 JDK 并切换使用的版本 安装 Windows Terminal 和 gsudo 记录 意外的奖励 | Hsu Yeung 的博客 记第一次修热水器 | Hsu Yeung 的博客 在 Windows 电脑上调试 iPhone Safari 浏览器的网页 给网站加上 RSS | Hsu Yeung 的博客 打雷了 | Hsu Yeung 的博客 豉汁蒸排骨 | Hsu Yeung 的博客 我的 2022 年 | Hsu Yeung 的博客 如何使用 Git 给代码打 tag | Hsu Yeung 的博客 记一次有趣的上班经历 | Hsu Yeung 的博客 我记得 | Hsu Yeung 的博客 Spring 新增或修改请求 header 参数 | Hsu Yeung 的博客 Spring 事务传播机制 | Hsu Yeung 的博客 在家自制“周黑鸭” | Hsu Yeung 的博客 晚餐 | Hsu Yeung 的博客 如何解决逻辑删除与数据库唯一约束冲突 | Hsu Yeung 的博客 [转]漫画赏析:Linux 内核到底长啥样 | Hsu Yeung 的博客 数据库逻辑设计之三大范式通俗理解 | Hsu Yeung 的博客 计算机中的大小端是指什么 | Hsu Yeung 的博客 MySQL 学习笔记 | Hsu Yeung 的博客 [转]《玉子市场》的人物魅力 | Hsu Yeung 的博客 Linux 安装 Redis | Hsu Yeung 的博客 Linux 安装 JDK | Hsu Yeung 的博客 [转]Thymeleaf 表达式工具类 | Hsu Yeung 的博客 Shell 基础入门介绍 | Hsu Yeung 的博客 Linux 中的软链接和硬链接 | Hsu Yeung 的博客 MySQL 将某些字段的值排在最前或最后 | Hsu Yeung 的博客 数据结构与算法学习笔记 | Hsu Yeung 的博客 Visual Studio Code 如何编写运行 C 程序?
Linux 安装 MySQL | Hsu Yeung 的博客
2021-07-14 · via Hsu Yeung 的博客

本文主要记录如何在 Linux 中安装 MySQL。

环境:CentOS 7.6

MySQL 版本:5.7.39

1. 卸载已经安装了的 MySQL 或者 MariaDB

# 查看是否安装了 MariaDB
rpm -qa | grep mariadb
# 如果有就卸载
yum -y remove mariadb-libs-5.5.56-2.el7.x86_64

2. 下载 MySQL

官网链接:MySQL :: Download MySQL Community Server (Archived Versions)

我这里版本选择 5.7.39,操作系统选择 Red Hat Enterprise Linux / Oracle Linux,往下翻找到 mysql-5.7.39-el7-x86_64.tar.gz 点击后面的 Download 按钮下载即可。

3. 上传并解压

下载下来后使用 ftp 工具将压缩包上传到服务器的 /usr/local/env/mysql/ 目录下,切换到该目录下并解压:

cd /usr/local/env/mysql/

tar -zxvf mysql-5.7.39-el7-x86_64.tar.gz

# 为了方便记忆将其重命名
mv mysql-5.7.39-el7-x86_64 mysql5.7.39

4. 配置 MySQL

进入到 MySQL 安装目录中:

4.1. 创建一个 data 目录用于存放数据文件

mkdir data

4.2. 创建系统用户组和用户

# 查看所有用户组信息是否存在 mysql 组,不存在则创建,存在则直接新建用户
cat /etc/group | grep mysql
# 如果不存在则新建一个 mysql 组
groupadd mysql
# 查看是否存在 mysql 用户
cat /etc/passwd | grep mysql
# 没有则新建 mysql 用户
useradd -g mysql mysql

4.3. 修改 MySQL 安装目录的所有权(不是访问权限)

# 修改 MySQL 安装目录及其包含的所有文件所有权归 mysql 组中的 mysql 用户所有
chown -R mysql:mysql /usr/local/env/mysql/mysql5.7.39/

4.4. 初始化 MySQL 数据库

在 MySQL 安装目录下执行以下命令:

# 将 mysql.server 文件拷贝到 /etc/init.d 目录下并重命名为 mysqld
cp ./support-files/mysql.server /etc/init.d/mysqld

# 初始化
./mysqld --initialize --user=mysql --basedir=/usr/local//usr/local/env/mysql/mysql5.7.39 --datadir=/usr/local/env/mysql/mysql5.7.39/data

注意后面有初始密码,记下来!!!

这里我的初始密码为:czb&Mgn#W32X

4.5. [可选步骤]配置 my.cnf

从版本 5.7.18 开始,MySQL 免安装版二进制包中就不包含该文件了,即不需要 my.cnf 文件也可以正常运行;my.cnf 文件中配置的选项会在命令行启动 MySQL 的时候作为参数进行启动, 如果只是单纯的搭建一个 MySQL 实例,可以直接忽略此步骤。如果是搭建 MySQL 主从环境则需要该文件。这里就是用默认的不进行配置。

4.6. 修改 mysqld 文件

vim /etc/init.d/mysqld

按键盘 i 键进行编辑。将配置文件开头的 basedirdatadir 两项配置分别修改为你的 MySQL 安装目录以及前面创建的 data 目录绝对路径。

# 这两项配置根据自己 MySQL 安装位置自行修改
basedir=/usr/local/env/mysql/mysql5.7.39

datadir=/usr/local/env/mysql/mysql5.7.39/data

然后按 Esc 退出编辑,再按 shift + :输入 wq ! 保存并退出即可。

4.7. 设置 MySQL 开机启动

cd /etc/init.d
chkconfig --add mysqld

至此 MySQL 就已经安装完毕了,接下来就是使用命令启动 MySQL。

5. 启动 MySQL

service mysqld start

6. 配置 MySQL 环境变量

vim /etc/profile

在文档的最后面添加如下内容,不要带空格:

export PATH=$PATH:/usr/local/env/mysql/mysql5.7.39/bin

保存文档后执行如下命令使配置文件立即生效:

source /etc/profile

7. 重启 MySQL 服务,并且使用默认的 root 用户登录

这里就需要用到前面记下来的初始密码了。

# 重启 mysql 服务
service mysqld restart

mysql -u root -p
# 注意:输入密码时不会显示,输入完成回车即可

登录成功命令行则会变为 mysql>

8. 修改 root 用户的密码并且刷新。

mysql> alter user 'root'@'localhost' identified by '新密码';
Query OK, 0 rows affected (0.00 sec)

# MySQL 新设置用户或更改密码后需用 flush privileges 刷新 MySQL 的系统权限相关表
# 否则会出现拒绝访问,还有一种方法,就是重新启动 MySQL 服务器,来使新设置生效
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

设置完成后 CTRL + C 即可退出 mysql 命令行。

此时 MySQL 数据库只能在本机上使用 mysql 命令进行登录,还无法使用 navicat 等数据库可视化工具进行远程登录。

9. 设置允许 root 用户远程连接数据库

mysql> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> update user set user.Host='%' where user.User='root';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

最后还需要开放 3306 端口号或者关闭防火墙, 如果是阿里云/腾讯云服务器则设置安全组即可。