docker安装mysql

前提已安装docker、docker-compost

新建脚本文件

vi  start_mysql.sh

将以下文件复制到脚本中


#.1.Confirm the os is centos 7.x
# cat /etc/redhat-release && uname -r
echo -e "\033[32m[Note] Apply for Centos 7.x, Ubuntu 20.x, Kylin v10, EulerOS 2.5\033[0m"
echo 初始化数据库目录,创建初始密码为123456
#.2.Enable-ip-forward
docker images
mkdir -p /docker-opt/mysql/data /docker-opt/mysql/logs /docker-opt/mysql/conf
touch my.cnf
docker run -p 3306:3306 --name mysql -v /docker-opt/mysql/conf:/etc/mysql/conf.d -v /docker-opt/mysql/logs:/logs -v /docker-opt/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.44
docker start mysql
ls /docker-opt/mysql/data
docker exec -it mysql /bin/bash
mysql -uroot -p'123456'
SET PASSWORD FOR 'root' = PASSWORD('rootpassword');
SET PASSWORD FOR 'root'@'%' = PASSWORD('rootpassword');
FLUSH PRIVILEGES;
exit
#################################################################
   #注意!!!!!!!!
   #在执行docker exec -it mysql /bin/bash后的命令,可能因为其他原因
#################################################################
#.Do it again
# systemctl stop docker
# systemctl disable docker.service
# rm -rf /opt/{docker,docker.service}
# rm -f /etc/systemd/system/docker.service
# rm -f /usr/bin/{docker*,containerd*,ctr,runc}
# GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'rootpassword' WITH GRANT OPTION;


执行文件

chmod 755  start_mysql.sh
./start_mysql.sh

创建mysql用户并授权

docker exec -it mysql /bin/bash
mysql -uroot -p'123456'
CREATE USER 'mindoc'@'%' IDENTIFIED BY 'mindocpassword'; 
GRANT ALL PRIVILEGES ON *.* TO 'mindoc'@'%' IDENTIFIED BY 'mindocpassword';
CREATE DATABASE mindoc; 
posted @ 2025-06-24 15:49  youemby  阅读(28)  评论(0)    收藏  举报