安全快速修改Mysql数据库名的5种方法

 更新时间:2014年04月24日 09:08:34   作者:  
mysql中如何重命名数据库?这篇文章主要介绍了安全快速修改Mysql数据库名的5种方法,需要的朋友可以参考下

1. RENAME DATABASE db_name TO new_db_name

这个。。这个语法在mysql 5.1.7中被添加进来,到了5.1.23又去掉了。
据说有可能丢失数据。还是不要用的好。
详见: http://dev.mysql.com/doc/refman/5.1/en/rename-database.html

2.如果所有表都是MyISAM类型的话,可以改文件夹的名字
关闭mysqld
把data目录中的db_name目录重命名为new_db_name
开启mysqld

3.重命名所有的表

复制代码 代码如下:
CREATE DATABASE new_db_name;
RENAME TABLE db_name.table1 TO new_db_name.table1,
db_name.table2 TO new_db_name.table2;
DROP DATABASE db_name;

4. mysqldump导出数据再导入

复制代码 代码如下:
mysqldump -uxxxx -pxxxx -h xxxx db_name > db_name_dump.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”

5.使用shell脚本重命名所有的表

复制代码 代码如下:
#!/bin/bash

mysqlconn=”mysql -u xxxx -pxxxx -S /var/lib/mysql/mysql.sock -h localhost”
olddb=”db_name”
newdb=”new_db_name”

#$mysqlconn -e “CREATE DATABASE $newdb”
params=$($mysqlconn -N -e “SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='$olddb'”)

for name in $params; do
$mysqlconn -e “RENAME TABLE $olddb.$name to $newdb.$name”;
done;

#$mysqlconn -e “DROP DATABASE $olddb”

就是方法3的优化版。

小编注:以上这些操作都是危险的,所以请在执行操作前,备份你的数据库!!

相关文章

  • 远程连接mysql错误代码1130的解决方法

    远程连接mysql错误代码1130的解决方法

    这篇文章主要介绍了远程连接mysql错误代码1130的解决方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-12-12
  • MySQL导入导出.sql文件及常用命令小结

    MySQL导入导出.sql文件及常用命令小结

    在MySQL Qurey Brower中直接导入*.sql脚本,是不能一次执行多条sql命令的,下面为大家介绍下MySQL导入导出.sql文件及常用命令
    2014-08-08
  • MySQL中的乐观锁,悲观锁和MVCC全面解析

    MySQL中的乐观锁,悲观锁和MVCC全面解析

    这篇文章主要介绍了MySQL中的乐观锁和悲观锁和MVCC全面解析的相关资料,帮助大家更好的理解和学习MySQL数据库,感兴趣的朋友可以了解下
    2021-01-01
  • Javaweb之MySQL中的多表查询语句

    Javaweb之MySQL中的多表查询语句

    初学者比较容易理解的多表查询,就是直接查询两张表的字段,当然,星号可以改为对应的字段名,这篇文章主要介绍了Javaweb MySQL中的多表查询,需要的朋友可以参考下
    2023-07-07
  • 使用xshell实现代理功能并navicat for MySQL 进行测试

    使用xshell实现代理功能并navicat for MySQL 进行测试

    本文介绍使用xshell实现代理功能并使用navicat for MySQL进行测试,文章主要利用SSH连接工具xshell就可以实现简单的代理功能,下面实现过程,需要的小伙伴可以参考一下
    2022-02-02
  • linux下mysql 5.1 和 5.7的安装教程

    linux下mysql 5.1 和 5.7的安装教程

    下面小编就为大家分享一篇linux下mysql 5.1 和 5.7的安装教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2017-12-12
  • mysql中格式化日期详解

    mysql中格式化日期详解

    最近因为工作需要,要使用mysql查询记录可如果有时间戳字段时,查看结果不方便,不能即时看到时间戳代表的含义,所以这篇文章就提供mysql格式换时间函数,可以方便的看到格式化后的时间。有需要的朋友们可以参考借鉴,下面来一起看看吧。
    2016-11-11
  • mysql 海量数据的存储和访问解决方案

    mysql 海量数据的存储和访问解决方案

    数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器
    2010-05-05
  • MySQL必备的常见知识点汇总整理

    MySQL必备的常见知识点汇总整理

    这篇文章主要介绍了MySQL必备的常见知识点,结合实例形式汇总整理了mysql各种常见知识点,包括登录、退出、创建、增删改查、事务等知识点与操作注意事项,需要的朋友可以参考下
    2020-05-05
  • mysql使用instr达到in(字符串)的效果

    mysql使用instr达到in(字符串)的效果

    本文主要介绍了mysql使用instr达到in(字符串)的效果,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04

最新评论