Ubuntu 安装 MySQL8 配置、授权、备份、远程连接

news2025/2/26 1:32:13

目录

  • 0100 系统环境
  • 0200 下载
  • 0300 安装
  • 0400 服务管理
    • 0401 关闭、启动、重启服务
    • 0402 查看服务状态
  • 0500 查看配置文件
  • 0600 账号管理
    • 0601 添加账号
    • 0602 删除账号
    • 0603 修改密码
    • 0604 忘记root密码
  • 0700 自动备份
  • 0800 远程访问

0100 系统环境

[root@localhost ~]# cat /proc/version
Linux version 5.15.0-89-generic (buildd@bos03-amd64-016) (gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0, GNU ld (GNU Binutils for Ubuntu) 2.38) #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023

[root@localhost ~]#
[root@localhost ~]# getconf LONG_BIT
64 

0200 下载

https://dev.mysql.com/downloads/mysql/
https://cdn.mysql.com//Downloads/MySQL-8.2/mysql-server_8.2.0-1ubuntu22.04_amd64.deb-bundle.tar
在这里插入图片描述

# 下载
wget https://cdn.mysql.com//Downloads/MySQL-8.2/mysql-server_8.2.0-1ubuntu22.04_amd64.deb-bundle.tar

0300 安装

# 解压
tar xvf mysql-server_8.2.0-1ubuntu22.04_amd64.deb-bundle.tar

# 安装,注意顺序
sudo dpkg -i mysql-community-client-plugins_8.2.0-1ubuntu22.04_amd64.deb

sudo dpkg -i mysql-community-client-core_8.2.0-1ubuntu22.04_amd64.deb

sudo dpkg -i mysql-common_8.2.0-1ubuntu22.04_amd64.deb

sudo dpkg -i mysql-community-client_8.2.0-1ubuntu22.04_amd64.deb

sudo dpkg -i libmysqlclient22_8.2.0-1ubuntu22.04_amd64.deb 

sudo dpkg -i libmysqlclient-dev_8.2.0-1ubuntu22.04_amd64.deb

sudo dpkg -i mysql-client_8.2.0-1ubuntu22.04_amd64.deb

# 依赖包 如果解压出来没有libaio1这个包,那么直接用apt安装:apt install libaio1
sudo apt install libaio1

# 依赖包
sudo apt install libmecab2

sudo dpkg -i mysql-community-server-core_8.2.0-1ubuntu22.04_amd64.deb

# 这一步要设置root密码,默认root只能localhost连接
sudo dpkg -i mysql-community-server_8.2.0-1ubuntu22.04_amd64.deb

sudo dpkg -i mysql-server_8.2.0-1ubuntu22.04_amd64.deb

# 查看版本
mysql -V
# mysql  Ver 8.2.0 for Linux on x86_64 (MySQL Community Server - GPL)

0400 服务管理

0401 关闭、启动、重启服务

sudo service mysql stop
sudo service mysql start
sudo service mysql restart
# 或者
sudo systemctl stop mysql
sudo systemctl start mysql
sudo systemctl restart mysql

0402 查看服务状态

ps aux | grep mysql
# 或者
sudo service mysql status
# 或者
sudo systemctl status mysql

0500 查看配置文件

which mysql
/usr/bin/mysql
 /usr/bin/mysql --verbose --help | grep -A 1 'Default options'
Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf ~/.my.cnf 
sudo vim /etc/mysql/my.cnf
...
!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
[mysqld]
pid-file    = /var/run/mysqld/mysqld.pid
socket      = /var/run/mysqld/mysqld.sock
datadir     = /var/lib/mysql
log-error   = /var/log/mysql/error.log

也可以连接到mysql查看

mysql -uroot -p
mysql> show variables like '%datadir%';
+---------------+-----------------+
| Variable_name | Value           |
+---------------+-----------------+
| datadir       | /var/lib/mysql/ |
+---------------+-----------------+
1 row in set (0.00 sec)

mysql> show variables like '%log_err%';
+----------------------------+----------------------------------------+
| Variable_name              | Value                                  |
+----------------------------+----------------------------------------+
| binlog_error_action        | ABORT_SERVER                           |
| log_error                  | /var/log/mysql/error.log               |
| log_error_services         | log_filter_internal; log_sink_internal |
| log_error_suppression_list |                                        |
| log_error_verbosity        | 2                                      |
+----------------------------+----------------------------------------+
5 rows in set (0.00 sec)

0600 账号管理

0601 添加账号

# read and write
CREATE USER 'auser'@'%' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'auser'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

# read only
CREATE USER 'ruser'@'%' IDENTIFIED BY '123456';
GRANT SELECT ON *.* TO 'ruser'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

