1、ubuntu 20 安装docker
https://ecs.console.aliyun.com/#/server/i-f8zi00ndmb2ysggz95si/detail?regionId=cn-heyuan
z1314520!
docker指令
提高docker pull 速度
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://5bwox49q.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
https://cr.console.aliyun.com/cn-heyuan/instances/mirrors
sudo service docker start
sudo service docker stop
sudo service docker restart
docker ps -a //查看运行的镜像
docker exec -it xxx bash //进行xxx镜像
docker pull xx //下载镜像
docker rmi xx //删除镜像
docker run xx //运行容器
docker exec -it xx /bin/bash //进入容器
docker rm xx //删除容器
docker stop xx //停止容器
docker restart xx //重启容器
docker rename 原名 改后名 //更改容器别名
https://blog.csdn.net/qq_60747766/article/details/126663831 部署
端口映射
netstat -anp | grep 3306
2、安装sql
安装 docker pull mysql:5.7
运行 docker run -it --rm --name mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql
docker run -p 3306:3306 --name mysql
-v /mydata/mysql/log:/var/log/mysql
-v /mydata/mysql/data:/var/lib/mysql
-v /mydata/mysql/conf:/etc/mysql
-e MYSQL_ROOT_PASSWORD=123456
-d mysql:5.7
-p为端口映射,将其linux的3306端口与mysql容器内部的3306端口进行映射
-v为挂载(etc为配置文件,log为日志文件,lib为配置文件)将其mysql容器内部的文件挂载到linux中,每次变动都会在linux显示,而不用进入到容器内部查看
-e初始化123456用户密码
--name:指定了容器的名称,方便之后进入容器的命令行
-itd:其中,i是交互式操作,t是一个终端,d指的是在后台运行
My.conf
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
进入容器 docker exec -it mysql bash docker exec -it mysql /bin/bash
进入 mysql mysql -u root -p 123456
给root远程登录权限 ALTER user ‘root’@‘%’ IDENTIFIED WITH mysql_native_password BY ‘123456’;
刷新 FLUSH PRIVILEGES;
修改密码 alter user ‘root’@‘localhost’ identified by ‘123456’;
设置 root账号的密码 update user set authentication_string = password(‘root’) where user = ‘root’;
对root进行授权 GRANT ALL PRIVILEGES ON . TO ‘root’@‘%’ IDENTIFIED BY ‘root’ WITH GRANT OPTION;
3、防火墙
安装 apt-get install firewall
开启防火墙systemctl start firewalld.service
关闭防火墙systemctl stop firewalld.service
开机自动启动systemctl enable firewalld.service
禁止开机启动systemctl disable firewalld.service
查看开启的端口 firewall-cmd --list-ports
启动端口号 firewall-cmd --zone=public --add-port=3306/tcp --permanent
在不改变状态的条件下重新加载防火墙 firewall-cmd --reload
修改配置后需要重启服务使其生效 systemctl restart firewalld.service
查看当前所有tcp端口· netstat -ntlp
查看所有1935端口使用情况 netstat -ntulp |grep 1935
4、redis
安装 docker pull redis
创建并启动实例 mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf
运行
docker run -p 6379:6379 --name redis -v /mydata/redis/data:/data
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf
-d redis redis-server /etc/redis/redis.conf
配置文件 redis.conf
# 配置文件进行了精简,完整配置可自行和官方提供的完整conf文件进行对照。端口号自行对应修改
#后台启动的意思
daemonize yes
#端口号
port 6381
# IP绑定,redis不建议对公网开放,这里绑定了服务器私网IP及环回地址
bind 172.17.0.13 127.0.0.1
# redis数据文件存放的目录
dir /redis/workingDir
# 日志文件
logfile "/redis/logs/cluster-node-6381.log"
# 开启AOF
appendonly yes
# 开启集群
cluster-enabled yes
# 集群持久化配置文件,内容包含其它节点的状态,持久化变量等,会自动生成在上面配置的dir目录下
cluster-config-file cluster-node-6381.conf
# 集群节点不可用的最大时间(毫秒),如果主节点在指定时间内不可达,那么会进行故障转移
cluster-node-timeout 5000
问题
问题 一、 ERROR 1273 (HY000): Unknown collation: ‘utf8mb4_0900_ai_ci‘
是因为linux下MySQL版本不兼容导致的
把文件中的所有的utf8mb4_0900_ai_ci替换为utf8_general_ci 以及utf8mb4替换为utf8
本地:mysql 8.0.19
服务器:mysql 5.7.29
高版本导入到低版本,引起1273错误
问题二、 ERROR 1045 (28000): Access denied for user ‘root‘@‘172.17.0.1‘ (using password: YES)
不允许远程连接
GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY 'Grand_p0ss' WITH GRANT OPTION;
FLUSH PRIVILEGES; 授予权限
密码错误
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; 修改密码
问题三、连接 Linux 阿里云报错-[08S01] Communications link failure The last packet sent successfully to the serve
https://blog.csdn.net/qq_42557844/article/details/118365259
问题四、解决运行docker命令要用sudo的问题
1.查看是否创建docker 组 cat /etc/group | grep docker
2.创建docker组,第一步打印出东西证明以前建过,就直接跳过这一步。 sudo groupadd docker
3.将用户添加到docker分组 sudo usermod -aG docker 用户名
4.查看有没有生效 cat /etc/group
5.重启docker sudo systemctl restart docker
6.给docker.sock添加权限 sudo chmod a+rw /var/run/docker.sock
7.切换当前会话到新 group 或者重启 X 会话 newgrp - docker
brew list package_name //查看homebrew安装的软件
brew services info xx//查看xx启动状况
brew services list //查看启动的列表
brew services stop mysql
username: root
password: Zbx1314520!
docker pull mysql //下载MySQL镜像
docker run --name mysql --restart=always -p 3306:3306 -e MYSQL_ROOT_PASSWORD=密码 -d mysql //启动MySQL
brew services stop redis
redis-server -v //查看版本
ps axu | grep redis //查看redis是否正在运行
redis-cli //打开图形化界面— 一般默认端口是 Port: 6379
redis-server
brew services info redis 查看Redis启动状况
docker pull redis //下载Redis镜像
docker run --name redis --restart=always -p 6379:6379 -d redis --requirepass "123456" //启动Redis
brew services start rabbitmq
http://localhost:15672
1.浏览器中输入 http://localhost:15672
2.输入用户名和密码,均为 guest
docker pull rabbitmq:management //下载RabbitMQ镜像
docker run --name rabbit --restart=always -p 15672:15672 -p 5672:5672 -d rabbitmq:management //启动RabbitMQ,默认guest用户,密码也是guest。
brew services start elasticsearch@6
https://localhost:9200
cd Users/zhangdada/elasticsearch-head
npm run start
http://localhost:9100
docker pull elasticsearch:7.9.2 //下载elasticsearch镜像
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx512m" elasticsearch:7.9.2 //启动elasticsearch
docker exec -it elasticsearch /bin/bash //进入elasticsearch容器
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.9.2/elasticsearch-analysis-ik-7.9.2.zip //安装ik分词器
docker pull nginx //下载nginx镜像
docker run --name nginx --restart=always -p 80:80 -p 443:443 -d -v /usr/local/nginx/nginx.conf:/etc/nginx/nginx.conf -v /usr/local/vue:/usr/local/vue -v /usr/local/upload:/usr/local/upload nginx //启动nginx,映射本地配置文件
brew services start kibana@6
kibana
http://localhost:5601/ 进入kibana管理工具的页面
docker run --name redis --restart=always -p 6379:6379 -d redis --requirepass "123456"