安装Docker
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
安装MySQL
拉取镜像
docker pull mysql:5.7
启动
# 设置端口映射、容器名、log、data、conf目录挂载、默认密码、镜像
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:5.7
修改配置
[root@114514 conf]# pwd
/mydata/mysql/conf
[root@hadoop-104 conf]# cat 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
重启容器生效
重置密码
docker exex -it mysql bash
root@dff10b5465b4:/#
mysqladmin -uroot -proot password 123456
授权登录
root@114514:~# docker exec -it mysql bash
root@dff10b5465b4:/# mysql -uroot -p123456
mysql> use mysql
mysql> grant all privileges on *.* to root@'%' identified by '123456';
mysql> flush privileges;
然后退出重启服务docker restart mysql
如果是使用navicat,有概率出现权限密码都正确但就是无法登录的情况,可以尝试删除重建connection
安装Redis
mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf
echo "appendonly yes" >> /mydata/redis/conf/redis.conf
echo "tcp-keepalive 60" >> /mydata/redis/conf/redis.conf
echo "timeout 0" >> /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
docker update redis --restart=always