ubuntu安装mysql8.0.35过程和报错处理

ubuntu安装mysql8.0.35过程

1.更新包列表:首先,确保您的系统已更新到最新状态。运行以下命令来更新包列表和安装最新的软件包:

sudo apt update
sudo apt upgrade

2.安装MySQL服务器:运行以下命令来安装MySQL服务器:

sudo apt install mysql-server

在安装过程中,系统会要求您设置MySQL root用户的密码。请务必记住这个密码,因为它用于管理MySQL数据库。

#安装指定版本:一旦您找到了要安装的特定版本,可以使用apt命令来安装它。例如,如果您要安装MySQL 5.7版本,可以运行以下命令:

sudo apt install mysql-server=5.7.34-1ubuntu18.04

mysql8.0.35版本

sudo apt install mysql-server=8.0.35-0ubuntu0.22.04.1

阻止自动更新:为了防止系统在以后自动升级MySQL到较新版本,您可以锁定MySQL软件包的版本。使用以下命令来锁定已安装的MySQL软件包:

sudo apt-mark hold mysql-server

3.启动MySQL服务:安装完成后,MySQL服务器将自动启动。您可以运行以下命令来确保MySQL正在运行:

sudo systemctl status mysql

如果MySQL没有启动,您可以使用以下命令手动启动它:

sudo systemctl start mysql

4.设置MySQL安全性:运行以下命令来运行MySQL的安全性脚本,以加强MySQL服务器的安全性并删除一些默认设置:

sudo mysql_secure_installation

5.验证MySQL安装:您可以运行以下命令来验证MySQL是否已成功安装并运行:

sudo mysql -uroot

6.mysql-企业开发使用方式(远程连接)

mysql -u用户名 -p密码 [-h数据库服务器IP地址 -P端口号]
mysql -h192.168.1.1 -P3306-uroot -p123456

MySQL8为一些账户赋予远程访问的权限。

MySQL8.x使用GRANT为用户赋权时报错

问题描述

在安装 MySQL 8.x 的过程中,往往需要为 MySQL 中的一些账户赋予远程访问的权限。

在 MySQL 5.x 的版本中的操作方式

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

在 MySQL 8.x 中版本中按照以上操作:

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IDENTIFIED BY '123456' WITH GRANT OPTION' at line 1

原因分析

通过官网文档的指引可以知道,新版本的 MySQL 8.x 版本已经将创建账户和赋权的方式分开导致以上的命令在 MySQL 8.x 上执行报语法错误。

解决方案

最终解决方案

# 创建账户
CREATE USER '用户名'@'访问主机' IDENTIFIED BY '密码';
# 为创建的账户赋权
GRANT '权限列表' ON '数据库' TO '用户名'@'访问主机';
GRANT ALL ON *.* TO 'root'@'%';
# 刷新
FLUSH PRIVILEGES;

mysql版本:'for the right syntax to use near ‘identified by ‘password’ with grant option’

查询mysql具体版本

SELECT` `@@VERSION

问题分析:

mysql版本8.0.13,在给新用户授权时,发生了变化:

1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘identified by ‘password’ with grant option’ at line 5, Time: 0.000000s

出错的语句:

grant all privileges on *.* to 'root'@'172.16.10.203' identified by  'password' with grant option

修正后的语句:分开三次执行:

#创建账户
create user 'root'@'172.16.10.203' identified by  'password'
#赋予权限,with grant option这个选项表示该用户可以将自己拥有的权限授权给别人
grant all privileges on *.* to 'root'@'172.16.10.203' with grant option
#改密码&授权超用户,flush privileges 命令本质上的作用是将当前user和privilige表中的用户信息/权限设置从mysql库(MySQL数据库的内置库)中提取到内存里
flush privileges;

原因分析:

此版的的mysql版本把将创建账户和赋予权限分开了。

创建账户::create user ‘用户名'@‘访问主机' identified by ‘密码';
赋予权限:grant 权限列表 on 数据库 to ‘用户名'@‘访问主机' ;
with grant option这个选项表示该用户可以将自己拥有的权限授权给别人

MySQL8.x使用GRANT为用户赋权时报错的解决

MySQL8是一款非常流行的关系型数据库管理系统,它的远程访问功能给我们的开发和管理带来了极大的方便。下面是mysql8如何开通远程访问的详细步骤:

  1. 进入MySQL控制台,创建一个新的数据库用户。
CREATE USER 'NewUserName'@'%' IDENTIFIED BY 'Password';
  1. 为该用户授权,允许远程访问该用户所拥有的数据库。