# dump
CREATE USER 'duser'@'localhost' IDENTIFIED BY '123456';
GRANT SELECT, LOCK TABLES, PROCESS ON *.* TO 'duser'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;

0602 删除账号

-- 添加
CREATE USER 'aaa'@'localhost' IDENTIFIED BY '123456';
-- 删除
DROP USER 'aaa'@'localhost';

0603 修改密码

ALTER USER 'auser'@'%' IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY '234567';
FLUSH PRIVILEGES;

0604 忘记root密码

  • 关闭服务,安全模式启动服务,跳过权限检查
# 关闭服务
sudo service mysql stop

# 安全模式启动服务,跳过权限检查
sudo mysqld_safe --skip-grant-tables &
  • 进入数据库,不用输入密码
mysql -uroot -p
--先刷新权限
flush privileges;

-- 修改密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

--再刷新权限
flush privileges;
-- 退出
exit
  • 关闭服务,正常启动,验证
# 关闭服务
sudo service mysql stop

# 正常启动服务
sudo systemctl start mysql

mysql -uroot -p

0700 自动备份

  • 创建备份脚本
vim /usr/bin/mysql_dump.sh
  • 内容如下:
#!/bin/bash
  
name=mysql_dump_`date '+%Y%m%d_%H%M'`.sql.gz
 
mysqldump -uduser-P3306 -p123456 -B dbname | gzip > /bak/db/$name
  • 脚本授权
chmod -R 755 /usr/bin/mysql_dump.sh
  • 添加到定时任务
crontab -e
 
20 1 * * * /usr/bin/mysql_dump.sh

0800 远程访问

# 查看防火墙状态
sudo ufw status

# 关闭防火墙
sudo ufw disable

# 开启防火墙
sudo ufw enable

# 开放端口
sudo ufw allow 3306

# 立即生效
sudo ufw reload

# 查看已开放端口
netstat -ntpl
# 远程连接
mysql -hIP -u账号 -P端口 -p

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

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

相关文章

canvas基础:绘制虚线

canvas实例应用100 专栏提供canvas的基础知识,高级动画,相关应用扩展等信息。 canvas作为html的一部分,是图像图标地图可视化的一个重要的基础,学好了canvas,在其他的一些应用上将会起到非常重要的帮助。 文章目录 示例…

rtmp 协议详解

1. handshake 1.1 概述 rtmp 连接从握手开始。它包含三个固定大小的块。客户端发送的三个块命名为 C0,C1,C2;服务端发送的三个块命名为 S0,S1,S2。 握手序列: 客户端通过发送 C0 和 C1 消息来启动握手过程。客户端必须接收到 S1 消息,然后…

使用 Go 构建高性能的命令行工具

命令行工具(CLI)在软件开发中扮演着重要的角色,尤其是在自动化工具、开发工具链和服务器管理等领域。Go 语言以其简洁性和高性能而闻名,非常适合用来创建强大且高效的 CLI 工具。本文将详细介绍如何使用 Go 语言来构建 CLI 应用&a…

【c++中的四种类型转换,应用场景】

c中的四种类型转换 1.静态转换 &#xff1a; static_cast 用法&#xff1a;static_cast<type_name>(val) 1.基本类型间的转换 enum Day { Mon 1, Tues 2, Wed 3, Thu 4, Fir 5, Sat 6, Sun 7 };int main() {int a 10;char ch t;double dx 21.65;a static_…

来CSDN一周年啦!!!

各位CSDN的uu们你们好呀&#xff0c;今天是小雅兰来到CSDN创作的一周年啦&#xff0c;时间&#xff0c;说长不长&#xff0c;说短也不短&#xff0c;在这一年中&#xff0c;我认为我也收获了一些很有价值的东西吧&#xff01;&#xff01; 一周年了&#xff0c;该创作的还得继续…

正则表达式(基础、常用)

正则&#xff08;RegExp&#xff09;:用于检测字符串是否符合该规则&#xff0c;符合返回值为true,不符合返回值为false 一、定义正则表达式 1、字面量方式 const reg/a/ // 字符串中含有a即可 2、构造函数方式 const reg0new RegExp(a)二、元字符(特殊字符) 1、\d :匹…

1998-2021年全国各区县PM2.5平均浓度数据

1998-2021年全国各区县PM2.5平均浓度数据 1、时间&#xff1a;1998-2021年 2、指标&#xff1a;省、省代码、市、市代码、县代码、县、年份、均值、总和、最小值、最大值、标准差 3、来源&#xff1a;Washington university Atmospheric Composition Analysis Group 4、范围…

【Linux】-信号-(信号的产生,保存,处理,以及os是怎么读取硬件的输入,硬件异常和coredump,定时器的原理简单的用户态和内核态的详细介绍)

