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

目录

  • 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.debsudo dpkg -i mysql-community-client-core_8.2.0-1ubuntu22.04_amd64.debsudo dpkg -i mysql-common_8.2.0-1ubuntu22.04_amd64.debsudo dpkg -i mysql-community-client_8.2.0-1ubuntu22.04_amd64.debsudo dpkg -i libmysqlclient22_8.2.0-1ubuntu22.04_amd64.deb sudo dpkg -i libmysqlclient-dev_8.2.0-1ubuntu22.04_amd64.debsudo dpkg -i mysql-client_8.2.0-1ubuntu22.04_amd64.deb# 依赖包 如果解压出来没有libaio1这个包,那么直接用apt安装:apt install libaio1
sudo apt install libaio1# 依赖包
sudo apt install libmecab2sudo 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.debsudo 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 mysqlmysql -uroot -p

0700 自动备份

  • 创建备份脚本
vim /usr/bin/mysql_dump.sh
  • 内容如下:
#!/bin/bashname=mysql_dump_`date '+%Y%m%d_%H%M'`.sql.gzmysqldump -uduser-P3306 -p123456 -B dbname | gzip > /bak/db/$name
  • 脚本授权
chmod -R 755 /usr/bin/mysql_dump.sh
  • 添加到定时任务
crontab -e20 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.mzph.cn/news/192277.shtml

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

相关文章

338. 比特位计数

338. 比特位计数 和1相与就是1的个数。 class Solution {public int[] countBits(int n) {int[] count new int[n1];for(int i0; i<n;i) {int ji;int cnt 0;while(j!0){if((j&1) ! 0)cnt ;j>>1;}count[i] cnt;}return count;} }

【Python常用的循环】

Python 中有多种类型的循环语句&#xff0c;通常情况下&#xff0c;使用哪种循环取决于迭代对象的类型和循环的逻辑需要。下面是 Python 中常用的循环语句&#xff1a; for 循环&#xff1a;用于遍历序列&#xff08;如列表、元组、字符串&#xff09;或其他可迭代对象中的每一…

AD生产BOM表时如何隐藏不需要的器件记录

在完成图纸设计号通常需要生产BOM表&#xff0c;以便采购等&#xff0c;如果不做一些操作&#xff0c;往往输出的BOM表中包含一些非需要采购的器件&#xff0c;如下图 这时就需要对原理图或者PCB图做一些处理&#xff0c;以原理图为例&#xff0c;在需要屏蔽的器件上双击&#…

Nginx实现多虚拟主机配置

Nginx实现多虚拟主机配置 Nginx为什么要进行多虚拟主机配置呢&#xff1f;what&#xff1f; Nginx实现多虚拟主机配置的主要原因是&#xff0c;一个服务器可能会承载多个网站或应用程序&#xff0c;这些网站或应用程序需要使用不同的域名或IP地址来进行访问。如果只有一个虚拟…

Linux /etc/hosts文件

Linux的 /etc/hosts 文件用于静态地映射主机名到 IP 地址。 通常用于本地网络中的名称解析&#xff0c;它可以覆盖 DNS 的设置。当你访问一个域名时&#xff0c;系统会首先检查 /etc/hosts 文件&#xff0c;如果找到了匹配项&#xff0c;就会使用该 IP 地址&#xff0c;否则会…

ctfhub技能树_web_web前置技能_HTTP

目录 一、HTTP协议 1.1、请求方式 1.2、302跳转 1.3、Cookie 1.4、基础认证 1.5、响应包源代码 一、HTTP协议 1.1、请求方式 注&#xff1a;HTTP协议中定义了八种请求方法。这八种都有&#xff1a;1、OPTIONS &#xff1a;返回服务器针对特定资源所支持的HTTP请求方法…

通过查看ThreadLocal的源码进行简单理解

目录 为什么要使用ThreadLocal&#xff1f; 简单案例 ThreadLocal源码分析 断点跟踪 为什么要使用ThreadLocal 在多线程下&#xff0c;如果同时修改公共变量可能会存在线程安全问题&#xff0c;JDK虽然提供了同步锁与Lock等方法给公共访问资源加锁&#xff0c;但在高并发…

力扣 --- H指数

题目描述&#xff1a; 给你一个整数数组 citations &#xff0c;其中 citations[i] 表示研究者的第 i 篇论文被引用的次数。计算并返回该研究者的 h 指数。 根据维基百科上 h 指数的定义&#xff1a;h 代表“高引用次数” &#xff0c;一名科研人员的 h 指数 是指他&#xff…

【HDFS】调试慢节点pipiline ack信息

