因为在Linux下,MySQL的表名区分大小写,而在Windows下是不区分,所以在linux下所以配置下mysql server不区分大小写才可以。因为要修改mysql server的配置,所以需要重启mysql server,为了数据安全考虑,先备份数据库数据然后再进行修改数据,然后再把备份数据导入进去,下面咱一起看看具体操作过程~
数据库备份
找到数据库实例
进入docker中 将该实例中的所有的数据库备份
mysqldump -uroot -p --all-databases > sqlfile.sql;
将docker中的数据库备份文件复制到宿主机上
docker cp 19ca6ebe828f:/sqlfile.sql /opt
配置mysql不区分大小写
启动命令
true --name mysql_test -e MYSQL_ROOT_PASSWORD=123456 -v /etc/mysql/my.cnf:/etc/mysql/my.cnf -v /docker/mysql/data:/docker/mysql/data -d mysql
privileged=true 参数
是否让docker 应用容器 获取宿主机root权限(特殊权限-)
/etc/mysql/my.cnf
[mysqld]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /docker/mysql/data
secure-file-priv= NULL
lower_case_table_names=1
lower_case_table_names
0表示区分大小写 1表示不区分大小写
创建目录
mkdir /var/run/mysqld/
mkdir /docker/mysql/data
启动命令中的-v 表示将宿主机上的文件映射到容器里面 然后容器中生成的数据库数据文件也会映射到宿主机上
宿主机/docker/mysql/data即是数据库数据
将之前备份的数据导入进去
source /opt/sqlfile.sql;
tc/mysql/my.cnf
/etc/mysql/my.cnf:/etc/mysql/my.cnf/etc/mysql/my.cnf:/etc/mysql/my.cnf/etc/mysql/my.cnf:/etc/mysql/my.cnf/etc/mysql/my.cnf:/etc/mysql/my.cnf/etc/mysql/my.cnf:/e