How can we rename the database name in MySQL 5.0

后端 未结 5 1018
情话喂你
情话喂你 2021-02-07 21:41

I am using MySQL 5.0.

I have created a database named accounts, but now I want to change the database name to FinanceAccounts.

相关标签:
5条回答
  • 2021-02-07 22:05

    The best way is probably to rename each of the tables inside the database to the new name. For example:

    Update: There are two steps here

    1. Create a new blank database as you want say "new accounts"

      CREATE DATABASE newaccounts;

    2. Migrate each table one-by-one

      RENAME TABLE accounts.tablename TO newaccounts.tablename;

    See http://dev.mysql.com/doc/refman/5.0/en/rename-table.html for more information.

    0 讨论(0)
  • 2021-02-07 22:11

    To Rename MySQL Database name follow the following steps:

    1) Click the database name 
    
    2) Click at Operations from the top menu
    
    3) Type new database name Under Rename database to:
    

    0 讨论(0)
  • 2021-02-07 22:16

    here , I rename mydb database to ecommerce, you follow this steps, but usin phpmyadmin is to easy

    CREATE DATABASE `ecommerce` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
    
    RENAME TABLE `mydb`.`Articles` TO `ecommerce`.`Articles` ;
    
    RENAME TABLE `mydb`.`Categories` TO `ecommerce`.`Categories` ;
    
    RENAME TABLE `mydb`.`Utilisateurs` TO `ecommerce`.`Utilisateurs` ;
    
    ALTER TABLE `Articles` ADD CONSTRAINT fk_Articles_Categories FOREIGN KEY ( Categorie_id ) REFERENCES Categories( id ) ON DELETE NO ACTION ON UPDATE NO ACTION ;
    
    DROP DATABASE `mydb` ;
    
    0 讨论(0)
  • 2021-02-07 22:18

    I think there is only one way (besides renaming directory in the MySQL datadir which will fail for InnoDB tables):

    • create new database (with new name)
    • make dump of old database
    • import dumped data into new database
    • delete old database

    To create the new DB:

    mysql> CREATE DATABASE new_database;
    

    To create the dump of the old DB:

    mysqldump -u "your_username" -p --lock-tables old_database > old_database_dump.sql
    

    To import dumped data into the new DB:

    mysql -u "your username" -p new_database  < old_database_dump.sql
    

    To delete the old DB:

    mysql> DROP DATABASE old_database;
    

    Bear in mind that your permissions on the old DB will need to be deleted as well. See here for more info: Revoke all privileges for all users on a MySQL DB

    MySQL 5.1.7 to MySQL 5.1.22 had a RENAME {DATABASE | SCHEMA} db_name TO new_db_name; command but this one has been removed in MySQL 5.1.23 for being too dangerous.

    0 讨论(0)
  • 2021-02-07 22:18

    MySQL kinda sucks for this. The only solid reliable solution is to use phpMyAdmin.

    Login > click Scheme > click "Operations" > find "Rename database to:" > write NewName > click "Go."

    As simple as that. All permissions are carried over.

    0 讨论(0)
提交回复
热议问题