2. [手把手教你搭建] 之 在linux上搭建mysql

1. 首先下载mysql安装包,这里一般有如下2种下载方式

  • wgt方式下载:进入服务器中的package目录(注:该目录是我自己创建的,用于存放所有应用的安装包,您也可以随便创建其他名称的目录来存放安装包)
cd /package/ 
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz
  • 您也可以去官网手动下载tar压缩包以后手动上传至服务器端

下载地址:MySQL :: Download MySQL Community Server (Archived Versions)

可以在页面的product version一栏选择您要使用的mysql版本,这里我们演示使用的是5.7.26版本,如下图:

下载后可以使用fastdfs,或命令行的方式上传至服务器指定目录,如scp命令等

2. 解压mysql压缩包到/usr/local/mysql目录

# 在/usr/local文件夹中创建mysql文件夹,存放mysql压缩包中的内容
mkdir /usr/local/mysql 
tar -zxvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz -C /usr/local/mysql

3. 检查mysql是否有用户组以及mysql用户,如果没有就添加用户,有就忽略这一步

groups mysql

命令执行后如图所示即表示没有用户

4. 创建mysql用户组和mysql用户

groupadd mysql useradd -r -g mysql mysql

5. 创建mysql数据目录

mkdir -p /data/mysql

6. 对mysql数据目录赋予权限

chown mysql:mysql -R /data/mysql

7. 编辑mysql配置文件

vim /etc/my.cnf

 #并在文件中的[mysqld]下方加入如下代码

bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql/mysql-5.7.26-linux-glibc2.12-x86_64
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

#同时记得将原本文件中存在的datadir以及socket配置注释掉,注释方式:在行首加一个#号 

8. 初始化mysql

cd /usr/local/mysql/mysql-5.7.26-linux-glibc2.12-x86_64/bin/

./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/mysql-5.7.26-linux-glibc2.12-x86_64/ --datadir=/data/mysql/ --initialize

9. 找到初始密码:

less /data/mysql/mysql.err | grep root@localhost:

执行后如下图所示框选内容即为默认密码(记得保存一下):

10. 启动mysql:

cp /usr/local/mysql/mysql-5.7.26-linux-glibc2.12-x86_64/support-files/mysql.server /etc/init.d/mysql 

service mysql start

11. 当执行service mysql start时,出现以下内容,则表示mysql启动成功了:

12. 重置root密码:这一步可做可不做,如果不觉得之前初始化时自动生成的root密码不好记的话,可以进行root密码的重置操作;反之若需要重置root密码,请看该步骤操作:

cd /usr/local/mysql/mysql-5.7.26-linux-glibc2.12-x86_64/bin/ 

mysql -u root -p

此时需要输入之前复制出来的初始密码,输入完成后,就进入了mysql客户端,此时输入如下命令修改root密码,例如密码为123456:

set password for root@localhost = password('123456');

13. 扩展:取消root用户登录的host限制,即使用root用户登录时,可以在任何一个host进行操作。

#进入mysql客户端
mysql -u root -p
#输入密码完成登陆
#登陆成功,如下代码需要在mysql客户端中输入
#执行如下命令修改root用户登录的host限制
use mysql
update user set host = '%' where user = 'root';
FLUSH PRIVILEGES;
quit
#重启mysql
service mysql restart

14. 创建一个新用户,并授权某个数据库的权限

#登陆到mysql客户端
mysql -u root -p
#输入密码完成登陆...
#登陆成功,如下代码需要在mysql客户端中输入
#创建用户,用户名为xzz,密码为123
CREATE USER 'xzz'@'%' IDENTIFIED BY '123456';
# @后面的%解释如下:
# '%' - 所有来源host都能访问
# 'localhost' - 只有通过本机才能访问
# '255.255.255.255' - 只有通过指定ip才能访问
# 给予用户数据库权限
# 示例:grant all on 数据库名.数据库表 to 用户名@'%'  identified by "密码";
# all 可以替换为 select,delete,update,create,drop
# 数据库名 所有的 用*
# 数据库表 所有的 用*
grant all on testdb.* to xzz@'%'  identified by "123456.*";

至此在linux上搭建mysql就完成了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/6151.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

k8s部署

kubernetes简要 Kubernetes 是用于自动部署, 扩展和管理容器化应用程序的开源系统. 它将组成应用程序的容器组合成逻辑单元, 以便于管理和服务发现 kubernetes功能简介 服务发现和负载均衡 存储编排 自动部署和回滚 自动完成装箱计算 自我修复 密钥与配置管理 Kuberne…

算法题记录

力扣的算法题:1154 给你一个字符串 date ,按 YYYY-MM-DD 格式表示一个 现行公元纪年法 日期。返回该日期是当年的第几天。 示例 1: 输入:date “2019-01-09” 输出:9 解释:给定日期是2019年的第九天。 示例…

【数据结构与算法】查找(Search)【详解】

文章目录查找查找概论一、查找的基本概念顺序表查找一、定义二、算法有序表查找一、折半查找二、插值查找三、斐波那契查找线性索引查找一、稠密索引二、分块索引三、倒排索引二叉树排序与平衡二叉树一、二叉排序树1、定义2、二叉排序树的常见操作3、性能分析二、平衡二叉树1、…

【学习笔记】启示录 - 打造用户喜爱的产品(阅读摘录)

