Docker搭建MySQL并挂载数据的全过程
安装Docker
1、更新系统软件包
sudo apt-get update
2、安装依赖
sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release
3、添加Docker官方GPG密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
4、设置稳定仓库
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
5、更新软件包列表并安装Docker Engine
sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io
6、启动Docker服务
sudo systemctl enable docker sudo systemctl start docker
拉取MySQL镜像并创建容器
1、拉取MySQL镜像
docker pull mysql:latest
2、创建MySQL容器,并设置root密码、数据卷和端口映射
docker run --name mysql-container -e MYSQL_ROOT_PASSWORD=my-secret-pw -v /path/to/data:/var/lib/mysql -p 3306:3306 -d mysql:latest
连接到MySQL容器并测试
1、使用MySQL客户端连接到容器中的MySQL服务器
mysql -h 127.0.0.1 -P 3306 -u root -pmy-secret-pw
2、在MySQL命令行中执行以下命令,创建一个名为testdb
的数据库和一个名为testuser
的用户,并授权该用户访问testdb
数据库的所有权限,刷新权限并退出。
CREATE DATABASE testdb; CREATE USER 'testuser'@'%' IDENTIFIED BY 'testpassword'; GRANT ALL PRIVILEGES ON testdb.* TO 'testuser'@'%'; FLUSH PRIVILEGES; EXIT;
问题与解答栏目:本文相关的问题与解答如下
问题1:为什么需要将MySQL的数据目录挂载到宿主机上?
答:将MySQL的数据目录挂载到宿主机上可以保证数据的安全性,当容器被删除时,数据不会丢失,因为数据仍然存储在宿主机上,这也方便了数据的备份和迁移。
问题2:如何查看MySQL容器的状态?
答:可以使用以下命令查看MySQL容器的状态:
docker ps | grep mysql-container
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/372603.html