1.下载镜像docker pull mysql
2.运行docker run -itd --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=1234 mysql
3.复制配置文件docker cp mysql:/etc/mysql/my.cnf /home/mysql/my.cnf
4.重新运行
下载镜像
docker pull mysql
运行
docker run -itd --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=1234 mysql
复制配置文件
mkdir /home/mysql# 复制mysql 配置文件docker cp mysql:/etc/mysql/my.cnf /home/mysql/my.cnf# 修改my.cnf 配置文件secure-file-priv属性secure-file-priv= /var/lib/mysql# 设置忽略表名大小写sudo tee -a /home/mysql/my.cnf <<-'EOF' lower_case_table_names=1 EOF# 删除旧实例docker rm -f mysql
重新运行
docker run \ --name mysql \ -p 3306:3306 \ -v /home/mysql/data:/var/lib/mysql \ -v /home/mysql/log:/var/log/mysql \ -v /home/mysql/my.cnf:/etc/mysql/my.cnf \ -e MYSQL_ROOT_PASSWORD=1234 \ --restart=always \ --privileged=true \ -d mysql
修改密码
# 进入mysql容器内部docker exec -it mysql /bin/bash# 登录mysqlmysql -uroot -p# 输入密码# 切换数据库use mysql;# 授权root用户远程访问权限grant all privileges on *.* to 'root'@'%' ;# 修改密码加密方式alter user 'root' @'%' identified with mysql_native_password by '1234';alter user 'root' @'localhost' identified with mysql_native_password by '1234';# 刷新权限flush privileges;