【学习笔记】启示录 - 打造用户喜爱的产品(阅读摘录) 图书信息 Marty Cagan 著 七印部落 译 人员: 负责定义和开发产品的团队成员的角色和职责 流程: 探索、开发富有创意的产品时,反复应用的步骤和成功的实践经验 产品…

Ethernet-APL——网络拓扑结构

| 三种独立的应用场景——适用于短距离小型网络和长距离大型网络! Ethernet-APL(Advanced Physical Layer,高级物理层)是过程工业的新标准。它基于IEEE 802.3cg的10BASE-T1L规范,并通过使用两线制以太网来连接到现场设…

【新2023Q2押题JAVA】华为OD机试 - 最长合法表达式

最近更新的博客 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为od机试,独家整理 已参加机试人员的实战技巧本篇题解:最长合法表达式 题目 提取字…

网管gateway

提到网关,可能大家都有所了解,但是网关具体有什么作用呢??? 不绕关子了,具体作用有以下几点: 对用户请求做身份认证、权限校验将用户请求路由到微服务,并实现负载均衡对用户请求做…

第53章 短信验证服务和登录的前端定义实现

1 向src\router\index.js添加定义 { path: /LoginSms, name: 手机号登录, component: () > import(../views/LoginSmsView.vue) }, { path: /Users/Register, name: 用户注册, component: () > import(../views/Users/RegisterView.vue), }, 2 向src\common\http.api.js添…

【面试】Java集合面试题

文章目录集合容器概述什么是集合集合的特点集合和数组的区别使用集合框架的好处常用的集合类有哪些?List,Set,Map三者的区别?集合框架底层数据结构哪些集合类是线程安全的?Java集合的快速失败机制 “fail-fast”&#…

css 样式开发中遇到的问题

1.文本换行 汉字和英文数字字符适配 word-break: break-all;word-wrap: break-word;text-align: left; 2.文本换行以及出现省略号 word-break: break-word;overflow: hidden;text-overflow: ellipsis; // ...展示display: -webkit-box; // 弹性伸缩盒盒子模型显示-webkit-line…

面试常问的Linux之 I/O 复用

I/O 复用 一、I/O的概念 在Linux系统中,I/O(输入/输出)指的是计算机系统的数据交换过程,包括从外部设备读取数据(输入)和将数据发送到外部设备(输出)。I/O操作是Linux系统中非常重要…

人工智能从来不是一帆风顺的

不久之前,人们还常说,计算机视觉的辨别能力尚不如一岁大的孩子。如今看来,这句话要改写了。 ----- 特伦斯谢诺夫斯基 目录 人工智能初现端倪 人工智能初现 人工智能“第一次危机”——“设计派”行不通 第一次危机破局——学习派初见成效…

Python-np.expand_dims()

1. np.expand_dims 用于扩展数组的维度 执行程序后注意观察中括号[ ]的位置和数量 np.expand_dims(a, axis0)表示在axis0维度处扩展维度,加一层中括号[ ]; np.expand_dims(a, axis1)表示在axis1维度处扩展维度,加一层中括号[ ]; np.expand_dims(a, …

Golang每日一练(leetDay0025)

目录 73. 矩阵置零 Set Matrix Zeroes 🌟🌟 74. 搜索二维矩阵 Search A 2d-Matrix 🌟🌟 75. 颜色分类 Sort Colors 🌟🌟 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Pyth…

大数据领域的发展及其对现实世界的价值

大数据已经成为全球各行业领域不可或缺的一部分,并且其应用不断涌现。尽管很多人最初对“大数据”这一术语表示怀疑和不信任,但大数据技术已经确立了稳定的发展方向。根据调研机构的预测,到2027年,全球大数据市场规模将达到1090亿…

PostgreSQL之Full VACUUM

前面我们介绍了PG中的Concurrent VACUUM,详细请参考PostgreSQL之Concurrent VACUUM,这篇我们继续来了解一下PG中的Full VACUUM。 我们了解Concurrent VACUUM允许在执行的时候仍然允许对正在VACUUM的表进行读取操作,因此这个操作对业务的影响也…

学成在线:第五天(p82-p93)

1、面试:在分片广播中,如何保证多个执行器不会重复执行任务? (虽然有分片序号,但是加入只有两个执行器,有很多任务,这两个执行器得到的分片序号也就只是两个数字,后面的分片是如何能…

蓝桥杯刷题冲刺 | 倒计时11天

作者:指针不指南吗 专栏:蓝桥杯倒计时冲刺 🐾马上就要蓝桥杯了,最后的这几天尤为重要,不可懈怠哦🐾 文章目录1.质因子2.蓝桥王国1.质因子 题目 链接: 1545. 质因子 - AcWing题库 给定一个整数 N…

NexNoSQL Client:Elasticsearch、Redis、MongoDB三合一的可视化客户端管理工具

背景: 工作中我们使用了Elasticsearch作为存储,来支持内容的搜索,Elasticsearch这个软件大家都耳熟能详,它是一个分布式、高扩展、高实时的搜索与数据分析引擎,不仅仅支持文本索引,还支持聚合操作&#xf…

Java面向对象部分 个人学习记录

注:此博客是个人学习记录,会有错的地方,面向对象部分我可能会画很多图来加深我的理解 不引出了,直接开始 class Dog{String name;int age;String type;public Dog(String name,int age,String type){this.namename;this.ageage;this.typetyp…