【运维高级内容--MySQL】

news/2024/9/18 14:44:56/ 标签: mysql, 数据库, linux, 运维

目录

mysql%E5%AE%89%E8%A3%85-toc" style="margin-left:160px;">一、mysql安装

二、MySQL主从复制


mysql%E5%AE%89%E8%A3%85">一、mysql安装

yum install cmake gcc-c++ openssl-devel ncurses-devel.x86_64 rpcgen.x86_64        #安装依赖性

#在root路径下下载mysql-boost-5.7.44、libtirpc-devel-1.3.3-8.el9_4.x86_64.rpm安装包

yum install libtirpc-devel-1.3.3-8.el9_4.x86_64.rpm -y

tar zxf mysql-boost-5.7.44.tar.gz #解压源码包

cd /root/mysql-5.7.44

#当cmake出错后如果想重新检测,删除 mysql-5.7.44 中 CMakeCache.txt即可

rm -fr CMakeCache.txt                                                                       #删除它可加快make

#源码编译安装MySQL

cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \    #指定安装路径
-DMYSQL_DATADIR=/data/mysql \                #指定数据目录
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \ #指定套接字文件
-DWITH_INNOBASE_STORAGE_ENGINE=1 \    #指定启用INNODB存储引擎,默认用myisam
-DWITH_EXTRA_CHARSETS=all \                   #扩展字符集
-DDEFAULT_CHARSET=utf8mb4 \                #指定默认字符集
-DDEFAULT_COLLATION=utf8mb4_unicode_ci \                #指定默认校验字符集
-DWITH_BOOST=/root/mysql-5.7.44/boost/boost_1_59_0/     #指定c++库依赖

make -j2                                                                         #-j2 表示有几个核心就跑几个进程

make install

cd

cd /usr/local/mysql/support-files/

cp mysql.server /etc/init.d/mysqld

cd

vim ~/.bash_profile

# .bash_profile
​
# Get the aliases and functions
if [ -f ~/.bashrc ]; then. ~/.bashrc
fi
​
# User specific environment and startup programs
​
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin
​
export PATH

source ~/.bash_profile vim /etc/my.cnf

[mysqld]
datadir=/data/mysql
socket=/data/mysql/mysql.sock
symbolic-links=0

cd /usr/local/mysql/

useradd -s /sbin/nologin -M mysql

mkdir /data/mysql -p

chown mysql.mysql -R /data/mysql/

cd

cd /usr/local/mysql/support-files/

cp mysql.server /etc/init.d/mysqld

cd mysqld --user mysql --initialize

#mysql初始密码:

/etc/init.d/mysqld start

chkconfig mysqld on

mysql_secure_installation

