更改数据库
被取消的命令MySQL 之前提供了一个 rename database db_old to db_new 的命令来直接对数据库改名,可能由于实现的功能不完备(比如,这条命令可能是一个超大的事务,或者是由于之前的表很多还是 MyISAM 等),后来的版本直接取消了这条命令。更改数据库名大致上有以下几种方案:
一、mysqlmp 导入导出要说最简单的方法,就是直接用 mysqlmp 工具,在旧库导出再往新库导入(最原始、最慢、最容易想到)的方法:旧库 yttdb_old 导出(包含的对象:表、视图、触发器、事件、存储过程、存储函数)
二、改整库的表名利用 MySQL 更改表名的方法来批量把旧库的所有表依次遍历,改名为新库的表。这种方法比第一种要快很多倍,但是没有第一步操作起来那么顺滑,不能一步到位。比如,要把数据库 yttdb_old 改名为 yttdb_new,如果数据库 yttdb_old 里只有磁盘表,那很简单,直接改名即可。或者写个脚本来批量改,非常简单。但是一般旧库里不只有磁盘表,还包含其他各种对象。这时候可以先考虑把旧库的各种对象导出来,完了在逐一改完表名后导进去。
三、历史方案其实在 MySQL 早期还有一种方法。假设 MySQL 部署好了后,所有的 binlog 都有备份,并且二进制日志格式还是 statement 的话,那就可以简单搭建一台从机,让它慢慢追主机到新的库名,等确切要更改旧库的时候,再直接晋升从机为主机即可。这里只需要从机配置一个参数来把旧库指向为新库:replicate-rewrite-db=yttdb_old->yttdb_new不过这种局限性很大,不具备标准化,不推荐。
总结其实针对 MySQL 本身改库名,大致就这么几种方法:
如果数据量小,推荐第一种;
数据量大,则推荐第二种;
数据量巨大,那就非 MySQL 本身能解决的了。
可通过部署第三方 ETL 工具,通过解析 MySQL 二进制日志或其他的方式来把旧库数据直接读取到新库达到改名的目的等等。
B. 可以通过alterdatabase修改数据库,但只能修改其使用的
1. 在 MySQL 中,可以使用 alter database 来修改已经被创建或者存在的数据库的相亮亏樱关参数。修改数据库的语法格式为:
alter database [数敬丛据库名] {
[ default ] character set <字空碧符集名> |
[ default ] collate <校对规则名>}
语法说明如下:
alter database 用于更改数据库的全局特性。
使用 alter database 需要获得数据库alter权限
数据库名称可以忽略,此时语句对应默认数据库
character set 子句用于更改默认的数据库字符集
实例1:
查看test_db数据库的定义声明
使用命令行工具将数据库test_db的指定字符集修改为gb2312,默认校对规则修改为gb2312_unicode_ci
alter database test_db default character set gb2312 default collate gb2312_chinese_ci;
查看修改后的test_db数据库的dinginess声明
C. 怎样修改数据库中的数据
1、首先打开SQL Server Management管理工具,使用sql语句创建一张测试表。
D. 更改Oracle数据库的SID
概念
SID 数据库实例名
SQL> show parameter instance
DB_NAME 数据库名 可以用DBNEWID (nid)命令更改DB_NAME
SQL> show parameter db_name
DBID 数据库建立时创建的内部数字 用于区分不同数据库 RMAN会用该数字来区分数据库 当数据库都是正常创建时 DBID是不一样的 如果用复制的方法复制数据库 它们的DBID就会一样 可以用DBNEWID (nid)命令更改DBID
SQL> select dbid from v$database
下面开始更改SID 本例中 原SID名为oldsid 更改为newsid
关闭数据库
SQL > create pfile from spfile; 生成initoldsid ora 文件 后续操作需要用到
SQL > shutdown immediate;
编辑环境变量
# vi /home/oracle/ bash_profile
将其中的
export ORACLE_SID=oldsid 更改为
export ORACLE_SID=newsid
为使环境变量生效 以oracle用户重新登录
重命名参数文件
# cd $ORACLE_HOME/dbs
# mv initoldsid ora initnewsid ora
参数文件内容无需更改 如果本数据库是从另一台oracle服务器复制过来的 那需要将参数文件中的路径和内存等配置进行修改 这不属于本次任务
创建口令文件
orapwd file=$ORACLE_HOME/dbs/orapwnewsid password=oracle
至此 SID已经更改完成 数据库可以正常启动 以下操作是额外部分
更改其他相关配置
更改listener ora
vi $ORACLE_HOME/neork/admin/listener ora 若其中配置了SID_NAME=OLDSID 则需要更改为NEWSID 然后重启监听 # lsnctl restart
更改tnsnames ora
lishixin/Article/program/Oracle/201311/16801
E. 如何更改数据库的名称
1、点击“开始”菜单,单击打开“所有程序”,在下拉选线中找到“Microsoft SQL Server 2005”,单击打开“SQL Server Management Studio Express”。
2、在身份验证中选择“Windows身份验证 ”,然后点击“连接”。
3、在身份验证中如果选择“SQL Server 身档旅森份验证”,则需要输入“用户名”和“密码”。
4、选择“Windows身份验证 ”进入界面后,选中你需要更改的数据库,点击右键,选择“重命名”。输入你想要的数据库名称即可。
5、选择“SQL Server 身镇差份验证”登录以后,进入登录界面可以看到"sa"用户下建立的所有数据库。
6、左键单击行亩选中你要修改的数据库,右键“重命名”,输入你修改的数据库名即可。