GRANT ALL PRIVILEGES ON `DatabaseName`.* TO 'NewUserName'@'%';
  1. 修改MySQL配置文件,开启远程访问。
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf

找到bind-address 字段,将其值修改为0.0.0.0,即允许任何IP地址访问。

bind-address = 0.0.0.0
  1. 重启MySQL服务。
sudo systemctl restart mysql
  1. 验证远程访问是否成功。

在远程主机上使用mysql客户端连接MySQL服务器。命令格式:mysql -u NewUserName -p -h<服务器IP>,然后输入密码。

mysql -u NewUserName -p -h 192.168.1.100

通过以上步骤,您可以成功开通MySQL8的远程访问功能,访问过程中请注意网络安全。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/141256.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深度学习模型基于Python+TensorFlow+Django的垃圾识别系统

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 要使用Python、TensorFlow和Django构建一个垃圾识别系统&#xff0c;您可以按照以下步骤进行操作&#xff1a; 安装…

vite + electron引入itk报错

代码 import { readImageArrayBuffer } from itk-wasm console.log(readImageArrayBuffer)通过itk-wasm官网&#xff0c;创建新的项目vitevue&#xff08;vue2或者vue3&#xff09;&#xff0c;都没问题。加入electeon后包此错。通过排查&#xff0c;意外找到原因&#xff0c;…

ES常用查询命令

一、基本命令 1、获取所有_cat命令 curl -X GET localhost:9200/_cat 2、获取es集群服务健康状态 curl -X GET localhost:9200/_cat/health?v epoch: 时间戳的 Unix 时间戳格式&#xff0c;表示快照生成的时间。 timestamp: 可读性更强的时间戳格式&#xff0c;表示快照生…

105.am40刷机(linux)折腾记1-前期的准备工作1

前段时间在某鱼上逛的时候&#xff0c;发现一款3399的盒子只要150大洋&#xff0c;内心就开始澎拜&#xff0c;一激动就下手了3台&#xff0c;花了450大洋&#xff08;现在想想&#xff0c;心都碎了一地&#xff09;。 然后自己又来来回回折腾了几天&#xff0c;目前能跑上fire…

数据跨领域应用实例—车辆通行大数据应用场景(二)

2023年10月25日&#xff0c;国家数据局正式揭牌。标志着我国数据基础制度正在不断完善&#xff0c;数据资源使用水平稳步提升&#xff0c;数据要素市场将进入发展快车道。当前&#xff0c;数字经济已成为我国经济高质量发展的新动能&#xff0c;国家数据局的成立&#xff0c;在…

【Orangepi Zero2 全志H616】驱动串口实现Tik Tok—VUI(语音交互)

一、编程实现语音和开发板通信 wiringpi库源码demo.c 二、基于前面串口的代码修改实现 uartTool.huartTool.cuartTest.c 三、ADB adb控制指令 四、手机接入Linux热拔插相关 a. 把手机接入开发板 b. 安装adb工具&#xff0c;在终端输入adb安装指令&#xff1a; sudo apt-g…

抢疯了!OpenAI开出1000万美元天价年薪 北大AI博士未毕业拿百万offer

图片 抢疯了&#xff0c;抢疯了&#xff01;OpenAI和谷歌的抢人大战&#xff0c;已经进入白热化。 OpenAI给谷歌员工抛出了终极诱惑——500万到1000万美元的年薪&#xff01;以及来自微软的用不完的算力&#xff01; 图片 这不&#xff0c;谷歌复仇神器Gemini模型的关键研究…

【chatglm3】(3):在AutoDL上,使用4090显卡,部署ChatGLM3API服务,并微调AdvertiseGen数据集,完成微调并测试成功!附视频演示。

在AutoDL上&#xff0c;使用4090显卡&#xff0c;部署ChatGLM3API服务&#xff0c;并微调AdvertiseGen数据集&#xff0c;完成微调并测试成功&#xff01; 其他chatgpt 和chatglm3 资料&#xff1a; https://blog.csdn.net/freewebsys/category_12270092.html 视频地址&#…

戳气球(算法题Java)

戳气球 题目描述 有 n 个气球&#xff0c;编号为0 到 n-1&#xff0c;每个气球上都标有一个数字&#xff0c;这些数字存在数组 nums 中。 现在要求你戳破所有的气球。如果你戳破气球 i &#xff0c;就可以获得 nums[left] * nums[i] * nums[right] 个硬币。 这里的 left 和 …

