手把手教你Linux下搭建mysql环境

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 手把手教你Linux下搭建mysql环境

1、首先你需要下载一个自己需要的mysql版本

地址:MySQL :: Download MySQL Community Server
我这里下载的是:mysql-5.7.27-linux-glibc2.12-x86_64.tar.gz

2、将下载好的安装包放到 /usr/local目录下(目录可以改成你自己的)

进入到目录文件夹 cd /usr/local
解压:tar -zxvf mysql-5.7.27-linux-glibc2.12-x86_64.tar.gz
然后重命名:mv mysql-5.7.27-linux-glibc2.12-x86_64 mysql-5.7.27

3、添加系统mysql组合mysql用户

先检查mysql组合用户是否存在,如果没有则需要创建
cat /etc/group | grep mysql

结果:mysql:x:1000:

cat /etc/passwd | grep mysql

结果:mysql:x:990:1000::/home/mysql:/bin/false

如果出现上方这样,则是存在了,如果不存在则创建,命令如下:
groupadd mysql
useradd -r -g mysql mysql

useradd 的命令格式:

useradd [-d home] [-s shell] [-c comment] [-m [-k template]] [-f inactive] [-e expire ] [-p passwd] [-r] name
各个参数详解:
-c:加上备注文字,备注文字保存在passwd的备注栏中。
-d:指定用户登入时的起始目录。
-D:变更预设值。
-e:指定账号的有效期限,缺省表示永久有效。
-f:指定在密码过期后多少天即关闭该账号。
-g:指定用户所属的起始群组。
-G:指定用户所属的附加群组。
-m:自动建立用户的登入目录。
-M:不要自动建立用户的登入目录。
-n:取消建立以用户名称为名的群组。
-r:建立系统账号。
-s:指定用户登入后所使用的shell。
-u:指定用户ID号。

4、安装数据库

创建data数据目录
cd /usr/local/mysql-5.7.27
mkdir data
将/usr/local/mysql-5.7.27的所有者及所属组改为mysql
chown mysql:mysql /usr/local/mysql-5.7.27/
chmod 750 /usr/local/mysql-5.7.27/data
在/usr/local/mysql-5.7/support-files目录下创建my.cnf,内容如下:

# For advice on how to change settings please see
# dev.mysql.com/doc/refman/…
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.
[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
basedir = /usr/local/mysql-5.7.27
datadir = /usr/local/mysql-5.7.27/data
port = 3306
socket = /tmp/mysql.sock
character-set-server=utf8
log-error = /usr/local/mysql-5.7.27/data/mysqld.log
pid-file = /usr/local/mysql-5.7.27/data/mysqld.pid
将my.cnf文件复制到/etc下,如果已经存在了则y覆盖
命令:cp support-files/my.cnf /etc/my.cnf
初始化mysqld
cd /usr/local/mysql-5.7.27
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql-5.7.27 --datadir=/usr/local/mysql-5.7.27/data

把启动脚本放到开机初始化目录里

把启动脚本放到开机初始化目录里
cd /usr/local/mysql-5.7/support-files/
cp mysql.server /etc/init.d/mysql
启动mysql
service mysql start
登录mysql,没有得到初始密码的话,只能去改掉密码

5、改密码步骤

首先关闭mysql服务 service mysql stop
修改 mysql的配置文件my.cnf 添加一行 skip-grant-tables 跳过密码
vim /etc/my.cnf

image.png
保存文件后重启mysql

service mysql start

进入到mysql

mysql -u root

此时出现这个错误信息

image.png
(这样也可以启动
cd /usr/local/mysql-5.7
./bin/mysql -u root -p

原因:这是由于系统默认会查找/usr/bin下的命令,如果这个命令不在这个目录下,当然会找不到命令,我们需要做的就是映射一个链接到/usr/bin目录下,相当于建立一个链接文件。
首先得知道mysql命令或mysqladmin命令的完整路径,比如mysql的路径是:/usr/local/mysql/bin/mysql,我们则可以这样执行命令:
ln -s /usr/local/mysql-5.7/bin/mysql /usr/bin
下面执行
use mysql;
update mysql.user set authentication_string=password('你要修改该的密码') where user='root';
执行成功后,将 /etc/my.cnf中添加的那行代码去掉,重启mysql服务即可
到这里完成了mysql的安装与应用
常用命令:
重启mysql生效
service mysql stop
service mysql start
或者一条命令 service mysql restart

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
1月前
|
存储 Linux 开发工具
Linux环境下使用Buildroot配置软件包
使用Buildroot可以大大简化嵌入式Linux系统的开发和维护工作,但它需要对Linux系统和交叉编译有深入的理解。通过上述步骤,可以有效地配置和定制软件包,为特定的嵌入式应用构建高效、稳定的系统。
193 11
|
3月前
|
存储 监控 Linux
Linux环境锁定关键文件防止误删操作流程。
总结以上内容,在Linux环境下锁定重要文档避免误删涉及到多种技术手段与策略组合运作, 包括但不限于利用chatter指挥官固化文档状态至只读模式、运作ACL精准调整访问权利列表、编排自动化流程简
147 20
|
3月前
|
Linux
Linux环境下的UDEV机制及其与守护进程的关联
实际使用时管理员需要熟悉编写合适udev rules去满足特殊需求;同时也需要注意避免编写过度复杂导致无法预料结果rules.UDEVD虽然稳健但错误配置可能导致无法预料问题因此需谨慎处理相关配置工作.
143 16
|
3月前
|
存储 Linux
Linux环境下删除大文件后磁盘空间未释放问题诊断流程。
以上诊断流程涉及Linux底层机制与高级管理技能结合之处,并需要管理员根据实际环境灵活调整诊断策略与解决方案。
263 8
|
4月前
|
Linux 数据安全/隐私保护 iOS开发
推荐Linux环境下效能优良的双向文件同步工具
综合上述条件,对于Linux环境下的双向文件同步需求,Unison 和 Syncthing 是两个非常出色的选择。它们都有良好的社区支持和文档资源,适用于不同规模的环境,从个人使用到商业部署。Unison 特别适合那些需要手动干预同步过程、需要处理文件冲突解决的场景。而 Syncthing 更加现代化,适合需要自动、实时的数据同步与备份的环境。对于选择哪一个,这将取决于个人的使用场景和具体需求。
512 16
|
4月前
|
安全 应用服务中间件 网络安全
在Linux环境部署Flask应用并启用SSL/TLS安全协议
至此,你的Flask应用应该能够通过安全的HTTPS协议提供服务了。记得定期更新SSL证书,Certbot可以帮你自动更新证书。可以设定cronjob以实现这一点。
330 10
|
3月前
|
Ubuntu 安全 Linux
Ubuntu 24.10 发行版登场:Linux 6.11 内核、GNOME 47 桌面环境
Ubuntu 24.10 还带来了 GNOME 47,增强了性能和稳定性,并引入了新功能。此版本的 Ubuntu 还默认在采用 Nvidia 显卡的硬件上切换到 Wayland,并在支持的硬件上默认使用开源的 Nvidia 560 内核模块。 另外需要注意的是,Ubuntu 24.10 是稳定版本,但作为非 LTS 版本,仅支持 9 个月。
|
3月前
|
安全 Linux 网络安全
Linux系统初步设置本地Git环境和生成SSH密钥的步骤。
现在您的Linux系统已经配置好了Git环境,并创建并添加了SSH密钥,可以安全地与远端仓库进行交互,无论是克隆、推送还是拉取操作。此过程确保了数据传输的安全并使版本控制流程更为顺畅。使用Git时应考虑定期更新并管理您的凭据,以确保安全性。
484 0