【Mysql】mysql8.0.26解压包部署方式

news2024/11/17 3:32:45

版本背景:
操作系统:centos7.3
mysql版本:mysql-8.0.26-linux-glibc2.12-x86_64.tar

一、前期准备

1、检测操作系统自带安装的mysql和mariadb服务,如存在,需卸载

rpm -qa | grep mysql
rpm -qa | grep mariadb
卸载命令,所有查出来的都卸载:
rpm -e --nodeps qt5-qtbase-mysql-5.6.1-10.el7.x86_64
rpm -e --nodeps qt-mysql-4.8.5-13.el7.x86_64
rpm -e --nodeps mariadb-devel-5.5.52-1.el7.x86_64
rpm -e --nodeps mariadb-libs-5.5.52-1.el7.x86_64

2、开放mysql指定的防火墙端口,可自定义

firewall-cmd --permanent --zone=public --add-port=3306/tcp
firewall-cmd --reload
firewall-cmd --list-ports

3、新建非root用户,用户名和用户组可根据实际情况处理

groupadd test
useradd -g test -m test
passwd test

二、安装工作

1、上传MySQL8.0.26安装包到目录下,并解压重命名

tar -xvf mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz -C /opt/
cd /opt/
mv mysql-8.0.26-linux-glibc2.12-x86_64 mysql-8.0.26

2、新增配置文件和数据目录

cd mysql-8.0.26
mkdir data
touch my.cnf

附示例配置文件

[client]
port=3306
socket=/tmp/mysql.sock

[mysqld]
port=3306
#默认使用“mysql_native_password”插件认证
default-authentication-plugin=mysql_native_password
#skip-grant-tables
#datadir和basedir要根据实际情况,修改目录为最大挂载磁盘的目录下
datadir=/opt/mysql-8.0.26/data
basedir=/opt/mysql-8.0.26
socket=/tmp/mysql.sock
#log-error=/opt/mysql-8.0.26/error.log
sql-mode=NO_ENGINE_SUBSTITUTION
lower_case_table_names = 1
max_connections = 1000
innodb_print_all_deadlocks=1
log_bin_trust_function_creators = 1
#定期清理binlog日志,根据实际情况设置
#transaction_isolation='READ-COMMITTED'
#主从同步配置-主,从库改成2即可
server-id=1
log_bin=mysql-bin
binlog_format=mixed
log_bin_trust_function_creators=1
expire_logs_days=7
auto_increment_increment=1
auto_increment_offset=1
log_timestamps=SYSTEM

innodb_buffer_pool_size=20G
sort_buffer_size=16M
join_buffer_size=32M
max_connections=1000
max_allowed_packet=512M
tmp_table_size=64M
max_heap_table_size=64M
innodb_log_buffer_size=32M
innodb_log_file_size=512M
internal_tmp_mem_storage_engine=MEMORY

3、重新赋权

cd /opt
chown -R test:test mysql-8.0.26/

三、启动数据库

切换至非root用户进行后续操作

su test

1、初始化数据库

cd /opt/mysql-8.0.26/bin/
#注意用户名--user=test替换成实际的
./mysqld --user=test --basedir=/opt/mysql-8.0.26  --datadir=/opt/mysql-8.0.26/data/ --lower_case_table_names=1 --initialize

在这里插入图片描述
初始化成功,会生成一个随机的初始mysql登录密码。
2、启动Mysql服务

./mysqld_safe --defaults-file=/opt/mysql-8.0.26/my.cnf  --user=test &

在这里插入图片描述
3、检测数据库是否启动成功

ps -ef|grep mysql

在这里插入图片描述

四、数据库信息更新

1、登录数据库

./mysql -u root -p
密码输入前面生成的随机密码

2、root密码更新

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456789';
flush privileges;

3、设置远程登录

use mysql;
update user set host='%' where user='root';
flush privileges;

五、主从设置

1、主库操作:

1、登录数据库
mysql -h 127.0.0.1 -uroot -p
Enter password:

2、新建主从同步账号
mysql> CREATE USER 'repl'@'从库ip' IDENTIFIED WITH mysql_native_password BY '同步账号的密码';
Query OK, 0 rows affected (0.00 sec)

3、给主从同步账号赋予REPLICATION权限
mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'从库ip';
Query OK, 0 rows affected (0.00 sec)

4、更新数据
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

5、查主库状态信息
mysql> SHOW MASTER STATUS;
+------------------+----------+--------------+------------------+-------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000001 |      838 |              |                  |                   |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)
mysql>

2、从库操作:

1、登录数据库
mysql -h 127.0.0.1 -uroot -p
Enter password:

2、建立主从关系
mysql> CHANGE MASTER TO MASTER_HOST='主库ip',MASTER_PORT=主库端口,MASTER_USER ='repl', MASTER_PASSWORD='同步账号的密码',MASTER_LOG_FILE='主库的File值',MASTER_LOG_POS=主库Position值;
Query OK, 0 rows affected, 1 warning (0.02 sec)

3、启动从库
mysql> start slave;
Query OK, 0 rows affected (0.00 sec)

4、查看主从状态
mysql> show slave status\G

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

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

相关文章

vim编辑器使用

目录 vim基本概念 vim基本操作 插入模式 命令模式 移动光标 删除字符 复制剪切 替换 撤销 更改 移动指定行 底行模式 命令集 vim简单配置 vim基本概念 vim编辑器有三种模式: 命令模式:光标移动,字符或行移动&#x…

iTOP-RK3568开发板Android kernel移植-单独编译内核

此方法常用于 kernel 的开发和调试,以下的方法既编译 kernel 部分时, 同 时打包成 boot.img, 这样加快了我们开发的速度; 进入内核目录下, 输入以下命令: cd kernel make ARCHarm64 CC../prebuilts/cla…

