Ubuntu 安装 Mysql【详细步骤】

2023-11-13

主要内容

本文主要是实现在虚拟机 Ubuntu 18.04 成功安装 MySQL 5.7,并实现远程访问功能,以 windows 下的 workbench 作为客户端访问虚拟机上的 mysql 数据库。

切换至 root 用户 :sudo -i , 本文全部 shell 终端指令均执行在 root 用户下。
查询 Ubuntu 18.04 中是否已有 mysql 相关文件及数据,最好清除干净,清理步骤可参考链接:卸载清理 mysql 文件

安装并设置 mysql

安装 mysql

查询指令dpkg -l | grep mysql
安装指令apt install mysql-server
查询 mysql 是否安装成功netstat -tap | grep mysql ,状态显示 LISTEN 表示安装成功。
在这里插入图片描述

此处下载的 mysql 版本为 5.7

登录 mysql ,通过该命令:mysql -u root -p,不用输入密码,Enter 进入数据库后,界面如下:
在这里插入图片描述

设置 mysql

对数据库进行设置,指令如下:mysql_secure_installation
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述查看 mysql 状态:systemctl status mysql
在这里插入图片描述

首次登录数据库

如果登录失败,可能的错误:

登录 mysqlmysql -u root -p,输入之前设置的密码。

  1. 显示当前数据库:SHOW DATABASES;
  2. 使用 mysql : USE mysql;
  3. 显示 当前数据库的表格:SHOW TABLES;
  4. 读取 user 表格中的数据:SELECT * FROM user;

mysql 数据库命令最好使用大写,文件及数据符号使用小写,便于区分。

配置远程访问

修改配置文件

配置远程访问 mysqlvim /etc/mysql/mysql.conf.d/mysqld.cnf
注释掉 : bind-address = 127.0.0.1
vim 编辑器下注释掉改行指令,并保存退出。
在这里插入图片描述

mysql 授予权限

再次进入数据库,配置授权权限mysql -u root -p

grant all on *.* to root@'%' identified by '设置密码' with grant option; # 授予权限
flush privileges;     	#刷新权限 
quit ; 					#退出数据库

在这里插入图片描述

重启 mysql

重启 mysql 服务:systemctl restart mysql;

测试远程访问

建立访问连接

查看 Ubuntu 中 mysql 端口
登录进入 mysql 中,使用指令:SHOW VARIABLES LIKE 'port'
在这里插入图片描述
查看当前 Ubuntu IP :ifconfig
在这里插入图片描述
inet 处的地址为要链接的 IP


workbench 安装:windows workbench 下载并安装

workbench 远程连接
此处客户端使用 windows 下的 mysql 客户端 workbench 远程访问 linux Ubuntu中的数据库。
在这里插入图片描述

输入之前授予权限时 设定的密码

workbench 访问

mysql 中创建 database

CREATE DATABSE mydata(数据库名称) [character set utf8 (编码方式)] ;  # 以 utf8 编码集
创建数据库(方便显示中文),不指定,则默认以数据库安装时的 latin1 为编码方式

SHOW DATABASES;    #显示当前数据库

USE mydata;         #使用刚刚创建的 mydata 数据库

CREATE TABLE users(username char (50) NULL,passwd char(50) NULL); #创建表格

# 存储数据
INSERT INTO users(username, passwd) VALUES('liming','123');
INSERT INTO users(username, passwd) VALUES('张三','123');

在 mysql 中生成表格 并 添加数据
在这里插入图片描述
在这里插入图片描述
Ubuntu mysql 中存储的数据
在这里插入图片描述
windows 下 workbench 中访问到的数据
在这里插入图片描述

在 Ubuntu 的 mysql 中创建数据库使用的是 utf8 编码,因此 workbench也需要使用 utf8 来解码,否则可能会显示错误。更大概率是 数据库是不使用 utf8 编码,中文无法存储,会报错

workbench 增删查改

使用以下指令并执行在 workbench 中添加数据,并在 Ubuntu 中查看:
在这里插入图片描述
在这里插入图片描述
可以看到在 windows 中 workbench 下的数据修改是有效的,在 Ubuntu 中可以看到!!!

