ERROR: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
环境操作系统:CentOS 7 Docker版本:Docker version 20.10.10
问题docker更改默认存储目录,CentOS默认存储目录位置:/var/local/docker,需要更改至其他挂载目录,比如更改到/data/docker,发现迁移之后所有docker命令都用不了了
更改存储位置1.停止docker服务
systemctl stop docker
2.打包备份docker原文件,建议先备份,以防万一
cd /var/lib/
打包备份
tar -cvf docker.tar docker/
3.移动文件
mv /var/lib/docker /data/
4.修改默认存储位置,在图中标注红框位置加上–graph=/data/docker 指定存储位置,保存并退出
vim /usr/lib/systemd/system/docker.service
正确配置
ExecStart=/usr/bin/dockerd --graph=/data/docker -H fd ...
Mycat1.6.7.6对Mysql分表配置
环境
操作系统:CentOS 7
Mysql版本:Mysql8
Mycat版本:Mycat1.6.7.6
需求需要对用户表分片操作,要求分成3个分片 用户表结构
配置涉及需要修改的配置文件,schema.xml、rule.xml 先看一下配置,下面解释
最简单的同一台机器,同一个数据库,分表配置示例schema.xml配置文件
<?xml version="1.0"?><!DOCTYPE mycat:schema SYSTEM "schema.dtd"><mycat:schema xmlns:mycat="http://io.mycat/"> <schema name="TESTDB" checkSQLschema="true" sqlMaxLimit="100" randomDataNode="dn1" dataNode="dn1"> <!-- 配置 ...
Mycat1.6.7.6对Mysql分库配置
环境
操作系统:CentOS 7
Mysql版本:Mysql8
Mycat版本:Mycat1.6.7.6
host_1:127.0.0.1
host_2:127.0.0.2
方式
方式一:为了方便,可以先通过Mysql账户使用图形化工具Navicat在两台主机不同的Msql服务里创建好数据库及数据表,然后再修改Mycat配置文件,将对应的数据库及数据表配置好
方式二:提前再Mycat配置文件配置好数据库及数据表,通过Mycat服务去创建,Mycat会帮你自动将不同的数据表创建到配置对应的物理主机的Mysql服务下
注意:若要通过Mycat1.x版本建表,只能使用建表SQL,Mycat1.x不支持使用Navicat直接建表,这里是指不支持通过Navicat登陆Mycat服务,然后直接创建表,但是可以通过Navicat登陆Mycat
分库配置修改 schema 配置文件
简单分库配置文件完整示例<?xml version="1.0"?><!DOCTYPE mycat:schema SYSTEM "schema.dtd">& ...
Mycat1.6.7.6安装与启动
环境
操作系统:CentOS 7
Mycat版本:Mycat1.6.7.6
下载首先下载Mycat的压缩包,Mycat1官网:http://www.mycat.org.cn/mycat1.html Mycat1.6.7.6官网下载地址:http://dl.mycat.org.cn/1.6.7.6/ 找到最新日期的下载即可
安装将下载好的压缩包,上传至服务器解压即可,无须编译安装 解压
tar -zxvf Mycat-server-1.6.7.6-release-linux.tar.gz(名字改成自己下载的压缩包名称)
修改配置涉及到需要修改的配置文件 - server.xml:定义用户以及系统相关变量,如端口等 - schema.xml:定义逻辑库,表、分片节点等内容 1. 修改配置文件server.xml
<user name="mycat" defaultAccount="true"> <!-- mycat登陆用户名 --> <property name="password&quo ...
Mycat1.6.7.6对Mysql读写分离配置
环境
操作系统:CentOS 7
Mysql版本:Mysql8
Mycat版本:Mycat1.6.7.6
前提前提Mysql服务已经搭建好主从复制,Mysql搭建主从复制可参考:Mysql8实现主从复制
配置文件涉及到需要修改的配置文件 - server.xml:定义用户以及系统相关变量,如端口等 - schema.xml:定义逻辑库,表、分片节点等内容 1. 修改配置文件server.xml
<user name="mycat" defaultAccount="true"> <!-- mycat登陆用户名 --> <property name="password">123456</property> <!-- mycat登陆密码 --> <property name="schemas">TESTDB</property> <!-- mycat连接逻辑库 --> <prop ...
Mycat1.6.7.6对Mysql8支持使用配置
环境
操作系统:CentOS 7
Mysql版本:Mysql8
Mycat版本:Mycat1.6.7.6
前提前提需求是已经完成安装了Mysql服务,Mysql的安装可参考:Docker安装Mysql 这里只介绍Mycat1.6.7.6对Mysql8支持使用配置,其他基于mycat完成读写分离、分库分表等配置详见本站其他文章
安装Mycat安装参考:Mycat1.6.7.6安装与启动
支持Mysql8配置修改
替换原有Mysql连接驱动Jar包 去Maven仓库下载你对应的Mysql8的驱动Jar包,注意是Jar包不是pom文件配置 下载好之后将Jar包放置解压出来mycat/lib/路径下,删除mycat安装包原有自带的mysql-connector-java-5.x.x.jar
修改模拟版本号,修改server.xml配置文件 注意该行原本是被注释掉的,需要手动去除注释,并且修改版本号 重启Mycat服务即可
注意如果mycat配置文件schema.xml中配置主机的地方dbDriver=”native”,使用mysql8需要将更改mysql的 ...
Mysql8实现主从复制
环境
操作系统:CentOS 7
Mysql版本:8.0
MysqlServer_1:M1(主)
MysqlServer_2:M2(从)
实现
修改M1配置文件:vim /etc/my.cnf (my.cnf路径位置根据自己实际路径更改)
#主服务器唯一IDserver-id=1#启用二进制日志log-bin=mysql-bin# 设置不要复制的数据库(可设置多个)binlog-ignore-db=mysqlbinlog-ignore-db=information_schema#设置需要复制的数据库binlog-do-db=需要复制的主数据库名字#设置logbin格式binlog_format=STATEMENT
修改M2配置文件:vim /etc/my.cnf (my.cnf路径位置根据自己实际路径更改)
#从服务器唯一IDserver-id=2#启用中继日志relay-log=mysql-relay
依次重启主机M1、从机M2服务,注意是指重启Mysql服务不是机器重启
在主机上建立帐户slave
create user ...
CentOS安装HAproxy
环境操作系统:CentOS 7
方式一通过yum安装工具直接安装,简单快捷,通过系统服务启动,添加开机启动等都很方便 安装命令
yum install haproxy
安装完成之后查看版本
haproxy -version
启动haproxy服务,查看启动状态就把start换成status,停止就是stop
systemctl start haproxy
默认haproxy.cnf配置文件是在**/etc/haproxy/haproxy.cnf**
方式二通过下载安装包编译安装,相对方式一较为麻烦 首先下载安装包,这里提供一份,点击下载:haproxy-1.5.18.tar.gz 或者使用wget命令直接下载到服务器
wget https://itze.cn/uploads/haproxy-1.5.18.tar.gz
解压到/usr/local/src
tar -zxvf haproxy-1.5.18.tar.gz -C /usr/local/src
进入解压后的目录
cd /usr/local/src/haprox ...
Mysql千万级数据量批量快速迁移
环境Mysql版本:8.0
迁移说明Mysql数据的迁移,推荐两种方式 1. mysqldump mysqldump比较适合几十万上百万的较小数据的迁移使用 2. mysql load data load data infile 语句可以从一个文本文件中以很高的速度读入一个表中,性能大概是 insert 语句的几十倍,比较适合上千万级及更高的海量数据迁移使用
1.mysqldump1.1导出使用环境:只要是有mysql的环境就可以,不限制Linux或者是Windows系统,不同系统最后面的导出位置不一样而已 导出某个库中的表数据内容,如果是导出整个库,把–tables testtable去掉即可
mysqldump -uroot -p123456 -h127.0.0.1 -P3306 --default-character-set=utf8 -c -t --skip-add-locks --databases testbase --tables testtable> \root\move.sql
对应
mysqldump -u用户名 -p密码 -h数据库IP地址 -P端口 -- ...
SpringBoot读取外部配置文件
场景SpringBoot读取外部配置文件,springboot读取配置文件顺序,如下(1,2,3代表优先级)
读取优先级(1,2,3代表优先级)
和Jar包处于同一级的config文件夹中的application.properties配置文件
在1.config文件夹不存在时,会读取和Jar包处于同一级的application.properties配置文件
1和2的情况都不存在的时候也就是正常打包出来application.properties配置文件处于项目的 resource/application.properties下,才会读取改配置
如果1,2,3 同时存在,jar包文件会先按照config中的application.properties配置文件,依照优先级来读取
读取方式推荐两种 第一种:使用@Value(“${name}”) 第二种:使用Environment类,配置可参考:Springboot@Autowired注入为Null