MySQL数据库重命名的快速且安全方法(3种)

作者:sh_c_2450957609 时间:2024-01-27 23:33:54 

目录
  • MySQL数据库重命名的方法

    •  第一种方法:rename database 弃用了

    • 第二种方法:mysqldump 备份

    • 第三种方法:快速且安全 遍历 rename table

  • Mysql:使用Navicat实现定时备份

    • 一、功能描述

    • 二、实现步骤

MySQL数据库重命名的方法

Innodb引擎的表如何改数据库名,MyISAM引擎又该如何操作。

如果表是MyISAM引擎可以直接去到数据库目录mv重命名文件夹就可以。 Innodb完全不行,会提示相关表不存在。

 第一种方法:rename database 弃用了


RENAME database old_db_name TO new_db_name

这个是5.1.7到5.1.23版本可以用的,但是官方不推荐,会有丢失数据的危险

第二种方法:mysqldump 备份

1.创建需要改成新名的数据库。
2.mysqldum 导出要改名的数据库
3.删除原来的旧库(确定是否真的需要)
当然这种方法虽然安全,但是如果数据量大,会比较耗时


mysqldump -uxxxx -pxxxx -h xxxx db_name > db_name_dump.SQL #备份
mysqldump -uroot -p123456 -h127.0.0.1 test > test.sql #备份
mysql -uxxxx -pxxxx -h xxxx -e “CREATE DATABASE new_db_name”
mysql -uxxxx -pxxxx -h xxxx new_db_name < db_name_dump.SQL #还原
mysql -uxxxx -pxxxx -h xxxx -e “DROP DATABASE db_name”

第三种方法:快速且安全 遍历 rename table

我这里就用一个脚本,很简单,相信大家都看的懂


#!/bin/bash
# 假设将db_name数据库名改为new_db_name
# MyISAM直接更改数据库目录下的文件即可
mysql_login=mysql -uroot -p123456
olddb=”db_name”
newdb=”new_db_name”

#$mysql_login -e “CREATE DATABASE $newdb
$mysql_login -e 'create database if not exists $newdb'
list_table=$($mysql_login -Nse "select table_name from information_schema.TABLES
   where TABLE_SCHEMA='$olddb'")
for table in $list_table;
do
$mysql_login -e "rename table $olddb.$table to $newdb.$table"
done;
#$mysqlconn -e “DROP DATABASE $olddb”

这里用到了rename table,改表名的命令,但是如果新表名后面加数据库名,就会将老数据库的表移动到新的数据库,所以,这种方法即安全,又快速。

最后附rename用法

命令:rename table 原表名 to 新表名;

例如:在表MyClass名字更改为YouClass
mysql> rename table MyClass to YouClass;

当你执行 RENAME 时,你不能有任何锁定的表或活动的事务。你同样也必须有对原初表的 ALTER 和 DROP 权限,以及对新表的 CREATE 和 INSERT 权限。

如果在多表更名中,MySQL 遭遇到任何错误,它将对所有被更名的表进行倒退更名,将每件事物退回到最初状态。

Mysql:使用Navicat实现定时备份

一、功能描述

需实现每天将数据库中数据备份,若出现问可及时还原备份;

二、实现步骤

打开navicat点击计划
点击新建批处理作业

MySQL数据库重命名的快速且安全方法(3种)

选择要备份的数据库

MySQL数据库重命名的快速且安全方法(3种)

点击选择并保存

MySQL数据库重命名的快速且安全方法(3种)

点击上方工具条中设置计划任务

MySQL数据库重命名的快速且安全方法(3种)

点击计划,点击新建,设置执行的时间

MySQL数据库重命名的快速且安全方法(3种)

MySQL数据库重命名的快速且安全方法(3种)

设置成功,数据默认备份在C:\Users\Administrator\Documents\Navicat\MySQL\servers中;

在navicat中点击备份也可看到,点击选中备份文件即可还原备份;

认备份在C:\Users\Administrator\Documents\Navicat\MySQL\servers中;

在navicat中点击备份也可看到,点击选中备份文件即可还原备份;

MySQL数据库重命名的快速且安全方法(3种)

来源:https://blog.csdn.net/u010565545/article/details/104218635

标签:MySQL,数据库,重命名
0
投稿

猜你喜欢

  • 在PyCharm导航区中打开多个Project的关闭方法

    2022-08-11 01:39:11
  • JavaScript数据结构和算法之图和图算法

    2024-05-03 15:32:34
  • python 如何对logging日志封装

    2023-07-06 11:27:36
  • Python标准库之Sys模块使用详解

    2022-03-30 04:45:59
  • 什么是python的自省

    2022-04-24 19:06:50
  • Python函数参数类型及排序原理总结

    2021-12-29 05:12:10
  • MySQL数据库事务隔离级别详解

    2024-01-26 12:34:03
  • javascript实现删除前弹出确认框

    2024-04-18 09:28:54
  • pandas行和列的获取的实现

    2022-06-05 07:57:49
  • Python 堆叠柱状图绘制方法

    2022-05-15 01:39:00
  • GO语言不固定参数函数与匿名函数的使用

    2024-02-17 14:42:17
  • Vue+Jwt+SpringBoot+Ldap完成登录认证的示例代码

    2024-05-09 09:38:16
  • 现代 javscript 编程

    2011-04-21 16:24:00
  • Python模块的制作方法实例分析

    2021-09-06 05:57:26
  • Go各时间字符串使用解析

    2023-06-25 02:15:17
  • 做网站要习惯化与去习惯化

    2008-06-18 13:36:00
  • python离散建模之感知器学习算法

    2022-06-10 04:49:47
  • Ie6不支持max的解决办法

    2008-12-31 13:11:00
  • Display SQL Server Login Mode

    2024-04-18 10:55:50
  • Web标准的web UI

    2008-01-02 12:34:00
  • asp之家 网络编程 m.aspxhome.com