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

linux环境下手动安装mysql

没想到兜兜转转这么些年,今天申请个云服务器用来搭建求生2服务器,先用mysql来测试,结果还是花了相当久的时间。
基本所有单节点部署应用到linux环境,都三个流程:
1 下载安装包
2 解压修改配置文件
3 运行启动脚本
我们按这个流程来说我遇到并解决的问题 ,如果你在过程中遇到什么问题,也请先暂停你的启动流程,移步到最下面的内容,看看是否有和你遇到一样的问题,解决以后继续

1 下载安装流程

进入官网下载对应安装包。
mysql官网
版本号根据你的系统环境来选,一般选择9.0.x比较保守些。操作系统对照图片进行相同选择,还有记得选x86_64的包,应该没人还在用32位的电脑了吧

在这里插入图片描述

选择好后,右键donwnload按钮复制下载连接。

进入linux控制台执行如下命令

wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.28-linux-glibc2.12-i686.tar.xz

或者

curl -O -L https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.28-linux-glibc2.12-i686.tar.xz   #-L是防止跳转网址导致下载失败

执行完下载后,当前目录下就会有你的下载包

2 解压修改配置文件

解压下载包

tar -xvf mysql-8.0.28-linux-glibc2.12-i686.tar.xz

修改my.cnf配置文件
一般是在/etc/这个目录下

[client]
port = 3306
socket = /tmp/mysql.sock

[mysqld]
port = 3306
socket = /tmp/mysql.sock
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
log-error = /usr/local/mysql/mysqld.log
pid-file = /usr/local/mysql/mysqld.pid
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
lower_case_table_names = 1 # 不区分大小写
sql_mode = 'STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO'
default-time_zone = '+8:00'

这是我的配置文件,可以看到我的安装包解压文件路径是在/user/local/mysql路径下,大家可以mv转移到/user/local/mysql路径下,这样就能直接将我的这个文件复制粘贴了。 也可以直接改配置文件到你的解压路径下。

mv ./mysql-8.0.25-linux-glibc2.12-x86_64 /usr/local/mysql

3 运行启动脚本

首先进入bin目录执行mysqld脚本

./bin/mysqld --initialize --user=root

接下来进入support目录执行mysql.server脚本

./mysql.server start

执行完后,mysql就算起起来了
接着就可以用bin目录下的mysql脚本文件访问了。

./mysql -u root -p

第一次登录的密码会显示在你的日志文件中,日志文件路径参照你的配置文件设置中的log-error寻找。
我这里的就是在
/usr/local/mysql/mysqld.log

log-error = /usr/local/mysql/mysqld.log

第一次启动的用户密码
进入后使用

ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘123456’;

修改成你想要的密码

过程中遇到并解决的问题

1 启动mysql脚本出错:mysql: error while loading shared libraries: libncurses.so.6: cannot open …

少依赖库,但是这个问题可以通过降低你安装包的mysql版本解决,重新安装更低版本的mysql包

2 启动mysqld脚本报错 ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/tmp/mysql.sock‘

my.cnf文件可能配置丢失,检查

[mysqld]
port = 3306
socket = /tmp/mysql.sock

socket此项是否设置

3 腾讯云通过公网ip访问mysql失败

1 防火墙设置开放3306端口
在这里插入图片描述
2 登录你的mysql,对当前用户开放外网ip访问权限
8.0以上版本mysql使用如下语句

create user root@'%' identified by '123456';
 
grant all privileges on *.* to root@'%' with grant option;

一切启动完成后就可以愉快访问啦
在这里插入图片描述


http://www.kler.cn/news/303226.html

相关文章:

  • holynix靶机详解
  • PROTOTYPICAL II - The Practice of FPGA Prototyping for SoC Design
  • 【ShuQiHere】快速排序(Quick Sort):揭开高效排序算法的神秘面纱
  • 观察者模式observer
  • pdf 转 jpg
  • 黑马点评15——分布式缓存-Redis分片集群
  • C文件操作
  • Sentinel 使用案例详细教程
  • K8S - Volume - NFS 卷的简介和使用
  • SpringBoot - 入门
  • 【WPF】Popup的使用
  • IO中断原理浅析
  • 分销系统架构文档
  • OpenGL(三)着色器语言GLSL
  • 深度学习速通系列:依存分析
  • 了解计算机安全性【技术、管理与法律】
  • 如何用 OBProxy 实现 OceanBase 的最佳路由策略
  • 算法类学习笔记 ———— 障碍物检测
  • 如何使用Visual Studio的内存诊断工具进行内存泄漏检测
  • 今年的智能手机不仅仅是AI
  • 区块链领航者孙宇晨:驾驭潮流,共绘未来新篇章
  • 基于Spark 的零售交易数据挖掘分析与可视化
  • Java | Leetcode Java题解之第403题青蛙过河
  • mysql一主2从部署
  • 记者协会评审系统-需求分析
  • 苹果CMS vs. 海洋CMS:哪个系统更易于百度收录?
  • 解决:Vue3 - defineProps 设置默认值报错问题
  • CentOS 入门基础
  • LeetCode 2398.预算内的最多机器人数目:滑动窗口+单调队列——思路清晰的一篇题解
  • 工业设备网关在智能工厂建设中发挥的作用,以某汽车制造厂为例