需要将数据库名称
old_db
想改名为new_db
RENAME DATABASE
来重命名数据库,但此后版本,因为安全考虑,删掉了这一条命令。当数据库体积比较小时,最快的方法是使用mysqldump
命令来创建整个数据库的转存副本,然后新建数据库,再把副本导入到新数据库中。
先创建数据库
create database new_db;
使用mysqldump导出数据
mysqldump -uroot -p123456 --set-gtid-purged=OFF old_db > /tmp/old_db.sql
仅是做普通的本机备份恢复时,可以添加--set-gtid-purged=OFF
参数,作用是在备份时候不出现GTID信息。
导入数据到新库
mysql -uroot -p123456 new_db < /tmp/old_db.sql
导出整个数据
mysqldump -u 用户名 -p 数据库名 > 导出的文件名
mysqldump -u dbuser -p dbname > dbname.sql
导出一个表
mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
mysqldump -u dbuser -p dbname users> dbname_users.sql
导出一个数据库结构
mysqldump -u dbuser -p -d --add-drop-table dbname >d:/dbname_db.sql
-d
没有数据 --add-drop-table
在每个create
语句之前增加一个drop table
。
导入数据库
常用source
命令进入mysql
数据库控制台,如
> mysql -uroot -proot
> use 数据库
然后使用source
命令,后面参数为脚本文件(如这里用到的.sql),source d:/dbname.sql
。
用root用户进入容器:
docker exec -it -u root containerId bash
进入容器之后使用上面的mysql相关指令进行操作即可。
从容器中导出到本地计算机
sudo docker cp feb39d3faffb:/etc/bash.bashrc ~/Downloads
或者反过来
sudo docker cp /tmp/index.html feb39d3faffb:/etc/
分享计划
博客内容将同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/
许可协议
本文采用 署名-非商业性使用-相同方式共享 4.0 国际 许可协议,转载请注明出处。