Ubuntu20安装mysql方法,适用于wsl

ops/2024/9/20 9:21:59/

itopen组织
1、提供OpenHarmony优雅实用的小工具
2、手把手适配riscv + qemu + linux的三方库移植
3、未来计划riscv + qemu + ohos的三方库移植 + 小程序开发
4、一切拥抱开源,拥抱国产化

一、Ubunt20安装mysql

适用于wsl中安装mysql

sudo apt update# 查看可使用的安装包
sudo apt search mysql-server# 安装最新版本
sudo apt install -y mysql-server
# 安装指定版本
sudo apt install -y mysql-server-8.0

二、启动/重启/停止mysql

sudo systemctl start mysql
sudo systemctl restart mysql
sudo systemctl stop mysql

三、开机自动启动

sudo systemctl enable mysql

四、检查mysql状态

sudo systemctl status mysql

五、修改密码、权限

# 进入mysql
sudo mysql# 修改密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456aA';# 修改权限
GRANT privileges ON databasename.tablename TO 'username'@'host';
GRANT privileges ON databasename.tablename TO 'wen_fei'@'host';# 退出数据库
exit
quit;

注意:配置8.0版本参考:我这里通过这种方式没有实现所有IP都能访问;我是通过直接修改配置文件才实现的,MySQL8.0版本把配置文件 my.cnf 拆分成mysql.cnf 和mysqld.cnf,我们需要修改的是mysqld.cnf文件:

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

修改 bind-address,保存后重启MySQL即可。

bind-address            = 0.0.0.0

重启MySQL重新加载一下配置:

sudo systemctl restart mysql

六、修改 MySQL 数据库存储数据的位置