&#x1f496;作者&#xff1a;小树苗渴望变成参天大树&#x1f388; &#x1f389;作者宣言&#xff1a;认真写好每一篇博客&#x1f4a4; &#x1f38a;作者gitee:gitee✨ &#x1f49e;作者专栏&#xff1a;C语言,数据结构初阶,Linux,C 动态规划算法&#x1f384; 如 果 你 …

SpringBoot-Vue项目初始搭建

SpringBoot-Vue项目初始搭建 1、项目搭建 前提&#xff1a;配置过nodejs环境&#xff0c;安装了vuecli&#xff08;如果未配置&#xff0c;可以参照此教程&#xff1a;https://www.bilibili.com/video/BV18E411a7mC/ p12&#xff09; 新建文件夹(最好不要有中文) 打开cmd …

AirServer怎么用?如何AirServer进行手机投屏

什么是 AirServer&#xff1f; AirServer 是适用于 Mac 和 PC 的先进的屏幕镜像接收器。 它允许您接收 AirPlay 和 Google Cast 流&#xff0c;类似于 Apple TV 或 Chromecast 设备。AirServer 可以将一个简单的大屏幕或投影仪变成一个通用的屏幕镜像接收器 &#xff0c;是一款…

C语言实现猜数字游戏

前面我们已经了解了分支循环、数据类型及变量的知识点&#xff0c;今天我将用之前学过的知识进行实操&#xff0c;将所学的知识进行巩固和提升。下面的讲解仅我个人认知水平&#xff0c;如有欠缺之处&#xff0c;欢迎大家指正&#xff0c;并且我希望初学者在看完讲解后可以独立…

汇编语言实现音乐播放器

目标程序 用汇编语言实现一个音乐播放器&#xff0c;并支持点歌 Overview 乐曲是按照一定的高低、长短和强弱关系组成的音调&#xff0c;在一首乐曲中&#xff0c;每个音符的音高和音长与频率和节拍有关&#xff0c;因此我们要分别为3首要演奏的乐曲定义一个频率表和一个节拍…

生成带依赖Jar 包的两种常用方式:IDEA打包工具:Artifacts 和 maven-shade-plugin

文章目录 前言1、IDEA打包工具&#xff1a;Artifacts1.1 创建Artifacts1.2 选择第三方jar文件1.3 打包Artifacts1.4 测试jar包 2、maven-shade-plugin2.1、pom文件添加2.2、打包2.3、测试jar包 总结 前言 当我们编写完Java程序后&#xff0c;为了提高执行效率通常会将应用程序…

MySQL5.7安装与配置:自动化一键安装配置

介绍 本文介绍了一个自动化安装MySQL的Shell脚本。该脚本可以帮助用户快速安装MySQL&#xff0c;并自动进行配置和初始化。通过使用该脚本&#xff0c;用户无需手动执行繁琐的安装步骤&#xff0c;大大简化了MySQL的安装过程。 使用shell自动化安装教程 1. 复制脚本 首先&a…

flink源码分析之功能组件(四)-slot管理组件II

简介 本系列是flink源码分析的第二个系列&#xff0c;上一个《flink源码分析之集群与资源》分析集群与资源&#xff0c;本系列分析功能组件&#xff0c;kubeclient&#xff0c;rpc&#xff0c;心跳&#xff0c;高可用&#xff0c;slotpool&#xff0c;rest&#xff0c;metrics&…

零基础打靶—CTF4靶场

一、打靶的主要五大步骤 1.确定目标&#xff1a;在所有的靶场中&#xff0c;确定目标就是使用nmap进行ip扫描&#xff0c;确定ip即为目标&#xff0c;其他实战中确定目标的方式包括nmap进行扫描&#xff0c;但不局限于这个nmap。 2.常见的信息收集&#xff1a;比如平常挖洞使用…

哈夫曼树与并查集

带权路径长度&#xff1a; 哈夫曼树定义&#xff1a; 哈夫曼树的构造&#xff1a; 哈夫曼编码&#xff1a; 并查集&#xff1a; 代码实现&#xff1a;​​​​​​​ 优化&#xff1a;​​​​​​​

ftp的服务安装配置

安装 yum install -y vsftpd # 是否安装成功 rpm -qa | grep vsftpd # 是否开机启动 systemctl list-unit-files | grep vsftpd # 开机启动 systemctl enable vsftpd.service # ftp端口 netstat -antup | grep ftp # 状态 service vsftpd status service vsftpd start service…

mybatis多表查询(xml)

多表查询都用resultMap resultMap 说白了就是他可以手动设置映射参数&#xff0c;例如 可以指定 column代表数据库的参数 property 代表实体类的参数 <id column"roleid" property"id"></id> column代表数据库的参数 property 代表实体类…