修改数据库名称的详细步骤:
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 | 刘德华 |
+——+———–+
1 row in set (0.00 sec)
注意,在改名之前必须现转换存储引擎,否则会报错,想换的这个名称就换不成了,只能换另外一个名称了。