Ubuntu系统环境搭建(七)——Ubuntu安装MySQL8.0

ubuntu环境搭建专栏🔗点击跳转

Ubuntu系统环境搭建(七)——Ubuntu安装MySQL8.0

文章目录

  • Ubuntu系统环境搭建(七)——Ubuntu安装MySQL8.0
    • 1、安装
      • 1.1、下载
      • 1.2、解压安装
    • 2、配置工作
      • 2.1、基本设置
        • 2.1.1、文件夹重命名
        • 2.1.2、PATH 变量
        • 2.1.3、确认安装
      • 2.2、创建用户组、用户
      • 2.3、数据目录
    • 3、初始化 & 启动
      • 3.1、配置文件
      • 3.2、初始化
      • 3.3、启动 MySQL
        • 3.3.1、启动服务
        • 3.3.2、登录
      • 3.4、修改密码
    • 4、远程连接 MySQL
      • 4.1、创建远程连接用户

1、安装

1.1、下载

cd /usr/local/

/usr/local/ 下执行,下载资源包

wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.32-linux-glibc2.12-x86_64.tar.xz

1.2、解压安装

tar -Jxvf mysql-8.0.32-linux-glibc2.12-x86_64.tar.xz

2、配置工作

2.1、基本设置

2.1.1、文件夹重命名

重命名 MySQL 文件夹

mv mysql-8.0.32-linux-glibc2.12-x86_64 mysql8

2.1.2、PATH 变量

vim /etc/profile

在最下面追加

export PATH=$PATH:/usr/local/mysql8/bin

重载环境变量

source /etc/profile

2.1.3、确认安装

查看版本

mysql --version

有报错就先执行下面的指令

sudo apt-get install libtinfo5

确定 MySQL 安装成功后,可删除压缩包。

rm -rf mysql-8.0.32-linux-glibc2.12-x86_64.tar.xz

2.2、创建用户组、用户

注:需要进入 /usr/local

创建用户组groupadd

groupadd mysql

创建用户useradd-r 创建系统用户,-g 指定用户组)

useradd -r -g mysql mysql

2.3、数据目录

创建目录

mkdir -p /data/mysql8_data

赋予权限

更改属主和数组

chown -R mysql:mysql /data/mysql8_data

更改模式 只有具有 root 权限的用户和 mysql 用户可以读取、写入和执行

chmod -R 700 /data/mysql8_data

3、初始化 & 启动

3.1、配置文件

/usr/local/etc/ 下创建 my.cnf 配置文件用于初始化 MySQL 数据库

vim /usr/local/etc/my.cnf

文件内容如下。

[mysql]
# 默认字符集
default-character-set=utf8mb4
[client]
# 客户端使用的端口号
port=3306
# 客户端连接的 socket 路径
socket=/tmp/mysql.sock
[mysqld]
# 服务端使用的端口号
port=3306
# 服务器 ID
server-id=3306
# MySQL 运行用户
user=mysql
# 日志时间系统时间
log_timestamps=SYSTEM
# 默认时区东八区
default-time_zone='+8:00'
# 服务器连接的 socket 路径
socket=/tmp/mysql.sock
# MySQL 安装目录
basedir=/usr/local/mysql8
# 数据存放目录
datadir=/data/mysql8_data/mysql
# 开启二进制日志功能
log-bin=/data/mysql8_data/mysql/mysql-bin
# InnoDB 数据文件存放目录
innodb_data_home_dir=/data/mysql8_data/mysql
# InnoDB 日志文件存放目录
innodb_log_group_home_dir=/data/mysql8_data/mysql
# MySQL 错误日志文件路径
log-error=/data/mysql8_data/mysql/mysql.log
# 存放 MySQL 进程 ID 的文件路径
pid-file=/data/mysql8_data/mysql/mysql.pid
# 表名大小写不敏感
lower_case_table_names=1
# 服务端字符集
character-set-server=utf8mb4
# 自动提交所有事务
autocommit=1
# 跳过排它锁定
skip-external-locking
# 键缓存大小
key_buffer_size=256M
# 允许的最大数据包大小
max_allowed_packet=1M
# 表缓存
table_open_cache=1024
# 排序缓存大小
sort_buffer_size=4M
# 网络缓冲区长度
net_buffer_length=8K
# 读取缓冲区大小
read_buffer_size=4M
# 随机读取缓冲区大小
read_rnd_buffer_size=512K
# MyISAM 排序缓冲区大小
myisam_sort_buffer_size=64M
# 线程缓存大小
thread_cache_size=128
# 临时表大小
tmp_table_size=128M
# 启用显式默认时间戳
explicit_defaults_for_timestamp=true
# 最大连接数
max_connections=500
# 连接错误最大数量
max_connect_errors=100
# 打开文件限制
open_files_limit=65535
# 二进制日志格式
binlog_format=mixed
# 二进制日志过期时间(秒)
binlog_expire_logs_seconds=864000
# 创建表时使用的默认存储引擎
default_storage_engine=InnoDB
# InnoDB 数据文件路径设置
innodb_data_file_path=ibdata1:10M:autoextend
# InnoDB 缓冲池大小
innodb_buffer_pool_size=1024M
# InnoDB 日志文件大小
innodb_log_file_size=256M
# InnoDB 日志缓冲区大小
innodb_log_buffer_size=8M
# InnoDB 每次提交时刷新日志
innodb_flush_log_at_trx_commit=1
# InnoDB 加锁等待超时时间(秒)
innodb_lock_wait_timeout=50
# 事务隔离级别为读已提交
transaction-isolation=READ-COMMITTED
[mysqldump]
# 快速导出数据
quick
# 允许的最大数据包大小
max_allowed_packet=16M
[myisamchk]
# 键缓存大小
key_buffer_size=256M
# 排序缓冲区大小
sort_buffer_size=4M
# 读取缓冲区大小
read_buffer=2M
# 写入缓冲区大小
write_buffer=2M
[mysqlhotcopy]
# 交互式超时时间
interactive-timeout

