当前位置: 首页 > news >正文

华为云上安装mysql-5.7.38-极其详细的安装教程

背景 

自己的服务需要安装mysql数据库,之前都是安装在windows上,本次极其详细的介绍安装在华为云服务器上

 

 

1、资源下载

mysql-5.7.38资源下载

 

 

2、 环境检查

## ps -fe | grep mysql

## 如果是有的话,如果仍然需要安装就强行卸载

## 查看mysql 的版本(如果已经安装的话)
## mysql -version

rpm -e --nodeps mysql-libs-5.1.52-1.el6_0.1.x86_64

3、mysql安装 

1)拷贝文件

将下载的文件通过连接工具上传到服务器上

2) 创建目录并解压

##  创建目录
mkdir /usr/local/mysql

## 解压文件并重命名
tar -zxvf mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz

mv mysql-5.7.38-linux-glibc2.12-x86_64 mysql-5.7.38

3)添加mysql用户及对应的组 

## 添加用户组

groupadd mysql

# useradd -r参数表示mysql用户是系统用户,不可用于登录系统
useradd -r -g mysql mysql

## 创建data目录
mkdir /usr/local/mysql/data

# 将/usr/local/mysql/的所有者及所属组改为mysql
chown -R mysql.mysql /usr/local/mysql/

4)创建配置文件

可以直接将/etc路径下创建my.cnf文件

[mysqld]
## 基础位置
basedir = /usr/local/mysql/mysql-5.7.38
## 数据存放位置
datadir = /usr/local/mysql/data
## 端口
port = 3306

socket = /tmp/mysql.sock
## 字符集
character-set-server=utf8

log-error = /usr/local/mysql/data/mysqld.log
pid-file = /usr/local/mysql/data/mysqld.pid

sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
#ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

 5)进行初始化

默认会加载/etc路径下的my.cnf文件,在对应的日志文件中能找到初始化的密码(高版本的mysql会在控制台直接输出)

## 初始化命令为mysqld
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/mysql-5.7.38 --datadir=/usr/local/mysql/data/
## 在日志文件中找到密码方便以后登录和改密
cat /usr/local/mysql/data/mysqld.log

 

 6)执行启动命令

## 执行启动命令
./support-files/mysql.server start

报错如下:

 Starting MySQL ERROR! Couldn‘t find MySQL server (/usr/local/mysql/bin/mysqld_safe)

 这是因为配置中的basedir指定的值不是mysql的根路径,根路径应该是mysqld对应bin文件的上级目录,本例中为/usr/local/mysql/mysql-5.7.38

 继续执行之后,执行成功

 

7)登录并修改密码

到mysql的bin目录中执行msql -u root -p命令

##  当需要输入密码的时候,就是日志中的密码
./mysql -u root -p

 报错如下

./mysql: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory

说明是缺少依赖

## 安装依赖之后重试可以登录
 yum install -y ncurses-compat-libs

 

 

## 重置密码
mysql> set password=password('root');
## 分配远程访问权限
mysql> grant all privileges on *.* to root@'%' identified by 'root';
## 刷新权限
mysql> flush privileges;
# 退出登录
mysql> exit;

8)设置机器启动时候自动启动mysql

将/support-files/mysql.server 复制到/etc/init.d路径下,并通过chkconfig --add xxx添加自动重启

## 复制到自启动路径下
## cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

##  显示服务列表
chkconfig --list

## 添加服务
chkconfig --add mysqld

##  重新查看显示服务列表
chkconfig --list

 PS:当mysqld对应的3.4.5项都是on的话,表示可以重新启动

## 如果是关闭的话,使用下面命令将其开启
chkconfig --level 345 mysqld on

reboot机器,检验是否可以开机重启 

 后面就是在华为云上开通对应的端口,然后其他客户端就能访问了

 

相关文章:

  • vue父子组件传值:父传子、子传父
  • 使用花生壳做内网穿透
  • 基于SSM的学生宿舍管理系统
  • 第二章第六节 ST图与迭代优化
  • Kotlin(九)类、属性、构造函数
  • Java 八股文能不背吗?Java 面试都只是背答案吗?
  • [CC2642R1][VSCODE+Embedded IDE+IAR Build+Cortex-Debug] TI CC2642R1基于VsCode的开发环境
  • JS垃圾回收与内存泄漏
  • MySQL数据库笔记
  • 基于SSM的高校餐厅防疫管理系统
  • y118.第七章 服务网格与治理-Istio从入门到精通 -- Istio流量治理快速入门(四)
  • Linux | 性能问题排查
  • 【微服务容器化】第二章-Docker常用命令
  • 慧差\畸变 zemax示例
  • 硬件控制方法
  • [数据结构]链表的实现在PHP中
  • create-react-app项目添加less配置
  • HashMap剖析之内部结构
  • Java Agent 学习笔记
  • leetcode378. Kth Smallest Element in a Sorted Matrix
  • orm2 中文文档 3.1 模型属性
  • php面试题 汇集2
  • Python利用正则抓取网页内容保存到本地
  • ReactNative开发常用的三方模块
  • 测试如何在敏捷团队中工作?
  • 番外篇1:在Windows环境下安装JDK
  • 紧急通知:《观止-微软》请在经管柜购买!
  • 力扣(LeetCode)965
  • 前嗅ForeSpider教程:创建模板
  • 区块链分支循环
  • 手机端车牌号码键盘的vue组件
  • 限制Java线程池运行线程以及等待线程数量的策略
  • 《码出高效》学习笔记与书中错误记录
  • 昨天1024程序员节,我故意写了个死循环~
  • ​插件化DPI在商用WIFI中的价值
  • !!【OpenCV学习】计算两幅图像的重叠区域
  • # 飞书APP集成平台-数字化落地
  • #AngularJS#$sce.trustAsResourceUrl
  • #if和#ifdef区别
  • (delphi11最新学习资料) Object Pascal 学习笔记---第5章第5节(delphi中的指针)
  • (附源码)计算机毕业设计ssm-Java网名推荐系统
  • (十)【Jmeter】线程(Threads(Users))之jp@gc - Stepping Thread Group (deprecated)
  • (四)库存超卖案例实战——优化redis分布式锁
  • (转)详解PHP处理密码的几种方式
  • (轉貼) UML中文FAQ (OO) (UML)
  • .NET Core Web APi类库如何内嵌运行?
  • .net core 控制台应用程序读取配置文件app.config
  • .NET 除了用 Task 之外,如何自己写一个可以 await 的对象?
  • .NET 的静态构造函数是否线程安全?答案是肯定的!
  • .NET连接MongoDB数据库实例教程
  • .NET面试题(二)
  • .NET中的Exception处理(C#)
  • /etc/fstab和/etc/mtab的区别
  • /var/lib/dpkg/lock 锁定问题
  • /使用匿名内部类来复写Handler当中的handlerMessage()方法