Linux 下 mysql 9.1 安装设置初始密码 【附脚本】

news2024/11/13 16:34:55

文章目录

      • 1.下载合适版本
      • 2.安装
      • 3.初始密码,并允许远程登录
      • 4.终极脚本
      • 5.其他常用sql

概述:本文介绍 Linux 下如何安装 mysql 9.1 并设置初始密码,不想看步骤内容,安装好后直接到脚本部分,复制脚本到mysql服务器设置即可。

1.下载合适版本

https://dev.mysql.com/downloads/mysql/

  • 例如我的下载:
    https://cdn.mysql.com//Downloads/MySQL-9.1/mysql-server_9.1.0-1ubuntu22.04_amd64.deb-bundle.tar

2.安装


例 UBuntu 22.4:

  • 上传到服务器解压,中间缺什么依赖装什么即可
[jn@jn mysql]$ ls
mysql-server_9.1.0-1ubuntu22.04_amd64.deb-bundle.tar
[jn@jn mysql]$ tar -xvf mysql-server_9.1.0-1ubuntu22.04_amd64.deb-bundle.tar
libmysqlclient24_9.1.0-1ubuntu22.04_amd64.deb
libmysqlclient-dev_9.1.0-1ubuntu22.04_amd64.deb
mysql-client_9.1.0-1ubuntu22.04_amd64.deb
mysql-common_9.1.0-1ubuntu22.04_amd64.deb
mysql-community-client_9.1.0-1ubuntu22.04_amd64.deb
mysql-community-client-core_9.1.0-1ubuntu22.04_amd64.deb
mysql-community-client-plugins_9.1.0-1ubuntu22.04_amd64.deb
mysql-community-server_9.1.0-1ubuntu22.04_amd64.deb
mysql-community-server-core_9.1.0-1ubuntu22.04_amd64.deb
mysql-community-server-debug_9.1.0-1ubuntu22.04_amd64.deb
mysql-community-test_9.1.0-1ubuntu22.04_amd64.deb
mysql-community-test-debug_9.1.0-1ubuntu22.04_amd64.deb
mysql-server_9.1.0-1ubuntu22.04_amd64.deb
mysql-testsuite_9.1.0-1ubuntu22.04_amd64.deb
[jn@jn mysql]$ sudo dpkg -i *.deb
(Reading database ... 298729 files and directories currently installed.)
Preparing to unpack libmysqlclient24_9.1.0-1ubuntu22.04_amd64.deb ...
Unpacking libmysqlclient24:amd64 (9.1.0-1ubuntu22.04) over (9.1.0-1ubuntu22.04) ...
Preparing to unpack libmysqlclient-dev_9.1.0-1ubuntu22.04_amd64.deb ...
...
...
Setting up mysql-server (9.1.0-1ubuntu22.04) ...
Setting up mysql-testsuite (9.1.0-1ubuntu22.04) ...
Processing triggers for libc-bin (2.35-0ubuntu3.8) ...
Processing triggers for man-db (2.10.2-1) ...
[jn@jn mysql]$ 

CentOS 貌似如下:

rpm -ivh *.rpm

-i :安装
-v :可视化
-h :显示进度


3.初始密码,并允许远程登录

默认无密码,需手动设置

[jn@jn mysql]$ sudo mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 9.1.0 MySQL Community Server - GPL

Copyright (c) 2000, 2024, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'dujn123456';
Query OK, 0 rows affected (0.00 sec)

mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> UPDATE user SET host='%' WHERE user='root';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

mysql> quit
Bye
[jn@jn mysql]$ sudo systemctl restart mysql.service
[jn@jn mysql]$ sudo mysql -uroot -pdujn123456 -h 192.168.3.35
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 9.1.0 MySQL Community Server - GPL

Copyright (c) 2000, 2024, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> quit
Bye
[jn@jn mysql]$

