当前位置:Gxlcms > mysql > 重命名mysql数据库的五个方法

重命名mysql数据库的五个方法

时间:2021-07-01 10:21:17 帮助过:631人阅读

五个改mysql数据库名的方法: 1. RENAME DATABASE db_name TO new_db_name 这个。。这个语法在mysql 5.1.7中被添加进来,到了5.1.23又去掉了。据说有可能丢失数据。还是不要用的好。详见: 2.如果所有表都是MyISAM类型的话,可以改文件夹的名字 关闭mysqld

  五个改mysql数据库名的方法:

  1. RENAME DATABASE db_name TO new_db_name

  这个。。这个语法在mysql 5.1.7中被添加进来,到了5.1.23又去掉了。据说有可能丢失数据。还是不要用的好。详见:

  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的优化版。

人气教程排行