【MySQL】在UBuntu环境安装以及免密码登录入门

目录

[一、 获取mysql官⽅yum源](#一、 获取mysql官⽅yum源)

[二、 安装mysql服务](#二、 安装mysql服务)

[三、 MySQL登录](#三、 MySQL登录)

[四、 设置配置文件](#四、 设置配置文件)

[总结不易~ 本章节对我有很大收获,希望对你也是!!!!](#总结不易~ 本章节对我有很大收获,希望对你也是!!!!)


我自己使用的是xshell上连接的华为云服务器是UBuntu的Linux

一、 获取mysql官⽅yum源

http://repo.mysql.com/ 获取mysql官⽅yum源: http://repo.mysql.com/

由于网页问题, 我们选择查看网页源代码进行查看

我悬着下载的是比较新的2025年版本的mysql.deb文件

下载好后就可以拖入Linux机器中,进行安装

二、 安装mysql服务

首先要能在当前目录下看到是否拥有该文件

确保拥有后就可以直接进行安装:选择ok即可

sudo dpkg -i mysql-apt-config_0.8.34-1_all.deb

进行更新apt源:sudo apt update

安装 MySQL 服务:sudo apt install mysql-server -y
验证 MySQL 是否安装成功: mysql --version

bash 复制代码
gem@hcss-ecs-2ed8:~/mysql$ mysql --version
mysql  Ver 8.0.42-0ubuntu0.20.04.1 for Linux on x86_64 ((Ubuntu))

systemctl status mysql

可以看到是安装成功的

三、 MySQL登录

登录上面真的是一波三折,首先就是切换到root用户,进入根目录下的 /etc文件找到mysql文件夹里面的my.cnf文件

vim打开它

在该文件的最后一行进行配置: skip-grant-tables 是绕过密码登录

此时就要重启MySQL服务,然后再次进行登录!如果还是不行的话

方法二:

在root状态下, 我们首先要杀死所有关于mysql 的进程

彻底停止 MySQL 服务: sudo systemctl stop mysql
确认没有残留进程:ps -ef | grep mysqld
如果还有 PID,手动杀掉:sudo kill -9 <PID>

此时你需要创建一个/var/run/mysqld目录下的文件 你需要先创建它并赋予正确权限:

sudo mkdir -p /var/run/mysqld

sudo chown mysql:mysql /var/run/mysqld

然后再启动跳过权限表模式:

sudo mysqld_safe --skip-grant-tables --skip-networking &

现在 MySQL 已经在跳过权限表模式下启动了,你可以直接以 root 用户登录而无需密码:

mysql -u root

启动成功!

这里的命令都要记得加分号(;)

可以查看自己的数据库:show databases;

退出数据库:exit;

四、 设置配置文件

重新回到刚刚在/etc目录下找到mysql文件夹进入my.cnf文件 文件开头配上[mysqld]

此时配日志端口号: port = 3306

设置 MySQL 服务器默认的字符集utf8:character-set-server=utf8

设置 MySQL 新建表默认使用的存储引擎InnoDB:default-storage-engine=innodb

此时为了配置文件生效,那么就需要重启mysql服务

bash 复制代码
# 先停止所有 MySQL 实例
sudo systemctl stop mysql
ps -ef | grep mysqld
sudo kill -9 <残留mysqld进程PID>  # 如果有残留

# 确认 /etc/mysql/my.cnf 中 port=3306 在 [mysqld] 段里
cat /etc/mysql/my.cnf

# 重新启动 MySQL 服务
sudo systemctl start mysql

# 查看端口是否生效
netstat -nltp | grep 3306

检查到端口号3306生效后,说明配置完成了

bash 复制代码
root@hcss-ecs-2ed8:/etc/mysql# netstat -nltp | grep 3306
tcp        0      0 127.0.0.1:33060         0.0.0.0:*               LISTEN      84982/mysqld        
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      84982/mysqld        

五、 设置开机启动[可以不设]

开启开机⾃启动

systemctl enable mysqld
systemctl daemon-reload

事实上这个并没有多大意思,因为我买的云服务器本身就永远不会关机。

总结不易~ 本章节对我有很大收获,希望对你也是!!!!

相关推荐
Trouvaille ~4 小时前
【Linux】网络编程基础(二):数据封装与网络传输流程
linux·运维·服务器·网络·c++·tcp/ip·通信
万邦科技Lafite5 小时前
一键获取京东商品评论信息,item_reviewAPI接口指南
java·服务器·数据库·开放api·淘宝开放平台·京东开放平台
自可乐5 小时前
Milvus向量数据库/RAG基础设施学习教程
数据库·人工智能·python·milvus
旅途中的宽~5 小时前
【深度学习】通过nohup后台运行训练命令后,如何通过日志文件反向查找并终止进程?
linux·深度学习
weixin_307779135 小时前
C#实现两个DocumentDB实例之间同步数据
开发语言·数据库·c#·云计算
盒马coding5 小时前
深度解密MySQL2PG工具MySQL至PostgreSQL语法全景拆解过程
数据库·mysql·postgresql
tb_first5 小时前
万字超详细苍穹外卖学习笔记2
java·jvm·数据库·spring·tomcat·maven
Nandeska5 小时前
13、MySQL半同步复制示例
数据库·mysql
液态不合群6 小时前
【面试题】MySQL 中 count(*)、count(1) 和 count(字段名) 有什么区别?
android·数据库·mysql
ytgytg286 小时前
HC小区管理系统安装,提示redis连接错误
数据库·redis·缓存