3.2、初始化

需要进入 /usr/local/mysql8/bin,若添加了 PATH 变量可忽略。

初始化命令:注意文件夹名称。

  • --defaults-file:指定配置文件(要放在–initialize 前面)
  • --user: 指定用户
  • --basedir:指定安装目录
  • --datadir:指定初始化数据目录
  • --intialize-insecure:初始化无密码(否则生成随机密码)
mysqld --defaults-file=/usr/local/etc/my.cnf --basedir=/usr/local/mysql8 --datadir=/data/mysql8_data/mysql --user=mysql --initialize-insecure

3.3、启动 MySQL

查看 MySQL 的 /bin 下是否包含 mysqld_safe用于后台安全启动 MySQL

3.3.1、启动服务

安全后台启动 MySQL

# 完整命令
/usr/local/mysql8/bin/mysqld_safe --defaults-file=/usr/local/etc/my.cnf &
# 若添加了PATH变量,可省略如下
mysqld_safe --defaults-file=/usr/local/etc/my.cnf &

确认启动:第二条即 MySQL 服务。

ps -ef|grep mysql

3.3.2、登录

mysql -u root --skip-password

3.4、修改密码

修改密码

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';

设置密码永不过期(本地)

alter user 'root'@'localhost' password expire never;

刷新权限

FLUSH PRIVILEGES;

4、远程连接 MySQL

4.1、创建远程连接用户

选择 mysql 数据库,查看当前用户

USE mysql;

host 字段表示可访问当前数据库的主机,目前仅本地可访问。

SELECT user,host,plugin,authentication_string FROM user;

创建用户

CREATE user 'root'@'%';

设置首次密码

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';

授权用户所有权限

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';

设置密码永不过期(远程)

alter user 'root'@'%' password expire never;

刷新权限

FLUSH PRIVILEGES;

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

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

相关文章

STM32+RTThread配置以太网无法ping通,无法获取动态ip的问题

记录一个非常蠢的问题,今天在移植rtthread的以太网驱动的时候出现无法获取动态ip的问题,问题如下: 设置为动态ip时不管是连接路由器还是电脑主机都无法ping通,也无法获取dns地址。 设置为静态ip时无法ping通主机。 使用wireshark…

题目:2629.复合函数