解释上述操作:

  • 修改密码:ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH caching_sha2_password BY ‘dujn123456’;

  • 切换数据库:use mysql;

  • 允许所有IP访问:UPDATE user SET host=’%’ WHERE user=‘root’;

  • 刷新权限和用户数据:FLUSH PRIVILEGES;

    (Re-reads the privileges from the grant tables in the mysql system schema.)

    详见 https://dev.mysql.com/doc/refman/8.4/en/flush.html#flush-privileges

  • host 和 user

host 字段的常用设置选项
host 字段可以配置特定的主机名或 IP 地址,也可以使用通配符来控制访问范围:

User ValueHost ValuePermissible Connections
‘fred’‘h1.example.net’fred, connecting from h1.example.net
‘’‘h1.example.net’Any user, connecting from h1.example.net
‘fred’‘%’fred, connecting from any host
‘’‘%’Any user, connecting from any host
‘fred’‘%.example.net’fred, connecting from any host in the example.net domain
‘fred’‘x.example.%’fred, connecting from x.example.net, x.example.com, x.example.edu, and so on
‘fred’‘198.51.100.177’fred, connecting from the host with IP address 198.51.100.177
‘fred’‘198.51.100.%’fred, connecting from any host in the 198.51.100 class C subnet
‘fred’‘198.51.100.0/255.255.255.0’Same as previous example

详细可见: https://dev.mysql.com/doc/refman/8.4/en/connection-access.html


4.终极脚本

setup_mysql.sh

#!/bin/bash

# 检查是否提供了密码参数
if [ -z "$1" ]; then
    echo "请提供新密码作为参数。"
    echo "使用示例: $0 your_pass_word"
    exit 1
fi

NEW_PASSWORD=$1

# 运行 SQL 命令
sudo mysql << EOF
-- 修改 root 用户密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY '$NEW_PASSWORD';

-- 切换到 mysql 数据库
USE mysql;

-- 允许所有 IP 访问 root 用户
UPDATE user SET host='%' WHERE user='root';

-- 刷新权限
FLUSH PRIVILEGES;
EOF

# 检查是否成功执行
if [ $? -eq 0 ]; then
    echo "MySQL 配置已更新。"
else
    echo "配置失败。"
fi

运行脚本即可:

[jn@jn mysql]$ sudo sh setup_mysql.sh dujingning123
MySQL 配置已更新。
[jn@jn mysql]$ sudo mysql -uroot -pdujingning123 -h 192.168.3.35
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 9.1.0 MySQL Community Server - GPL

Copyright (c) 2000, 2024, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> quit
Bye
[jn@jn mysql]$

5.其他常用sql

  • 查看当前的host及用户信息匹配顺序,先host顺序匹配、后user顺序匹配
mysql> SELECT authentication_string, host, user,account_locked FROM user ORDER BY host desc ,user desc;
+------------------------------------------------------------------------+-----------+------------------+----------------+
| authentication_string                                                  | host      | user             | account_locked |
+------------------------------------------------------------------------+-----------+------------------+----------------+
| $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | localhost | mysql.sys        | Y              |
| $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | localhost | mysql.session    | Y              |
| $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | localhost | mysql.infoschema | Y              |
| $A$005$,:A1Pu]
                7
