前期配置:虚拟机
安装VirtyalBox 管理器
vagrant安装centos7的虚拟机可以使用镜像
科大镜像:https://docker.mirrors.ustc.edu.cn/
网易:https://hub-mirror.c.163.com/
阿里云镜像获取地址:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors登录后
# 中科大的镜像
vagrant init centos7 https://mirrors.ustc.edu.cn/centos-cloud/centos/7/vagrant/x86_64/images/CentOS-7.box
# 启动
vagrant up
Docker安装文档:https://docs.docker.com/install/linux/docker-ce/centos/
1、卸载系统之前docker的旧版本,没有安装过可以跳过这步进行下一步
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2 设置存储库--这里使用的是aliyun镜像,下载更快
sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3 安装DOCKER引擎
sudo yum install docker-ce docker-ce-cli containerd.io
4 启动Docker.
sudo systemctl start docker
5 配置镜像加速(一步一步执行)
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://4mzul3fc.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
6 设置docker开机自启动
sudo systemctl enable docker
7 查看Docker虚拟机上下载有什么镜像
sudo docker images
1 拉去mysql镜像(版本号自定义)
sudo docker pull mysql:8.0
2 启动mysql容器 并添加映射
sudo docker run -p 3306:3306 --name指定容器名字
-v目录挂载 -p指定端口映射 -e设置mysql参数 -d后台运行
sudo 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=root \
-d mysql:8.0
3 切换root权限
su - root
4 进入mysql容器
docker exec -it 容器名称|容器id bin/bash
docker exec -it mysql /bin/bash
无法启动可以查看mysql日志:
docker logs mysql
报错误--secure-file-priv
原因:MYSQL新特性secure_file_priv,对读写文件的限制,没有权限,secure-file-priv参数是用来限制LOAD DATA, SELECT … OUTFILE, and LOAD_FILE()传到哪个指定目录的。
修改 my.cnf 文件,在 [mysqld] 块下,如果没有 secure_file_priv 则新增
指定目录:secure_file_priv=/path/to/data
不限目录:secure_file_priv=
禁止操作:secure_file_priv=NULL
5 修改mysql默认配置my.cnf
vi /mydata/mysql/conf/my.cnf
################这是配置信息#################
[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
################以上是配置信息#################
#获取初始密码
grep "password" /var/log/mysqld.log
#登录数据库
mysql -u root -p'你的密码'
#修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';
#设置密码永不过期
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
#刷新系统权限表
flush privileges;
首先用下面的命令先进入mysql这个数据库
use mysql
如果是允许任何ip访问你的mysql,就用下面的命令(一般云服务器访问mysql使用这条命令)
grant all privileges on *.* to root@"%" identified by "你的密码";
如果是在自己电脑上的虚拟机的话允许本地访问,就用这条命令
grant all privileges on *.* to root@"localhost" identified by "你的密码";
完成之后一定一定记得刷新权限表
flush privileges;
#接着查询数据库用户的相关信息
select user,host from user;
1 在docker hub搜索redis镜像
sudo docker search redis
2 拉取redis镜像到本地--不填写版本号,默认最新版
sudo docker pull redis:6.0.10
3 创建redis目录,并且在目录下touch redis.conf
mkdir -p /mydata/redis/conf
cd上面的目录下touch redis.conf
4 启动redis容器 并根据上面的目录添加映射(默认启动mydata/redis/data:/data \的配置文件,这里可以进行配置redis)
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
5 直接进去redis客户端。(直接启用redis是没有持久化的,等一些配置都是默认的)
docker exec -it redis redis-cli
设置redis密码:
config set requirepass 密码;
6 想要Redis持久化,需要修改配置文件。创建并修改/usr/local/redis/redis.conf
在redis.conf中,输入修改一下代码,实现持久化 开启aof持久化
appendonly yes
以及bind 0.0.0.0 开启远程权限
修改完之后使用docker restart redis 进行重启Redis。
redis可视化官方软件(MacOS付费)RedisDesktopManager
MacOS可以使用AnotherRedisDesktopManager代替
GitHub 地址(开源):
https://github.com/qishibo/AnotherRedisDesktopManager
conf/setting.xml下配置
<mirror>
<id>nexus-aliyunid>
<mirrorOf>centralmirrorOf>
<name>Nexus aliyunname>
<url>