ssh秘钥登录

1.设置 SSH 通过密钥登录 密钥形式登录的原理是&#xff1a;利用密钥生成器制作一对密钥——一只公钥和一只私钥。 将公钥添加到服务器的某个账户上&#xff0c;然后在客户端利用私钥即可完成认证并登录。这样一来&#xff0c;没有私钥&#xff0c;任何人都无法通过 SSH 暴力…

【入门Flink】- 08Flink时间语义和窗口概念

Flink-Windows 是将无限数据切割成有限的“数据块”进行处理&#xff0c;这就是所谓的“窗口”&#xff08;Window&#xff09;。 注意&#xff1a;Flink 中窗口并不是静态准备好的&#xff0c;而是动态创建——当有落在这个窗口区间范围的数据达到时&#xff0c;才创建对应的窗…

【云栖2023】王峰:开源大数据平台3.0技术解读

本文根据2023云栖大会演讲实录整理而成&#xff0c;演讲信息如下&#xff1a; 演讲人&#xff1a;王峰 | 阿里云研究员&#xff0c;阿里云计算平台事业部开源大数据平台负责人 演讲主题&#xff1a;开源大数据平台3.0技术解读 实时化与Serverless是开源大数据3.0时代的必然选…

knn 算法简介与python代码片

学习了一些算法理论整理一下&#xff0c;便于记忆 如有帮助&#xff0c;点赞收藏关注 如需转载请注明出处 https://blog.csdn.net/weixin_42362399?spm1000.2115.3001.5343 KNN&#xff08;K Near Neighbor&#xff09;&#xff1a; k个最近的邻居&#xff0c;即每个样本都可…

网络的相关概念介绍

客户端和服务器通常运行在不同的主机上&#xff0c;通过计算机网络的硬件和软件资源来通信。网络是个复杂的系统&#xff0c;这里我们从程序员的角度来介绍一下网络相关的概念。 对主机而言&#xff0c;网络只是一种I/O设备&#xff0c;是数据源和数据接收方。 一个插到I/O总线…

C语言--假设共有鸡、兔30只,脚90只,求鸡、兔各有多少只​

一.题目描述 假设共有鸡、兔30只&#xff0c;脚90只&#xff0c;求鸡、兔各有多少只&#xff1f; 二.思路分析 本题是一个典型的穷举法例题&#xff0c;而穷举法&#xff0c;最重要的就是条件判断。⭐⭐ 本题中的条件很容易发现&#xff1a; 假设鸡有x只&#xff0c;兔有y只…

Redis RedisTemplate 的 execute()方法

Redis 批量操作 如果频繁地使用Redis&#xff0c;比如在 for循环中调用 redis&#xff0c;有时可能会报错&#xff1a; Could not get a resource from the pool。 这是因为 Redis的连接数是有限的&#xff0c;打开了Redis的连接&#xff0c;用完记得要关闭&#xff0c;如果连…

calico

calico:默认是ip-ip模式&#xff0c; ipip 开销小 vxlan模式&#xff1a;后期版本才支持 不会创建虚拟交换机 Calico 是一种用于构建和管理容器网络的开源软件定义网络&#xff08;SDN&#xff09;解决方案。它专门设计用于在容器和虚拟机之间提供高性能、高可扩展性和灵活的…

Leetcode154. Find Minimum in Rotated Sorted Array II

旋转数组找最小&#xff0c;这次值可以重复 不妨假设你已经做了上一题&#xff0c;题解 上一题的方法1肯定是用不了了&#xff0c;因为不再能完全分成2个不同的部分 所以我们沿着方法2走 如果 > n u m s [ r ] >nums[r] >nums[r]&#xff0c;我们依然可以找右半边 …

Clickhouse学习笔记(10)—— 查询优化

单表查询 Prewhere 替代 where prewhere与where相比&#xff0c;在过滤数据的时候会首先读取指定的列数据&#xff0c;来判断数据过滤&#xff0c;等待数据过滤之后再读取 select 声明的列字段来补全其余属性 简单来说就是先过滤再查询&#xff0c;而where过滤是先查询出对应…

Docker快速安装kafka

创建zk docker run -d --name zookeeper-server \-e ALLOW_ANONYMOUS_LOGINyes \bitnami/zookeeper:latest创建kafka docker run -d --name kafka-server \-p 9092:9092 \-e ALLOW_PLAINTEXT_LISTENERyes \-e KAFKA_CFG_ZOOKEEPER_CONNECTzookeeper-server:2181 \-e KAFKA_CF…