W{QOZinSOkbuGwF8uhFbOq2nmMd76bqbMm0f1JCcijX1pa6 | %         | root             | N              |
+------------------------------------------------------------------------+-----------+------------------+----------------+
4 rows in set (0.00 sec)

mysql>
  • 看当前用户连接方式 和 当前用户认证方式
mysql> select user(),CURRENT_USER();
+-------------------+----------------+
| user()            | CURRENT_USER() |
+-------------------+----------------+
| root@192.168.3.35 | root@%         |
+-------------------+----------------+
1 row in set (0.00 sec)

mysql>

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

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

相关文章

yarn报错`warning ..\..\package.json: No license field`:已解决

出现这个报错有两个原因 1、项目中没有配置许可证 在项目根目录package.json添加 {"name": "next-starter","version": "1.0.0",# 添加这一行"license": "MIT", }或者配置私有防止发布到外部仓库 {"priv…

批量缓存模版

批量缓存模版 缓存通常有两种使用方式&#xff0c;一种是Cache-Aside&#xff0c;一种是cache-through。也就是旁路缓存和缓存即数据源。 一般一种用于读&#xff0c;另一种用于读写。参考后台服务架构高性能设计之道。 最典型的Cache-Aside的样例&#xff1a; //读操作 da…

亚信安全并购亚信科技交易正式完成

亚信安全与亚信科技联合宣布&#xff0c;亚信安全正式完成对亚信科技的控股权收购&#xff0c;由此&#xff0c;规模近百亿的中国最大的软件企业之一诞生&#xff01;双方将全面实现公司发展战略&#xff0c;以及优势能力与资源的深度融合&#xff0c;形成业界独有的“懂网、懂…

MybatisPlus入门(十)MybatisPlus-逻辑删除和多记录操作

一、Mybatis-Plus 多记录操作 按照主键删除多条记录 List<Long> ids Arrays.asList(new Long[]{2,3}) userDao.deleteBatchIds(ids); 示例代码如下: Testvoid testDelete(){//删除指定多条数据List<Long> list new ArrayList<>();list.add(14025513424818…

【css】overflow: hidden效果

1. 不添加overflow: hidden 1.1 效果 上面无圆角 1.2 代码 <template><view class"parent"><view class"child1">child1</view><view class"child2">child2</view></view></template><…

「QT」几何数据类 之 QPolygonF 浮点型多边形类

✨博客主页何曾参静谧的博客&#x1f4cc;文章专栏「QT」QT5程序设计&#x1f4da;全部专栏「VS」Visual Studio「C/C」C/C程序设计「UG/NX」BlockUI集合「Win」Windows程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「PK」Parasolid…

架构篇(04理解架构的演进)

目录 学习前言 一、架构演进 1. 初始阶段的网站架构 2. 应用服务和数据服务分离 3. 使用缓存改善网站性能 4. 使用应用服务器集群改善网站的并发处理能力 5. 数据库读写分离 6. 使用反向代理和CDN加上网站相应 7. 使用分布式文件系统和分布式数据库系统 8. 使用NoSQL和…

OpenCV基础05_GUI和PyMsql

目录 一、PySimpleGUI 1、布局和窗口 2、文本框组件 3、视频处理 4、图片处理 二、pymsql 1、数据库操作 2、数据采集 3、人脸识别 一、PySimpleGUI PySimpleGUI 是一个用于简化 GUI 编程的 Python 包&#xff0c;它封装了多种底层 GUI 框架&#xff08;如 tkinter、…

ModuleNotFoundError: No module named ‘_ssl‘ centos7中的Python报错

报错 ModuleNotFoundError: No module named ‘_ssl’ 解决步骤&#xff1a; 1.下载openssl wget https://www.openssl.org/source/openssl-3.0.7.tar.gz tar -zxvf openssl-3.0.7.tar.gz cd openssl-3.0.72.编译安装 ./config --prefix/usr/local/openssl make make install3…

外呼系统只需这 3 种功能,电销效率快速提升

在当今竞争激烈的商业环境中&#xff0c;电销团队面临着诸多挑战。如何提高电销效率&#xff0c;成为了企业关注的焦点。今天&#xff0c;小编就给大家介绍&#xff0c;沃创云三种外呼系统功能&#xff0c;让你的电销效率快速提升。 一、智能拨号功能 传统的电销方式中&#x…

18. Mouse 鼠标、KeyBoard 键盘和 Action 消息事件处理

在本节的例子中&#xff0c;会自定义很多UI控件实现不同的事件响应&#xff0c;如下图所示&#xff1a; IOKit 事件框架 事件流程 OS X的事件依赖 IOKit 框架&#xff0c;事件发生后首先会传递到IOKit框架中处理&#xff0c;然后通知Window Server服务层处理&#xff0c;由…

C# 实现对指定句柄的窗口进行键盘输入的实现

在C#中实现对指定句柄的窗口进行键盘操作&#xff0c;可以通过多种方式来实现。以下是一篇详细的指南&#xff0c;介绍如何在C#中实现这一功能。 1. 使用Windows API函数 在C#中&#xff0c;我们可以通过P/Invoke调用Windows API来实现对指定窗口的键盘操作。以下是一些关键的…

Spring Plugin与策略模式:打造动态可扩展的应用

目录 一、策略模式 二、Spring Plugin 2.1 Spring Plugin 实现策略模式开发 2.2 策略模式优缺点 三、Spring Plugin 原理 一、策略模式 策略模式是一种设计模式&#xff0c;它允许程序在运行中动态的选择不同的行为方式进行动态执行。策略模式的核心思想是将行为封装在一个个…

Word大珩助手:超大数字怎么读?35位数字?69位数字?

俄罗斯日前对谷歌开出了20000000000000000000000000000000000&#xff08;35位数字&#xff09;美元的罚款 这一数字远超全球GDP总和&#xff0c;消息一出很快就登上热搜。 面对这样一个庞大的数字&#xff0c;人们不禁好奇&#xff0c;这样的数字该如何读出来&#xff1f; …

asp.net文件防盗链

URLRewriter实现 可以参考下面的文章 代码 .net framework 新建asp.net framework的web项目&#xff0c;新建AntiTheftChainHandler using System.Web;namespace AntiTheftChainStu01.Handler {public class AntiTheftChainHandler : IHttpHandler{public bool IsReusable…

【含开题报告+文档+PPT+源码】基于SSM的蛋糕店销售管理系统的设计与实现

开题报告 在现代社会&#xff0c;蛋糕作为一种受欢迎的甜点&#xff0c;广泛应用于各种庆祝活动和节日。传统的蛋糕预订方式往往需要用户亲自到店面进行预订&#xff0c;预订流程繁琐&#xff0c;时间和地点限制也给用户带来了不便。随着智能手机和移动互联网的普及&#xff0…

政治经济学笔记

【拯救者】政治经济学速成&#xff08;基础习题&#xff09; 研究生产关系必须联系生产力和上层建筑 1.生产力与生产关系 生产力代表生产的物质内容&#xff0c;生产关系是生产的社会形式。生产力决定生产关系&#xff0c;生产关系对生产力具有 反作用 *其中的”反作用”指的是…

005.精读《B-Tree vs LSM-Tree》

文章目录 1. 引言&#xff1a;2. 精读2.1 性能指标2.2 B-tree2.3 LSM-tree2.4 性能对比 3. 写在最后 1. 引言&#xff1a; 在本期的技术深度解析中&#xff0c;我们将聚焦于数据领域的两个重要成员——B-Tree和LSM-Tree。这两种数据结构在数据管理系统中最为普遍且广泛采用的数…

关于 el-table 的合计行问题

目录 一.自定义合计行 二.合计行不展示&#xff0c;只有缩放/变大窗口或者F12弹出后台时才展示 三.合计行出现了表格滚动条下方 四.合计行整体样式的修改 五.合计行单元格样式修改 1.css 2.jsx方式 六.合计行单元格合并 一.自定义合计行 通过 show-summary 属性开启合计…

C++ | Leetcode C++题解之第554题砖墙

题目&#xff1a; 题解&#xff1a; class Solution { public:int leastBricks(vector<vector<int>>& wall) {unordered_map<int, int> cnt;for (auto& widths : wall) {int n widths.size();int sum 0;for (int i 0; i < n - 1; i) {sum wi…