介绍
作为管理员,您可能需要更改数据库的名称。但是,为了安全起见,MySQL 5.1.23删除了直接重命名数据库的命令。
本指南提供了三个重命名MySQL数据库的选项。
先决条件
- cPanel服务器管理软件(可选)
- 如果远程工作,则使用SSH登录服务器
- 用户帐户sudo或根特权
- 进入命令行/终端窗口
- MySQL数据库的用户名和密码
使用cPanel重命名MySQL数据库
配置了cPanel的服务器提供了重命名MySQL数据库的最简单方法。
1.登录cPanel。
2.在数据库部分中,点击MySQL数据库。
3.将打开一个新页面。向下滚动到要重命名的数据库并选择重命名下链接行动列。
4.输入新的数据库名称,然后单击继续。
从命令行重命名MySQL数据库
如果你的服务器不支持cPanel,你需要创建一个新的数据库并导入数据。
1.登录到服务器,并打开命令行/终端窗口。(如果您正在远程工作,请通过SSH连接到服务器。)
2.为数据库创建一个转储文件:
mysqldump -u [UserName] -p[Password] -R [DB_Name] > [DB_Name].sql
取代【用户名】和(密码)使用数据库的实际凭据,并进行替换(DB_Name)和你要更改的数据库的名字一样。中间不应该有空格- p
和密码。的- r
标志表示转储文件应该保留所有 存储过程和功能。
您可能希望将此文件复制到另一个位置作为备份。
3.控件创建一个新的空白数据库mysqladmin
命令:
mysqladmin -u [UserName] -p[password] create [New_DB_Name]
注意:确保数据库名没有被使用。
4.将转储文件导入到新创建的数据库中:
mysql -u [UserName] -p[Password] [New_DB_Name] < [DB_Name].sql
5.删除旧的MySQL数据库名(可选):
mysqladmin -u [Username] -p[Password] drop [DB_Name]
跳过这一步也无妨。但是,它可以帮助您保持干净的数据库环境。
用InnoDB重命名表
InnoDB存储引擎是MySQL 5.5以来的所有版本中都包含的一个特性。它可以用来创建一个新数据库,然后将每个表从旧数据库重命名为新数据库。
1.首先创建一个新的数据库:
mysql -u [UserName] -p[Password] create [New_DB_Name]
取代【用户名】使用数据库用户名,和(密码)用那个账户的密码取代(New_DB_Name)随便你叫什么名字
2.使用脚本重命名数据库中的所有表:
mysql -u [UserName] -p[Password] [DB_Name] -sNe 'show tables' | while read table;执行mysql -u [UserName] -p [PassWord] -sNe "RENAME TABLE [DB_Name]. "命令。表[New_DB_Name]。美元表”;完成
上面的脚本遍历数据库中的每个表并重命名它。在脚本中提供密码,以避免在每个周期中都输入密码。
3.如果数据库很小,可以手动移动表。这可能没有运行脚本那么可怕,但是很耗时。首先登录到MySQL shell:
mysql -u [UserName] -p[Password]
使用重命名表
命令重命名表:
重命名表[DB_Name]。[Table1] TO New_DB_Name.Table1;
而不是(表1),在现有表中键入表的名称[DB_Name]数据库。如果该数据库中有多个表,则需要对每个表重复此操作。
结论
通过遵循本指南,您现在应该知道如何重命名MySQL数据库。
当使用旧版本的MySQL(5.1.7或更老的版本)时,您可能有能力使用重命名数据库命令.强烈建议您更新数据库以确保安全性和稳定性,并使用本指南中的重命名方法。