Client - DN1 - DN2 - DN3 DN3 send ack:[0][d3]。 DN2 send ack: [从dn2入队到收到dn3的ack耗时,0] [d2,d3]。 DN1 send ack: [pkt从dn1入队到收到dn2的ack耗时,pkt从dn2入队到收到dn3的ack耗时,0] [d1,d2,d3]。 Client receive: 就是DN1发送过来数据。 客户端收到的第一个…

【论文笔记】Universal Guidance for Diffusion Models

Abstract 典型的扩散模型经过训练以接受特定形式的条件作用&#xff08;最常见的是文本&#xff09;&#xff0c;并且如果不经过重新训练就不能接受其他形式的条件的作用。 这项工作中提出了一种通用制导算法(universal guidance algorithm)&#xff0c;使扩散模型能够通过任意…

python弹球小游戏

import pygame import random# 游戏窗口大小 WIDTH 800 HEIGHT 600# 定义颜色 WHITE (255, 255, 255) BLACK (0, 0, 0) RED (255, 0, 0) GREEN (0, 255, 0) BLUE (0, 0, 255)# 球的类 class Ball:def __init__(self):self.radius 10self.speed [random.randint(2, 4),…

ElasticSearch之Delete index API

删除指定的索引。 同时删除索引关联的数据、分片、元数据等相关的资源&#xff0c;因此执行前需要慎重。 命令样例如下&#xff1a; curl -X DELETE "https://localhost:9200/testindex_003?pretty" --cacert $ES_HOME/config/certs/http_ca.crt -u "elasti…

4-Docker命令之docker pause

1.docker pause介绍 docker pause命令是用来暂停docker容器中的所有进程 2.docker pause用法 docker pause [参数] container [container......] [root@centos79 ~]# docker pause --helpUsage: docker pause CONTAINER [CONTAINER...]Pause all processes within one or …

DELL EMC unity 存储系统日志收集方法

对于一些非简单的硬件故障&#xff0c;解决故障最有效、最快速的方法就是收集日志&#xff0c;而不是瞎搞。常见的乱搞方法就是 1. reimage系统‘ 2. 更换控制器&#xff1b;3&#xff0c; 重启。 本文详细介绍了图形界面GUI和命令行CLI下如何收集DELL EMC Unity日志的方法和常…

Spring Cloud笔记 —— 什么是Spring Cloud?

引言&#xff1a; 在写这篇博客之前&#xff0c;其实吧&#xff0c;博主很久之前有过一段时间的Spring Cloud的案例项目开发经验&#xff0c;就是一个案例项目开发而已&#xff0c;也说不上有多高大上&#xff0c;那个时候&#xff0c;我其实也是从众而已罢了&#xff0c;毕竟现…

微信小程序:input双向绑定

微信小程序&#xff1a;input双向绑定 微信小程序&#xff1a;input双向绑定1 数据容器准备2 输入组件准备3 逻辑代码准备4 总结实战示例1.wxml文件导入2.js文件导入 微信小程序&#xff1a;input双向绑定 <说明> PS&#xff1a;该笔记采用渐进式编程&#xff0c;使每一步…

LLM;超越记忆《第 2 部分 》

一、说明 在这篇博客中&#xff0c;我深入研究了将大型语言模型&#xff08;LLM&#xff09;提升到基本记忆之上的数学框架。我们探索了动态上下文学习、连续空间插值及其生成能力&#xff0c;揭示了 LLM 如何理解、适应和创新超越传统机器学习模型。 LLM代表了人工智能的重大飞…

DDD系列 - 第4讲 从架构师的角度看待DDD - 一个关于拆解、微服务、面向对象的故事(二)

目录 第3次拆解 - 面向对象分析与设计3.1 交互入口实现层3.2 面向对象分析3.2.1 根据业务映射类3.2.2 对象持久化仓库3.2.3 自定义属性类3.2.4 类间的关联关系3.2.5 分包提升内聚、包内指定入口类降低耦合3.2.6 定义交互出口3.3 流程编排 & 业务编排3.4 交互出口实现层 &am…

基于相关性的四种机器学习聚类方法

在这篇文章中&#xff0c;基于20家公司的股票价格时间序列数据。根据股票价格之间的相关性&#xff0c;看一下对这些公司进行分类的四种不同方式。 苹果&#xff08;AAPL&#xff09;&#xff0c;亚马逊&#xff08;AMZN&#xff09;&#xff0c;Facebook&#xff08;META&…

TCP简介及特性

1. TCP协议简介 TCP是Transmission Control Protocol的简称&#xff0c;中文名是传输控制协议。它是一种面向连接的、可靠的、基于IP的传输层协议。两个TCP应用之间在传输数据的之前必须建立一个TCP连接&#xff0c;TCP采用数据流的形式在网络中传输数据。TCP为了保证报文传输的…