sudo service mysql stop
sudo mkdir -p /data/mysql
sudo cp -ar /var/lib/mysql /data/mysql
sudo chown -R mysql:mysql /data/mysql# 修改MySQL的配置文件中datadir路径, 默认是/var/lib/mysql
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
datadir = /data/mysql# 只是修改MySQL的配置文件是不行的, 因为Ubuntu有访问控制系统apparmor, 所以还需要修改与该访问控制系统相关的文件
sudo vi /etc/apparmor.d/usr.sbin.mysqld
# 查找到以下内容, 大致在60行左右
/var/lib/mysql/ r,
/var/lib/mysql/** rwk,
# 并将其修改为:
/data/mysql/ r,
/data/mysql/** rwk,# 修改访问控制文件
sudo vim /etc/apparmor.d/abstractions/mysql
# 查到到以下内容,大致在12行:
/var/lib/mysql{,d}/mysql{,d}.sock rw
# 并将其修改为:
/data/mysql{,d}/mysql{,d}.sock rw# 重启apparmor服务
sudo service apparmor restart# 重启MySQL服务
sudo service mysql start

七、登录数据库

mysql -u root -p
# 输入密码
Enter password: 123456aA

八、创建数据库

# 登录数据库
mysql -u root -p
# 输入密码
Enter password: 123456aA# 创建数据库
Create database 数据库名 default character set utf8;# 例如创建exam数据库
Create database exam default character set utf8;

九、删除数据库

# 登录数据库
mysql -u root -p
# 输入密码
Enter password: 123456aA# 删除数据库
DROP DATABASE [ IF EXISTS ] <数据库名>;# 例如删除exam数据库
DROP DATABASE IF EXISTS exam;

十、查看用户

# 查看所有用户
select user from mysql.user;# 查看当前登录用户
select user();

十一、创建用户

CREATE USER 'username'@'host' IDENTIFIED BY 'password';
# 例如创建用户
CREATE USER 'wen_fei'@'host' IDENTIFIED BY '123456aA';

十二、给用户授权

GRANT privileges ON databasename.tablename TO 'username'@'host';GRANT all ON exam.* TO 'wen_fei'@'host';

http://www.ppmy.cn/ops/54955.html

相关文章

通信技术在反无人机中的作用探析

智能无人系统使得无人机在某些特定任务和情境下可以实现一定程度的自治操作。但对于更复杂的任务和决策&#xff0c;如军事操作或灾害响应&#xff0c;即使无人机具有高级的人工智能&#xff0c;也可能需要人的干预。因此&#xff0c;通信技术在反无人机技术中起着关键的作用。…

VUE项目安全漏洞扫描和修复

npm audit 1、npm audit是npm 6 新增的一个命令,可以允许开发人员分析复杂的代码并查明特定的漏洞。 2、npm audit名称执行&#xff0c;需要包package.json和package-lock.json文件。它是通过分析 package-lock.json 文件&#xff0c;继而扫描我们的包分析是否包含漏洞的。 …

OpenCV 车牌检测

OpenCV 车牌检测 级联分类器算法流程车牌检测相关链接 级联分类器 假设我们需要识别汽车图像中车牌的位置&#xff0c;利用深度学习目标检测技术可以采取基于锚框的模型&#xff0c;但这需要在大量图像上训练模型。 但是&#xff0c;级联分类器可以作为预训练文件直接使用&…

【HarmonyOS NEXT】鸿蒙多线程Sendable开发

非共享模块在同一线程内只加载一次&#xff0c;在不同线程间会加载多次&#xff0c;单例类也会创建多次&#xff0c;导致数据不共享&#xff0c;在不同的线程内都会产生新的模块对象。 基础概念 Sendable协议 Sendable协议定义了ArkTS的可共享对象体系及其规格约束。符合Sen…

计算机网络网络层复习题1

一. 单选题&#xff08;共27题&#xff09; 1. (单选题)以太网 MAC 地址、IPv4 地址、IPv6 地址的地址空间大小分别是&#xff08; &#xff09;。 A. 2^48&#xff0c;2^32&#xff0c;2^128B. 2^32&#xff0c;2^32&#xff0c;2^96C. 2^16&#xff0c;2^56&#xff0c;2^6…

Android C++系列:JNI常见问题

1. 背景 本文整理了JNI开发中常见的问题和解决方案。 2. 编译时指定SDK版本问题 智能语音交互SDK工程模块编译时指定的ANDROID_PLATFORM统一是23:-DANDROID_PLATFORM=23,ndk使用的是版本是17,在手上现有设备跑的都没问题,但是在一个新采购的temi移动机器人上跑不起来,定…

[附源码]最新springboot线上电商|前后端分离|界面简洁

一. 前言 今天小编给大家带来了一款可学习&#xff0c;可商用的&#xff0c;线上电商的网站源码&#xff0c;支持二开&#xff0c;无加密。代码的后端是SpringBoot技术栈&#xff08;非jsp&#xff09;&#xff0c;前端是Angular。如果您需要定制需求请找小编。 文章第六小节…

《前端攻城狮 · 从 Nuxt 前端框架开篇》

&#x1f4e2; 大家好&#xff0c;我是 【战神刘玉栋】&#xff0c;有10多年的研发经验&#xff0c;致力于前后端技术栈的知识沉淀和传播。 &#x1f497; &#x1f33b; 近期刚转战 CSDN&#xff0c;会严格把控文章质量&#xff0c;绝不滥竽充数&#xff0c;如需交流&#xff…

Linux 64位系统运行32位程序

1、原理分析 Linux 64位系统运行32位程序的原理主要涉及到系统架构的兼容性、库文件的支持以及特定的运行环境设置。 1.1 系统架构兼容性 x64与x86的区别&#xff1a; x86是Intel于1985年推出的32位指令集架构&#xff0c;后被AMD、VIA等厂商广泛采用。x64&#xff08;也称为…

免费可视化工具助力旅游数据分析

在这个数据驱动的时代&#xff0c;旅游行业正以前所未有的速度转型升级&#xff0c;从传统的资源导向转变为精准服务与个性化体验为核心。面对海量的旅游数据&#xff0c;如何高效、直观地挖掘其价值&#xff0c;成为旅游企业提升竞争力、优化游客体验的关键。 在过去&#xff…

Stable Diffusion秋叶AnimateDiff与TemporalKit插件冲突解决

文章目录 Stable Diffusion秋叶AnimateDiff与TemporalKit插件冲突解决描述错误描述&#xff1a;找不到模块imageio.v3解决&#xff1a;参考地址 其他文章推荐&#xff1a;专栏 &#xff1a; 人工智能基础知识点专栏&#xff1a;大语言模型LLM Stable Diffusion秋叶AnimateDiff与…

GPIO和PIN

文章目录 1 GPIO和Pin1.1 GPIO和Pin基础概念1.2 GPIO输入模式1.3 GPIO输出模式1.4 GPIO的HAL库1.4.1 一些HAL库表示1.4.2 HAL库常用GPIO函数1.4.3 GPIO点亮led灯程序例子 1 GPIO和Pin 1.1 GPIO和Pin基础概念 ​ 单片机有很多的引脚&#xff0c;为了操控每一个引脚&#xff0c…

开源模型应用落地-FastAPI-助力模型交互-WebSocket篇(六)

一、前言 使用 FastAPI 可以帮助我们更简单高效地部署 AI 交互业务。FastAPI 提供了快速构建 API 的能力,开发者可以轻松地定义模型需要的输入和输出格式,并编写好相应的业务逻辑。 FastAPI 的异步高性能架构,可以有效支持大量并发的预测请求,为用户提供流畅的交互体验。此外,F…

VSCode中常用的快捷键

通用操作快捷键 显示命令面板&#xff1a;Ctrl Shift P or F1&#xff0c;用于快速访问VSCode的各种命令。 快速打开&#xff1a;Ctrl P&#xff0c;可以快速打开文件、跳转到某个行号或搜索项目内容。 新建窗口/实例&#xff1a;Ctrl Shift N&#xff0c;用于打开一个新的…

c++初级-2-引用

文章目录 引用一、引用的定义二、引用做函数参数三、引用作为返回对象四、引用的本质五、常量引用 引用 即给一个变量起别名。 一、引用的定义 int a 10;//引用int& b a;cout << "a " << a << endl;cout << "b " <&l…

Leetcode 450:删除二叉搜索树中的节点

给定一个二叉搜索树的根节点 root 和一个值 key&#xff0c;删除二叉搜索树中的 key 对应的节点&#xff0c;并保证二叉搜索树的性质不变。返回二叉搜索树&#xff08;有可能被更新&#xff09;的根节点的引用。 一般来说&#xff0c;删除节点可分为两个步骤&#xff1a; 首先…

新一代Java框架Quarkus的性能优化与应用

新一代Java框架Quarkus的性能优化与应用 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01; 引言 随着云原生技术的发展&#xff0c;Java开发者们对于构建轻量级、…

【回溯算法经典题目解析】

1. 什么是回溯算法 回溯算法是⼀种经典的递归算法&#xff0c;通常用于解决组合问题、排列问题和搜索问题等。 回溯算法的基本思想&#xff1a;从一个初始状态开始&#xff0c;按照⼀定的规则向前搜索&#xff0c;当搜索到某个状态⽆法前进时&#xff0c;回退到前⼀个状态&am…

SVM对鸢尾花(Iris)数据集进行分类的项目代码

&#x1f383;支持向量机&#xff08;SVM&#xff09;是一种强大的分类算法&#xff0c;它通过找到数据点之间的最优边界来区分不同的类别。SVM在许多应用中表现出色&#xff0c;包括图像识别、生物信息学和文本分类等。以下是使用Python和scikit-learn库实现SVM分类器的示例代…

实现List接口的ArrayList和LinkedList

package study;import java.util.*;public class day01_list {public static void main(String[] args) {// <Integer> 这个尖括号表示的是 Java 的泛型&#xff08;Generics&#xff09;// 泛型是 Java 5 引入的一项特性&#xff0c;它允许你在 类、接口和方法 中使用类…