Vue:axios

1、 第三方库方式, 基于 Promise 的 HTTP 库:axios (对 XMLHttpRequest进行的封装) 即: axios.get().then() 2、跨域访问 定义:在 a 页面中想获取 b 页面中的资源,如果 a 页面和 b 页面所处的协…

Java基础从入门到精通系列(一)

1、Java简介 Java语言是一种高级、并发、面向对象的计算机编程语言,由Sun Microsystems公司于1995年推出。Java广泛应用于Web应用程序开发、移动应用程序开发以及大型企业级应用程序的开发中。Java语言具有跨平台、安全性好、可移植性强、易学易用等优点&#xff0…

JavaSE学习进阶day04_01 Date类

第一章 Date类 首先对时间的几个补充有必要知道: 时间起点: 心得: 如果以后我们仅仅要展示时间,那么可以用Date和SimpleDateFormat(格式化) 如果我们要拿着两个时间进行计算,用Date和SimpleD…

【C++升级之路】第十二篇:模板进阶 | 非类型模板参数 模板特化 类模板的分离编译 模板优缺点总结

🌟hello,各位读者大大们你们好呀🌟 🍭🍭系列专栏:【C学习与应用】 ✒️✒️本篇内容:非类型模板参数,函数模板特化,类模板特化(全特化,部分特化&a…

【系统集成项目管理工程师】信息系统集成专业知识

信息系统集成专业技术 一 信息系统建设 1 信息系统生命周期 立项阶段:即概念阶段或需求阶段,这一阶段根据用户业务发展和经营管理的需要,提出建设信息系统的初步构想,然后对企业信息系统的需求进行深入调研和分析,形…

K8s结合docker部署

原生安装步骤 安装必要的环境依赖与工具 sudo apt-get install \apt-transport-https \ca-certificates \curl \gnupg \lsb-release下载证书更新 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-key…

Linux基础命令-seq打印数字序列

Linux基础命令-sed流编辑器 前言 seq命令通常是用来打印一串有规律的数字,常与其他命令搭配使用,一起来看下它的用法。 一. 命令介绍 在doc文档中查看seq命令的含义 NAMEseq - print a sequence of numbers DESCRIPTIONPrint numbers from FIRST to…

4.14-4.16学习总结

多线程: 线程: 线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。 进程: 进程是程序的基本执行实体 举个例子:360运行之后,它就可以看做是一个进程,但…

【UE4】关卡流送的demo

关卡流送功能可以将地图文件加载到内存中,或者从内存中卸载,并在游戏过程中切换地图的可视性。 这样一来,场景便能拆分为较小的地图块,并且只有相关部分才会占用资源并被渲染。 正确设置后,开发者便能创建大型、无缝衔…

c++STL容器之序列式容器

目录 vector容器 vector对象的默认构造 vector的初始化 vector的遍历 vector的增删改查 vector末尾的添加移除操作 vector的数据存取 deque容器 deque对象的默认构造 deque末尾的添加移除操作 deque的数据存取 stack容器 stack对象的默认构造 stack的push()与po…

Midjourney科普介绍

Midjourney是啥? Midjourney是一个由Midjourney研究实验室开发的人工智能程序,可根据文本生成图像,于2022年7月12日进入公开测试阶段,使用者可通过Discord的机器人指令进行操作,可以创作出很多的图像作品。 以下这些…

ROS2中将octomap发布到Moveit中作为碰撞物体

1.安装准备 这里假设你已经装好了ROS2以及Moveit2(都用二进制安装就行,不用从源码安转),没有安装好的,可以按照鱼香ROS的教程安装,两三行命令就搞定了。 我的ROS2版本为humble,请根据你使用的实…

银行数字化转型导师坚鹏:银行同业核心产品与营销策略解读

数字化背景下银行同业核心产品与营销策略解读课程背景: 数字化背景下,很多银行存在以下问题: 不清楚银行同业核心产品发展现状? 不清楚如何银行同业产品营销策略? 不知道如何更好地挖掘他行优质客户? 课…

国产化系统改造实践(未完)

一、项目背景 2020 年,红帽公司宣布,将在 2021 年 12 月 31 日和 2024 年 6 月 30 日分别终止对 CentOS 8 和 CentOS 7 的服务支持,把 CentOS 项目的工作和投资集中在CentOS Stream 上。 CentOS Linux 8已于2021年12月31日停止维护,CentOS Linux7也 将于2024年6月停服。s所…

技术创业者必读:从验证想法到技术产品商业化的全方位解析

导语 | 技术创业之路往往充满着挑战和不确定性,对于初入创业领域的人来说,如何验证自己的创业想法是否有空间、如何选择靠谱的投资人、如何将技术产品商业化等问题都需要认真思考和解决。在「TVP 技术夜未眠」第六期直播中,正马软件 CTO、腾讯…

【《C Primer Plus》读书笔记】第17章:高级数据表示

【《C Primer Plus》读书笔记】第17章:高级数据表示17.1 研究数据表示17.2 从数组到链表17.3 抽象数据类型(ADT)17.4 队列ADT17.5 用队列进行模拟17.6 链表和数组17.7 二叉查找树17.8 其他说明17.1 研究数据表示 在开始编写代码之前&#xf…

【2023】前端JWT详解

概述 回顾登录的流程: 接下来的问题是:这个出入证(令牌)里面到底存啥? 一种比较简单的办法就是直接存储用户信息的JSON串,这会造成下面的几个问题: 非浏览器环境,如何在令牌中记录…

C/C++每日一练(20230416)

目录 1. 求数列第n项值 ※ 2. 整数转换英文表示 🌟🌟🌟 3. 数组中找出最大值及索引位置 ※ 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 1. 求数…