做网站广告词公司做网站哪个好
news/
2025/10/8 6:11:45/
文章来源:
做网站广告词,公司做网站哪个好,python网站开发用什么数据库,网站开发 h51 前言Docker容器原则上是短暂的#xff0c;如果容器被删除或损毁#xff0c;数据或配置将丢失#xff0c;所以上个章节部署的MySQL只适合于测试环境#xff0c;由于生产的需求#xff0c;本章将使用Docker卷机制持久保存Docker容器中创建的数据。2 最佳实践2.1 环境配置2…1 前言Docker容器原则上是短暂的如果容器被删除或损毁数据或配置将丢失所以上个章节部署的MySQL只适合于测试环境由于生产的需求本章将使用Docker卷机制持久保存Docker容器中创建的数据。2 最佳实践2.1 环境配置2.1.1 系统环境配置IP Address 10.168.0.71Host Name anyOS CentOS 7.6 x86_642.1.2 软件环境配置2.2 非持久化方式启动MySQL2.2.1 下载MySQL服务器Docker镜像docker pull mysql/mysql-server:5.6其他版本的下载请使用以下命令docker pull mysql/mysql-server:5.5docker pull mysql/mysql-server:5.6docker pull mysql/mysql-server:5.7docker pull mysql/mysql-server:8.0docker pull mysql/mysql-server:latest下载完毕后你可以使用以下命令查看当前下载的镜像docker images可见如下显示REPOSITORY TAG IMAGE ID CREATED SIZEmysql/mysql-server 5.6 8fe1c25ccc38 6 weeks ago 218MB2.2.2 初始化一个非持久化实例docker run --name mysql1 -d mysql/mysql-server:5.6 --character-set-serverutf8 --collation-serverutf8_general_ci启动实力后可见如下显示87cb7f2615ff3f762332eb826566a566888e7ade0ecf5fe55cc4c462d7f2e9da可使用如下命令查看正在运行的容器docker ps可见如下显示CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES18682cd5edea mysql/mysql-server:5.6 /entrypoint.sh mysq… About a minute ago Up About a minute (healthy) 3306/tcp mysql12.2.3 检查MySQL启动的logdocker logs mysql12.2.4 获取初始化密码docker logs mysql1 21 | grep -i GENERATED ROOT PASSWORD:可见如下输出Entrypoint] GENERATED ROOT PASSWORD: 63JyseNLAsYf4vnydUS0D3x4NasF注以上密码为“[im4DdeRId3gOM0bAKIBzumJYBr”2.2.5 从容器内部连接MySQL服务器docker exec -it mysql1 mysql -uroot -p然后我们需要使用如下命令修改root密码才能继续alter user rootlocalhost identified by rootpassword;如果有以下错误提示ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near identified by rootpassword at line 1请使用如下命令配置set password for rootlocalhostPASSWORD(rootpassword);2.2.6 创建授权账号grant all privileges on *.* to root% identified by rootpassword;flush privileges;2.2.7 查询实例IPdocker inspect mysql1可见如下显示[...]Networks: {bridge: {IPAMConfig: null,Links: null,Aliases: null,NetworkID: e3134a755397c4841912004d8ecff4bf918f6484e9873e3da815946062e87940,EndpointID: 8ae10d4677c284e21523fbf4457aa8b0c2a297999a717d111f6b05c12a56fa0a,Gateway: 172.17.0.1,IPAddress: 172.17.0.2,IPPrefixLen: 16,IPv6Gateway: ,GlobalIPv6Address: ,GlobalIPv6PrefixLen: 0,MacAddress: 02:42:ac:11:00:02,DriverOpts: null}}[...]注参数”IPAddress”的声明即实例当前地址2.2.8 测试登录yum install -y mariadb安装完客户端后可使用如下命令测试mysql -uroot -p -h 172.17.0.22.3 持久化方式启动MySQL2.3.1 持久化的说明docker inspect mysql1可见如下输出[...]Mounts: [{Type: volume,Name: 6757102195b9452306e48650023d366d2c3d72b51764878f08279bb58dca1cb2,Source: /data/docker-runningdata/volumes/6757102195b9452306e48650023d366d2c3d72b51764878f08279bb58dca1cb2/_data,Destination: /var/lib/mysql,Driver: local,Mode: ,RW: true,Propagation: }[...]如上所示“docker inspect”命令所输出的JSON文件– “Mount”关键字声明Docker卷相关定义– “Destination”关键字声明存于容器内部路径为“/var/lib/mysql”– “Source”关键字声明存于物理主机的卷路径为“/data/docker-runningdata/volumes/6757102195b9452306e48650023d366d2c3d72b51764878f08279bb58dca1cb2/_data”基于以上如果需要持久保存数据官方提供以下命令范式用于启动docker run --namemysql1 \--mount typebind,src/path-on-host-machine/my.cnf,dst/etc/my.cnf \--mount typebind,src/path-on-host-machine/datadir,dst/var/lib/mysql \-d mysql/mysql-server:tag2.3.2 创建数据目录和配置文件目录mkdir -p /data/docker/etc/mysqlmkdir -p /data/docker/data/2.3.3 复制实例数据到本地docker cp mysql1:/etc/my.cnf /data/docker/etc/mysqldocker cp mysql1:/etc/my.cnf.d /data/docker/etc/mysqldocker cp mysql1:/var/lib/mysql /data/docker/data/2.3.4 停止并删除之前的实例docker stop mysql1docker rm mysql12.3.5 启动MySQL数据库实例docker run --namemysql1 \--mount typebind,src/data/docker/etc/mysql/my.cnf,dst/etc/my.cnf \--mount typebind,src/data/docker/etc/mysql/my.cnf.d,dst/etc/my.cnf.d \--mount typebind,src/data/docker/data/mysql,dst/var/lib/mysql \-d mysql/mysql-server:5.6 \--character-set-serverutf8 \--collation-serverutf8_general_ci2.3.6 测试登录mysql -uroot -p -h 172.17.0.22.4 管理MySQL实例2.4.1 使用shell管理MySQL服务器docker exec -it mysql1 bash可见如下命令提示符bash-4.2#可使用如下命令查看MySQL的数据目录bash-4.2# ls /var/lib/mysql可见如下提示auto.cnf ib_logfile0 ib_logfile1 ibdata1 mysql mysql.sock performance_schema test2.4.2 管理MySQL容器的相关命令docker start mysql1docker restart mysql1docker stop mysql1docker rm mysql12.5 将容器加入一个特定的网络2.5.1 创建容器间的网络docker network create cmdschool-net可以使用如下命令确认网络的创建docker network ls可见如下显示NETWORK ID NAME DRIVER SCOPE42120d142861 bridge bridge locala44be59ebfd9 cmdschool-net bridge local5bf4d2d3d1a6 host host locale9ee5d7f4acc none null local2.5.2 停止并删除之前配置的实例docker stop mysql1docker rm mysql12.5.3 使用新的参数连接Docker网络docker run --namemysql1 \--mount typebind,src/data/docker/etc/mysql/my.cnf,dst/etc/my.cnf \--mount typebind,src/data/docker/etc/mysql/my.cnf.d,dst/etc/my.cnf.d \--mount typebind,src/data/docker/data/mysql,dst/var/lib/mysql \--networkcmdschool-net \-d mysql/mysql-server:5.6 \--character-set-serverutf8 \--collation-serverutf8_general_ci注留意“–network”参数2.5.4 查询当前实例的IPdocker inspect mysql1可见如下显示Networks: {cmdschool-net: {IPAMConfig: null,Links: null,Aliases: [4e0f2027134c],NetworkID: a44be59ebfd9319f7c0ae0dd26f4d41f0d576141481388346a0ff870ee2ed809,EndpointID: 76513bee3bddd2c80f611e93f003dbb6c9abd53d184ade5e35faf6bb3d19f3cf,Gateway: 172.19.0.1,IPAddress: 172.19.0.2,IPPrefixLen: 16,IPv6Gateway: ,GlobalIPv6Address: ,GlobalIPv6PrefixLen: 0,MacAddress: 02:42:ac:13:00:02,DriverOpts: null}}注参数”IPAddress”的声明即实例当前地址2.5.5 测试登录mysql -uroot -p -h 172.19.0.2注请自行安装mysql客户端参阅文档
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/931138.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!