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

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 手把手教你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

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
10天前
|
关系型数据库 MySQL Linux
Linux环境下MySQL数据库自动定时备份实践
数据库备份是确保数据安全的重要措施。在Linux环境下,实现MySQL数据库的自动定时备份可以通过多种方式完成。本文将介绍如何使用`cron`定时任务和`mysqldump`工具来实现MySQL数据库的每日自动备份。
28 3
|
10天前
|
监控 关系型数据库 MySQL
Linux环境下MySQL数据库自动定时备份策略
在Linux环境下,MySQL数据库的自动定时备份是确保数据安全和可靠性的重要措施。通过设置定时任务,我们可以每天自动执行数据库备份,从而减少人为错误和提高数据恢复的效率。本文将详细介绍如何在Linux下实现MySQL数据库的自动定时备份。
24 3
|
17天前
|
关系型数据库 MySQL Docker
docker环境下mysql镜像启动后权限更改问题的解决
在Docker环境下运行MySQL容器时,权限问题是一个常见的困扰。通过正确设置目录和文件的权限,可以确保MySQL容器顺利启动并正常运行。本文提供了多种解决方案,包括在主机上设置正确的权限、使用Dockerfile和Docker Compose进行配置、在容器启动后手动更改权限以及使用 `init`脚本自动更改权限。根据实际情况选择合适的方法,可以有效解决MySQL容器启动后的权限问题。希望本文对您在Docker环境下运行MySQL容器有所帮助。
32 1
|
20天前
|
关系型数据库 MySQL Linux
Linux系统如何设置自启动服务在MySQL数据库启动后执行?
【10月更文挑战第25天】Linux系统如何设置自启动服务在MySQL数据库启动后执行?
64 3
|
安全 Linux 测试技术
配置Goby工具环境(win,linux,macOS)
配置Goby工具环境(win,linux,macOS)
801 2
|
6天前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
25 3
|
6天前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
19 2
|
14天前
|
缓存 监控 Linux