Securing the MySQL server deployment.
Enter password for user root: #输入当前密码
The existing password for the user account root has expired. Please set a new
password.
New password: #输入新密码
Re-enter new password: #重复密码
VALIDATE PASSWORD PLUGIN can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD plugin?
Press y|Y for Yes, any other key for No: no #是否启用密码插件
Using existing password for root.
Change the password for root ? ((Press y|Y for Yes, any other key for No) : no
#是否要重置密码
... skipping.
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.
Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Success.
Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
Success.
By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.
Remove test database and access to it? (Press y|Y for Yes, any other key for No)
: y
- Dropping test database...
Success.
- Removing privileges on test database...
Success.
Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
Success.

mysql -uroot -pmysql

测试:

二、MySQL主从复制

#172.25.254.110 master

vim /etc/my.cnf

[mysqld]
datadir=/data/mysql
socket=/data/mysql/mysql.sock
symbolic-links=0
log-bin=mysql-bin
server-id=1

/etc/init.d/mysqld restart

mysql -pmysql

CREATE USER 'repl'@'%' IDENTIFIED BY 'miky';GRANT REPLICATION SLAVE ON *.* TO repl@'%';SHOW MASTER STATUS;

cd /data/mysql/

mysqlbinlog mysql-bin.000001 -vv #查看二进制日志

#172.25.254.120 slave

vim /etc/my.cnf

[mysqld]
datadir=/data/mysql
socket=/data/mysql/mysql.sock
symbolic-links=0
server-id=2

/etc/init.d/mysqld restart

mysql -pmysql

CHANGE MASTER TOMASTER_HOST='172.25.254.110',MASTER_USER='repl',MASTER_PASSWORD='miky',MASTER_LOG_FILE='mysqlbin.000001',MASTER_LOG_POS=350;
#mysqlbin.000001、350通过在master主机里`SHOW MASTER STATUS查看
start slave;SHOW SLAVE STATUS\G;

注意检查这两个为yes:

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

我碰到的问题:

当重新开启slave后Slave_SQL_Running值会变为NO,可以用以下方法解决:

Slave_SQL_Running: No
1.程序可能在slave上进行了写操作

2.也可能是slave机器重起后,事务回滚造成的.

一般是事务回滚造成的:
解决办法:
mysql> stop slave ;
mysql> set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
mysql> start slave ;

在master上删除已创建的库,slave上同步更新库,证明两个机子已经成功同步状态

测试:

#在master上创表

mysql -pmysql

CREATE DATABASE miky;CREATE TABLE miky.userlist (
-> username varchar(20) not null,
-> password varchar(50) not null
-> );
INSERT INTO miky.userlist VALUE ('miky','123');SELECT * FROM miky.userlist;

#在slave上查看数据是否同步过来

SELECT * FROM miky.userlist;


http://www.ppmy.cn/news/1516134.html

相关文章

scrapy--图片管道-ImagesPipeline

免责声明:本文仅做演示与分享~ 目录 介绍 ImagesPipeline pipelines.py items.py zz.py settings.py 介绍 scrapy 还提供了处理图片、视频、音频等媒体文件的插件,如: - scrapy-images:用于下载和处理图片 - scrapy-video&#xff1…

GATK SampleList接口介绍

在 GATK 中,SampleList 是一个接口,用于表示一个样本列表。这些样本通常是在基因组分析过程中被处理的不同生物样本。SampleList 接口提供了访问这些样本的一些基本方法,通常用于多样本分析任务,比如变异检测或基因组重测序。 Sa…

Golang | Leetcode Golang题解之第354题俄罗斯套娃信封问题

题目&#xff1a; 题解&#xff1a; func maxEnvelopes(envelopes [][]int) int {n : len(envelopes)if n 0 {return 0}sort.Slice(envelopes, func(i, j int) bool {a, b : envelopes[i], envelopes[j]return a[0] < b[0] || a[0] b[0] && a[1] > b[1]})f : …

【数据结构-前缀异或】力扣1310. 子数组异或查询

有一个正整数数组 arr&#xff0c;现给你一个对应的查询数组 queries&#xff0c;其中 queries[i] [Li, Ri]。 对于每个查询 i&#xff0c;请你计算从 Li 到 Ri 的 XOR 值&#xff08;即 arr[Li] xor arr[Li1] xor … xor arr[Ri]&#xff09;作为本次查询的结果。 并返回一…

探索Facebook的区块链计划:未来社交网络的变革

随着区块链技术的迅速发展&#xff0c;社交网络领域正面临一场深刻的变革。Facebook&#xff0c;作为全球最大且最具影响力的社交平台之一&#xff0c;正在积极探索区块链技术的应用。本文将深入探讨Facebook的区块链计划&#xff0c;分析其潜在的变革性影响&#xff0c;并展望…

7-9 字母三角形

从键盘输入n&#xff0c;输出n行的如下图形 a ab abc abcd abcde ............. ................ 输入格式: 从键盘输入一个正整数n&#xff0c;输入数据保证不大于26。 输出格式: 如题所述的图形。注意输出的字母之间没有空格。 输入样例1: 5输出样例1: a ab a…

自动化巨头施耐德电气,部分业务被其供应商收购:之前还收购过霍尼韦尔

导语 大家好&#xff0c;我是社长&#xff0c;老K。专注分享智能制造和智能仓储物流等内容。 新书《智能物流系统构成与技术实践》 供应商逆袭&#xff1a;小鱼吃大鱼的商业奇迹 英国电气行业掀起一阵惊涛骇浪。斯塔福德郡的中型企业Goodfish Group竟然收购了全球巨头施耐德电气…

Spark MLlib 特征工程系列—特征转换Tokenizer和移除停用词

Spark MLlib 特征工程系列—特征转换Tokenizer和移除停用词 Tokenizer和RegexTokenizer 在Spark中,Tokenizer 和 RegexTokenizer 都是用于文本处理的工具,主要用于将字符串分割成单词(tokens),但它们的工作方式和使用场景有所不同。 1. Tokenizer 功能: Tokenizer 是最…

【Python机器学习】NLP——一个简陋的聊天机器人

目录 正则表达式 一个简答的聊天机器人 另一种方法 正则表达式就是一种FSM&#xff0c;同时它也给出了一种可能的NLP方法&#xff0c;即基于模式的方法。 正则表达式 现实生活中&#xff0c;密码锁其实就是一台简单的语言处理机。密码锁不能阅读和理解课本&#xff0c;但是…

nodejs搭建代理服务器解决跨域问题

1.安装express、http-proxy-middleware npm install express http-proxy-middleware2.根据情况额外再安装一个nodemon&#xff0c;可以在检测到文件变化时自动重启应用程序,省去了手动重启的麻烦 npm install nodemon搭建代理服务器 node index.js const express require(e…

大数据系统测试——大数据系统解析(上)

各位好&#xff0c;我是 道普云 欢迎关注我的主页 希望这篇文章对想提高软件测试水平的你有所帮助。 在本文中我们一起来看一下大数据系统每一个层次需要解决的技术问题和对应的一些技术需求。以此来作为学习大数据系统测试的基础。 数据收集层主要是进行数据源的分布式、…

图了个图 - 目前最满意的AI修图软件

图了个图是一款完全免费无广告的AI修图软件&#xff0c;系统占用极低&#xff0c;可以通过AI处理图片。具体功能请查看截图&#xff0c;功能丰富多样。登录后即可享受永久会员&#xff0c;所有功能全开放。目前只有安卓版&#xff0c;后续还会继续更新更多功能。 链接&#xf…

等保测评中的安全测试方法

等保测评&#xff0c;即信息安全等级保护测评&#xff0c;是我国网络安全领域的重要评估机制&#xff0c;用于验证网络系统或应用是否满足相应的安全保护等级要求。在等保测评中&#xff0c;安全测试方法扮演着至关重要的角色。本文将详细介绍等保测评中常用的安全测试方法及其…

用阿里云“无影”搭建《黑神话:悟空》电脑环境

目录 《黑神话&#xff1a;悟空》 阿里云无影试用版概述 阿里云无影云电脑试用版情况 具体详细过程&#xff08;搭建环境&#xff09; 《黑神话&#xff1a;悟空》 《黑神话&#xff1a;悟空》作为一款高品质的国产游戏&#xff0c;对硬件配置有一定的要求。根据公开发布的…

TypeSript5 联合类型|类型断言

联合类型 | 类型断言 交叉类型 联合类型 (|) //例如我们的手机号通常是13XXXXXXX 为数字类型 这时候产品说需要支持座机 //所以我们就可以使用联合类型支持座机字符串 let myPhone: number | string 010-820 //这样写是会报错的应为我们的联合类型只有数字和字符串并没有布…

Web-ssrfme--redis 未授权访问攻击

目录 1、题目源码 2、测试ssrf 3、发现主机 4、发现服务 5、redis 未授权访问攻击 6&#xff0c;拿flag 1、题目源码 <?php highlight_file(__file__); function curl($url){ $ch curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_HEADER…

Docker绑定挂载使用手册

目录 目标 官方文档 绑定挂挂载&#xff08;Bind mounts&#xff09; 简介 基本创建方法 控制读写权限&#xff08;默认有读写权限&#xff09; 为什么绑定挂载不适合做数据库持久化 为什么绑定挂载更适合做热部署 临时挂载&#xff08;tmpfs mounts&#xff09; 简介…

开发者社区✖️外滩大会「创新者舞台」——《特斯拉,不止于车》

备受瞩目的“2024 Inclusion外滩大会”将于2024年9月5日至7日在上海黄浦世博园区盛大开幕。 外滩大会云集了蚂蚁集团、清华大学、复旦大学、上海交通大学、同济大学、浙江大学、上海报业集团、外滩投资集团等在学术界和产业界享有科技盛誉的组织。 大会将延续 “科技创造可持续…

Cambridge Pixel推出综合安防软件平台VSD-C2

Cambridge Pixel公司专注于雷达数据处理与目标跟踪技术&#xff0c;雷达显控软件。从2012年以来&#xff0c;Cambridge Pixel公司一直专注于开发以雷达和摄像头为核心的联动安防产品。为此先后推出了VSD, RadarWatch, Alarm Server, Camera Manager等一系列产品&#xff0c;应用…

【计算机网络】名词解释--网络专有名词详解

在网络通信中&#xff0c;有许多专业术语和概念&#xff0c;它们共同构成了网络通信的基础。以下是一些常见的网络术语及其定义和相互之间的关系&#xff1a; 一、网络基础 1.1 电路交换&#xff1a;电路交换是一种在数据传输前建立专用通信路径的通信方式。在通信开始前&…