如果浏览到最后,有用就点个赞嘞【抱拳】

参考

  1. Ubuntu18.04下安装MySQL
  2. Ubuntu18.04 安装MySQL
  3. windows下的mysql客户端mysqlworkbench 链接虚拟机上CentOS的mysql服务器
  4. Ubuntu 使用MySQL Workbench 连接远程云服务器MySQL
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ubuntu 安装 Mysql【详细步骤】 的相关文章

  • 当sql连接中存在两个同名列时,如何从一个表列中获取值

    当我连接两个具有相同名称列的表时 我目前面临着尝试获取值的问题 例如 table1 date和table2 date 每个表中的日期不同 我将如何获取 日期 本例中的表1 我目前正在跑步 while row mysqliquery gt f
  • 为什么这会返回资源 id #2? [复制]

    这个问题在这里已经有答案了 可能的重复 我如何从 PHP 中的 MySql 响应中 回显 资源 id 6 https stackoverflow com questions 4290108 how do i echo a resource
  • docker repo 解决映像构建期间的错误错误(检查存储库文件)

    我在构建 docker 映像时遇到问题 并尝试了不同的 DNS 选项 但似乎运气不佳 Docker版本1 9 1 构建a34a1d5 回购还活着 为了运行我使用的容器docker run dns 192 168 1 1 d ti name
  • InnoDB 因读未提交而死锁! - Java - Glassfish - EJB3(JPA/Hibernate)

    几天来 我在使用 Glassfish EJB3 和 Mysql InnoDB 的 Java 应用程序上遇到了死锁问题 配置 Mysql InnoDB Ver 14 12 Distrib 5 0 51a 适用于 debian linux gn
  • 在内核代码中查找函数的最佳方法[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我开始浏览内核代码 遇到的一件事是如何跟踪函数调用 结构定义等 有没有一种好的方法可以快速跳转到函数定义并退出 我尝试过 Source N
  • 创建反应应用程序:npm 错误!解析“...”附近时 JSON 输入意外结束

    描述错误 npx create react app my app不适合我 我试过npm cache clean force但我一次又一次地遇到同样的错误 重现步骤 npm cache clean force npm npx create r
  • 有没有一种快速方法可以从 Jar/war 中删除文件,而无需提取 jar 并重新创建它?

    所以我需要从 jar war 文件中删除一个文件 我希望有类似 jar d myjar jar file I donot need txt 的内容 但现在我能看到从 Linux 命令行执行此操作的唯一方法 不使用 WinRAR Winzip
  • MySQL 按重复项从上到下排序

    我有一个lammer问题 因为我不是mysql专业人士 我有类似的字段 id color 1 red 2 green 3 yellow 4 green 5 green 6 red 我想按重复项进行分组 最常见的重复项先进行分组 所以应该这样
  • 如何使用 JSch 将多行命令输出存储到变量中

    所以 我有一段很好的代码 我很难理解 它允许我向我的服务器发送命令 并获得一行响应 该代码有效 但我想从服务器返回多行 主要类是 JSch jSch new JSch MyUserInfo ui new MyUserInfo String
  • Mysql 创建定义器

    我创建了一个在 CentOS Web 服务器上运行的 Intranet Web 应用程序 该应用程序使用另一个本地服务器 始终是 CentOS 作为 MySQL 数据库 在数据库内部我创建了例程 这些例程总是这样开始 CREATE DEFI
  • MySQL 查询计算上个月

    我想计算上个月的订单总额 我收到了从当前日期获取当月数据的查询 SELECT SUM goods total AS Total Amount FROM orders WHERE order placed date gt date sub c
  • PHP 通过 SSL 连接到 MS SQL

    我想要实现的目标非常简单 我想通过安全连接从 PHP 脚本连接到外部 MS SQL 数据库 然而 这已被证明是有问题的 到目前为止 经过三个小时的研究 我不知所措 客户端的平台是Ubuntu 这意味着我无法使用SQLSRV 安全连接已经在不
  • 比特纳米。重置mysql根密码

    我如何重置 MySQL 中的 root 密码和帐户 因为我按照如何为其他服务器授予权限的说明操作 并且意外地将 root 用户 Mysql 绑定到其他 IP 地址 现在看来我无法在 localhost 上以管理员身份登录 Thanks 您有
  • 适用于 Linux 的轻量级 IDE [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 在 C 中使用单个消息队列是否可以实现双向通信

    我希望服务器向客户端发送一些消息 并让客户端确认它 我被分配了这个任务 我可以在 C linux 中使用单个消息队列来完成它还是我需要创建两个 谢谢 是的 可以使用 sysV 消息队列来做到这一点 从您之前的问题来看 您正在使用该队列 您可
  • 如何使用 Perl 更改 mysql 密码

    我需要使用 Perl 脚本更改一些 mysql 密码 以下内容在更改数据库条目时有效 但是当我针对 mysql 用户更改修改它时 它将它们重置为空白密码 最后 刷新权限 也很好 但我还没有找到方法 usr bin perl use DBI
  • 一次从多个表中删除行

    我正在尝试将 2 个查询合并为一个这样的查询 result db gt query DELETE FROM menu WHERE name new or die db gt error result db gt query DELETE F
  • 如何为 Linux 桌面条目文件指定带有相对路径的图标?

    对于我的一个 Linux 应用程序 我有应用程序二进制文件 一个 launcher sh 脚本 针对 LD LIBRARY PATH 和一个 desktop 文件 所有这些都位于同一文件夹中 我想使用图标的相对路径而不是绝对路径 我试过了
  • 通过 Visual Studio 2017 使用远程调试时 Linux 控制台输出在哪里?

    我的Visual Studio 2017 VS2017 成功连接Linux系统 代码如下 include
  • 如何修改现有表以添加时区

    我有一个包含 500 多个表的大型应用程序 我必须将应用程序转换为时区感知 当前应用程序使用new java util Date GETDATE 与服务器的时区 即没有任何时区支持 我已将这项任务分为几个步骤 以便于开发 我确定的第一个步骤

随机推荐

  • c++智能指针

    智能指针是一种用于管理动态分配的内存的工具 它可以自动地不再需要时释放内存 智能指针目的 避免内存泄漏和释放已经释放的内存 用法 会在堆上分配内存 并在不再需要时自动释放 通常会跟踪指向堆上对象的引用计数 并在引用计数为0时自动释放内存
  • linux软连接显示broken link

    解决方案 sudo ln s 源文件 目标文件 注 两者必须为绝对路径
  • 关于测试用例

    测试专栏 软件测试的基本概念 关于软件测试 作为一个测试人员 这些基础知识必不可少 目录 一 测试用例的基本要素 1 什么是测试用例 2 为什么软件测试人员要写测试用例 二 测试用例的设计方法 1 基于需求设计测试用例 2 具体设计测试用例
  • docker制作镜像,导出导入本地镜像等初级指南

    首先安装 docker 1 prepare 更改 yum 源加快安装环境 添加下面 yum 源 docker ce stable name Docker CE Stable basearch baseurl https mirrors al
  • 当绘图遇上Caché之元数据代理

    很久以前到沈阳实习的时候还一个个问度娘C 画图 画了电路图绘制软件的毕业设计 雪花屏保等等 搞LIS软件后绘制各种仪器图 对C 画笔 画字符串 画线 画圆等等耳熟能详 然而却碰到一个问题 我们的仪器大部分是盒子用数据库M连接的 如果盒子仪器
  • micropython RX8025T 驱动简单演示

    我就知道可能八百年会有一位大哥来找这个驱动 让我来猜猜为啥用这个 嫌一般的RTC不够精准是吧 想用个带温度补偿的试试 代码拿去 其实巨简单的 没啥好说的 而且只有基本功能 from micropython import const impo
  • 容器的docker-compose怎样写agent.jar配置

    在 Docker Compose 文件中配置 Java Agent 例如 agent jar 的方式与之前的环境变量类似 您可以使用 environment 字段来设置 Java 环境变量 包括 javaagent 参数来指定 Java A
  • 【C++】string使用

    文章目录 1 为什么要学习string类 2 标准库中的string类 2 1了解string类 2 2string类常用的接口 2 2 1 构造和析构相关 2 2 2 迭代器 2 2 3 容量相关 2 2 4 元素访问 元素遍历 元素访问
  • 生命在于学习——未授权访问漏洞

    声明 本篇文章只是用于记载学习笔记 学习交流 不可用作其他违规用途 一 简介 未授权访问可以理解为需要安全配置或权限认证的地址 授权页面存在缺陷 导致其他用户可以直接访问 从而引发重要权限可被操作 数据库 网站目录等敏感信息泄露 目前主要存
  • 静态对象(全局+局部+静态对象成员)

    所有的静态对象 全局对象都于静态存储区分配 关于全局对象 是在main 函数执行前就分配好了的 其实 在main 函数中的显示代码执行之前 会调用一个由编译器生成的 main 函数 而 main 函数会进行所有全局对象的的构造及初始化工作
  • C++ auto遍历无法直接修改map的数据

    对于std map 当使用for auto it myMap 这种范围循环形式时 实际上是使用了const迭代器进行遍历 这意味着你无法通过该迭代器直接修改std map中的值 范围循环使用的是容器的begin 和end 函数返回的迭代器
  • 【数据结构--链表】反转链表

    题目描述 代码实现 Definition for singly linked list struct ListNode int val struct ListNode next struct ListNode reverseList str
  • JavaScript如何调用摄像头

    如何使用浏览器调用摄像头 在JavaScript中使用浏览器调用摄像头会使用到以下方法 navigator getUserMedia video true audio false success error 参数1 是一个对象包含摄像头和麦
  • 二叉树的重构

    二叉树的重构是指给定二叉树的先序遍历 中序遍历 后序遍历中的任意两者 要求恢复二叉树的结构 其中 除非二叉树是真二叉树 即任一节点要么具有两个子节点 要么没有子节点 否则 必须要有中序遍历才能恢复二叉树的结构 先序遍历 中序遍历 后序遍历
  • 寒假培训——简单搜索

    A 捉迷藏1 dfs bfs简单搜索 题目 Title A 捉迷藏1 Time Limit 1s Description 王吉吉和袁坑坑在一个n m大小的房间里捉迷藏 王吉吉躲起来了 现在袁坑坑要去抓他 地图中 W 代表王吉吉 Y 代表袁坑
  • STM32速成笔记—DMA

    文章目录 一 什么是DMA 二 DMA有什么作用 三 STM32的DMA 3 1 DMA请求 3 2 DMA通道 3 3 仲裁器 四 DMA配置 4 1 DMA配置步骤 4 2 DMA结构体成员 五 DMA配置程序 5 1 ADC1初始化程
  • 4行代码计算9999的阶乘

    转载自 http blog csdn net liangbch article details 3230428 本文来源于csdn2001年的一个帖子 题目是有谁可以用四行代码求出1000000的阶乘 见 http topic csdn n
  • MySQL数据库增删改查及安全值守操作

    我在本篇文章中整理了一些MySQL数据库 表 字段的增删改查和安全值守操作的常用语句 以便同学们保存和快捷查询 详细如下 1 用户的查看 创建 删除 以username为Superman password为123123为例 用户的创建cre
  • python模拟登录京东网页

    目标网站 京东网首页登录 目标网址 https www jd com 任务要求 1 导入selenium库 并使用该库驱动Chrom浏览器 完成请求 2 驱动浏览器对象 找到登录按钮 点击 3 在新页面中选择账号登录 4 找到用户名和密码输
  • Ubuntu 安装 Mysql【详细步骤】

    文章目录 主要内容 安装并设置 mysql 安装 mysql 设置 mysql 首次登录数据库 配置远程访问 修改配置文件 mysql 授予权限 重启 mysql 测试远程访问 建立访问连接 workbench 访问 workbench 增