​​题目来源: leetcode题目,网址:2629. 复合函数 - 力扣(LeetCode) 解题思路: 倒序遍历计算。 解题代码: /*** param {Function[]} functions* return {Function}*/ var compose function(…

【易售小程序项目】小程序首页完善(滑到底部数据翻页、回到顶端、基于回溯算法的两列数据高宽比平衡)【后端基于若依管理系统开发】

文章目录 说明细节一:首页滑动到底部,需要查询下一页的商品界面预览页面实现 细节二:当页面滑动到下方,出现一个回到顶端的悬浮按钮细节三:商品分列说明优化前后效果对比使用回溯算法实现ControllerService回溯算法 优…

stm32 iap sd卡升级

参考:STM32F4 IAP 跳转 APP问题_stm32程序跳转_古城码农的博客-CSDN博客 app程序改两个位置 1.程序首地址: 2.改中断向量表位移,偏移量和上面一样就可以 然后编译成bin文件就可以了

docker 笔记1

目录 1.为什么有docker ? 2.Docker 的核心概念 3.容器与虚拟机比较 3.1传统的虚拟化技术 3.2容器技术 3.3Docker容器的有什么作用? 3.4应用案例 4. docker 安装下载 4.1CentOS Docker 安装 4.2 Docker的基本组成 ?(面试&#xff09…

clangd的使用,实现跳转提示

一、插件卸载c插件下载clangd 二、设置搜索clangd --compile-commands-dirbuild文件中compile_commands的绝对路径若没有找到compile_commands.json文件可以通过如下方式之后再便于即可生成 cmake项目: 在项目最顶层的.cmake文件中或者CMakeList文件中加入如下命令…

jmeter 性能测试工具的使用(Web性能测试)

1、下载 该软件不用安装,直接解压打开即可使用。 2、使用 这里就在win下进行,图形界面较为方便   在目录apache-jmeter-2.13\bin 下可以见到一个jmeter.bat文件,双击此文件,即看到JMeter控制面板。主界面如下: 3、创…

DEtection TRansformer (DETR) 与 You Only Look Once (YOLO)

曾经想过计算机如何分析图像,识别并定位其中的物体吗?这正是计算机视觉领域的目标检测所完成的任务。DEtection TRansformer(DETR)和You Only Look Once(YOLO)是目标检测的两种重要方法。YOLO已经赢得了作为…

【RISC-V】RISC-V寄存器

一、通用寄存器 32位RISC-V体系结构提供32个32位的整型通用寄存器寄存器别名全称说明X0zero零寄存器可做源寄存器(rs)或目标寄存器(rd)X1ra链接寄存器保存函数返回地址X2sp栈指针寄存器指向栈的地址X3gp全局寄存器用于链接器松弛优化X4tp线程寄存器常用于在OS中保存指向进程控…

回归预测 | MATLAB实现IBES-ELM改进的秃鹰搜索优化算法优化极限学习机多输入单输出回归预测(多指标,多图)

回归预测 | MATLAB实现IBES-ELM改进的秃鹰搜索优化算法优化极限学习机多输入单输出回归预测(多指标,多图) 目录 回归预测 | MATLAB实现IBES-ELM改进的秃鹰搜索优化算法优化极限学习机多输入单输出回归预测(多指标,多图…

手撕二叉平衡树

今天给大家带来的是平衡树的代码实现&#xff0c;如下&#xff1a; #pragma once #include <iostream> #include <map> #include <set> #include <assert.h> #include <math.h> using namespace std; namespace cc {template<class K, clas…

Oracle常用权限处理

对于Oracle来说&#xff0c;用户等于Schema&#xff0c;创建用户即创建Schema -- 创建用户 create user TCK_TEXT identified by "TCKTCK"; --赋予登陆权限 grant connect to TCK_TEXT; --查看权限列表 select * from user_role_privs ; select * from user_sys_priv…

postgresql-常用数学函数

postgresql-常用数学函数 案例 案例 --求余 1 select 5%2 as t; --绝对值 17.4 select abs(-17.4) as t2; -- 大于等于最小整数 -42 select ceil(-42.8) as t3; -- 小于等于的最大整数 42 select floor(42.3) as t4; -- 四舍五入 44 select round(43.6) as t5; -- 向零取整 12…

vue开发桌面exe应用

vue开发桌面exe应用 Electron-vue 参考 Electron-vue搭建vue全家桶Element UI客户端&#xff08;一&#xff09; 如何使用Vue.js构建桌面应用程序

CXL寄存器介绍(2)- CXL DVSEC

&#x1f525;点击查看精选 CXL 系列文章&#x1f525; &#x1f525;点击进入【芯片设计验证】社区&#xff0c;查看更多精彩内容&#x1f525; &#x1f4e2; 声明&#xff1a; &#x1f96d; 作者主页&#xff1a;【MangoPapa的CSDN主页】。⚠️ 本文首发于CSDN&#xff0c…

TiDB 一栈式综合交易查询解决方案获“金鼎奖”优秀金融科技解决方案奖

日前&#xff0c;2023“金鼎奖”评选结果揭晓&#xff0c; 平凯星辰&#xff08;北京&#xff09;科技有限公司研发的 TiDB 一栈式综合交易查询解决方案获“金鼎奖”优秀金融科技解决方案奖 &#xff0c; 该方案已成功运用于 多家国有大行、城商行和头部保险企业 。 此次获奖再…

【AI】《动手学-深度学习-PyTorch版》笔记(二十一):目标检测

AI学习目录汇总 1、简述 通过前面的学习,已经了解了图像分类模型的原理及实现。图像分类是假定图像中只有一个目标,算法上是对整个图像做的分类。 下面我们来学习“目标检测”,即从一张图像中找出需要的目标,并标记出位置。 2、边界框 边界框:bounding box,就是一个方…

Mysql忽略大小写问题

Mysql忽略大小写问题 一、字段忽略大小写 编码格式入手 二、表名忽略大小写 配置文件入手my.conf文件。lower_case_table_names 1

Python 面试:单元测试unit testing 使用pytest

1. 对于函数进行单元测试 calc.py def add(x, y):"""Add Function"""return x ydef subtract(x, y):"""Subtract Function"""return x - ydef multiply(x, y):"""Multiply Function""…

我想开通期权?如何开通期权账户?

场内期权的合约由交易所统一标准化定制&#xff0c;大家面对的同一个合约对应的价格都是一致的&#xff0c;比较公开透明&#xff0c;期权开户当天不能交易的&#xff0c;期权开户需要满足20日日均50万及半年交易经验即可操作&#xff0c;下文科普我想开通期权&#xff1f;如何…