centos7在docker中安装mysql5.7

给docker设置阿里加速器

链接: 阿里云容器服务地址.
centos7在docker中安装mysql5.7_第1张图片

centos7在docker中安装mysql5.7_第2张图片

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://k0jpfupn.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

按照上面的执行就行。设置阿里加速是为了,下载mysql镜像时能快些。

docker安装mysql

# 1.下载mysql镜像
docker pull mysql:5.7

# 2.创建文件夹,为了后面挂载容器文件,避免容器崩了数据也没了
mkdir -p /data/mysql/conf && mkdir -p /data/mysql/data && mkdir -p /data/mysql/log

# 3.在conf目录下,创建my.cnf文件,并填上如下内容
[mysqld]
user=mysql
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
default_authentication_plugin=mysql_native_password
secure_file_priv=/var/lib/mysql
expire_logs_days=7
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
max_connections=1000
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4

# 4.创建mysql容器并挂载目录,设置初始密码时要复杂一点,不然后面登录时一直报密码错误
 docker run --name mysql -p 3306:3306 -v /data/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /data/mysql/data:/var/lib/mysql -v /data/mysql/log:/var/log/mysql -e MYSQL_ROOT_PASSWORD=root12345 --restart=always -d mysql:5.7

记住mysql 配置文件、数据和日志的挂载地址,万一那啥的情况下用得上。

修改root的密码

# 进入mysql容器
docker exec -it 容器id bash
# 使用root账户
mysql -uroot -p
# 输入原本的密码,上一步启动容器时设置的初始密码是root
root12345
# 修改root密码,下面两步都要执行,密码设置成一样的,否则容器重启会报密码错误;修改普通账户的密码只用执行第一步
SET PASSWORD FOR 'root' = PASSWORD('xxxxxxxxx');
SET PASSWORD FOR 'root'@'localhost'=PASSWORD('xxxxxxxxx');
# 退出mysql编辑界面和容器内,敲两次 exit 就行了
exit

修改完就生效了,不用重启容器。

你可能感兴趣的:(mysql数据库,mysql,docker,centos)