教学之友,学习之友。

站长教学网

当前位置: 站长教学网 > 数据库 > MYSQL教程 >

如何使用命令修改MySQL数据库名?

时间:2013-01-21 11:50来源:未知 作者:ken 点击:

今天接到宇航同学的问题,他们老大要求更改数据库名称,居然是为了数据库安全???我靠!真强的想法啊。因为他们的数据库是采用的INNODB存储引擎,不能直接修改数据库的名称,所以现转换成MyISAM存储引擎在修改表名在转换成INNODB存储引擎就好了,虽然过程比较麻烦,不如修改表名那样容易,但是能修改就偷笑吧。我个人认为数据库的名称属于数据库设计范畴,应该遵守设计规范,不能随便的修改名称。第一次听说为了安全修改数据库名,实在是不可取。

修改名称详细步骤(因为不仅仅是上面那几步)

mysql> use dinghao;

mysql> select * from t1;

+——+———–+

| id | name |

+——+———–+

| 1 | 刘德华 |

+——+———–+

1 row in set (0.00 sec)

mysql> show create table t1;

+——-+————————————————————————————————————————-+

| Table | Create Table |

+——-+————————————————————————————————————————-+

| t1 | CREATE TABLE `t1` (

`id` int(11) DEFAULT NULL,

`name` varchar(20) DEFAULT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8 |

+——-+————————————————————————————————————————-+

1 row in set (0.00 sec)

mysql> flush tables;

Query OK, 0 rows affected (0.00 sec)

mysql> flush logs;

Query OK, 0 rows affected (0.00 sec)

mysql> show processlist; #这一步主要查看有没有其他进程连接,要保证没有其他程序操作数据库。

+—-+——+———–+———+———+——-+——-+——————+

| Id | User | Host | db | Command | Time | State | Info |

+—-+——+———–+———+———+——-+——-+——————+

| 17 | root | localhost | dinghao | Query | 0 | NULL | show processlist |

+—-+——+———–+———+———+——-+——-+——————+

1 rows in set (0.00 sec)

mysql> alter table t1 engine=MyISAM;

Query OK, 1 row affected (0.01 sec)

Records: 1 Duplicates: 0 Warnings: 0

mysql> exit

[root@mysqludf var]# mv dinghao aaa;

mysql> use aaa;

Database changed

mysql> alter table t1 engine=INNODB;

Query OK, 1 row affected (0.00 sec)

Records: 1 Duplicates: 0 Warnings: 0

mysql> select * from t1;

+——+———–+

| id | name |

+——+———–+

| 1 | 刘德华 站长教学网 eduyo.com

+——+———–+

1 row in set (0.00 sec)

注意,在改名之前必须现转换存储引擎,否则会报错,你想换的这个名称就换不成了,只能换另外一个名称了。错误的方法就不演示了,光记住好的就行了。

(责任编辑:ken)
TAG标签: mysql 数据库名
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
注册登录:不允许匿名留言,登录后留言无需输入验证码。
栏目列表
最新内容