挂载的作用其实说白了就是备份。防止数据库文件损害或者数据库被误删导致数据丢失。
创建一个文件名为my.cnf内容如下
# Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; version 2 of the License.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#
# The MySQL Server configuration file.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html
[mysqld]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
secure-file-priv= NULL
default_authentication_plugin=mysql_native_password
# Custom config should go here
!includedir /etc/mysql/conf.d/
server-id=200
如果已经安装了mysql需要对mysql容器进行卸载。
卸载后在自己准备保存挂载数据的地方创建目录结构如下,并将my.cnf放置到conf文件夹中
创建好之后重安装mysql的容器
创建一个名为mysql的容器,并且配置相关信息。把自己的目录位置替换到下面的我的目录位置中
docker run -it \
--name mysql \
-p 3306:3306 \
--privileged \
-e MYSQL_ROOT_PASSWORD=123 \
-v /etc/localtime:/etc/localtime \
-v /usr/local/software/mysql/3306/conf/my.cnf:/etc/mysql/my.cnf \
-v /usr/local/software/mysql/3306/data:/var/lib/mysql \
-v /usr/local/software/mysql/3306/mysql-files:/var/lib/mysql-files \
-d mysql
创建成功后log一下,发现已经成功了。
还要确认是否挂载成功。
开启mysql服务后
使用windows里的navicat连接到CentOS里的数据库。上篇文章有写如何连接的。
CentOS使用docker安装mysql并使用navicat 远程链接-CSDN博客
并且创建数据库和表
创建完成后在CentOS中进行访问
访问成功而且有数据
这时候打开自己之前创建用于保存挂载数据的位置查看是否有新建的库和表的信息
打开后发现已经自动开启挂载了。有库和表的备份信息了。