通过information_schema信息修改rename database的目的

  • mysql 没有rename database 命令,只能变相修改表到目标库里的表来实现:
  • 拼接reanme tables的执行语句
root@localhost [information_schema]>select concat('rename table sysbench_testdata.',table_name,' to wenyz.',table_name,';') from information_schema.tables where table_sschema='sysbench_testdata';
+----------------------------------------------------------------------------------+
| concat('rename table sysbench_testdata.',table_name,' to wenyz.',table_name,';') |
+----------------------------------------------------------------------------------+
| rename table sysbench_testdata.sbtest10 to wenyz.sbtest10; |
| rename table sysbench_testdata.sbtest2 to wenyz.sbtest2; |
| rename table sysbench_testdata.sbtest3 to wenyz.sbtest3; |
| rename table sysbench_testdata.sbtest4 to wenyz.sbtest4; |
| rename table sysbench_testdata.sbtest5 to wenyz.sbtest5; |
| rename table sysbench_testdata.sbtest6 to wenyz.sbtest6; |
| rename table sysbench_testdata.sbtest7 to wenyz.sbtest7; |
| rename table sysbench_testdata.sbtest8 to wenyz.sbtest8; |
| rename table sysbench_testdata.sbtest9 to wenyz.sbtest9; |
+----------------------------------------------------------------------------------+
9 rows in set (0.00 sec)
  • 改进:希望拼接语句直接导出到指定文件,再导入批量执行
root@localhost [information_schema]>select concat('rename table sysbench_testdata.',table_name,' to wenyz.',table_name,';') from information_schema.tables where table_schema='sysbench_testdata' into outfile '/tmp/1.sql' ;
ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
root@localhost [information_schema]>show variables like '%secure%';
+--------------------------+-------+
| Variable_name | Value |
+--------------------------+-------+
| require_secure_transport | OFF |
| secure_auth | ON |
| secure_file_priv | NULL |
+--------------------------+-------+
3 rows in set (0.01 sec) root@localhost [information_schema]>set global secure_file_priv='/tmp';
ERROR 1238 (HY000): Variable 'secure_file_priv' is a read only variable
root@localhost [information_schema]>shutdown;
#vi /3506/my.cnf //增加以下参数:
secure_file_priv=/tmp
#/usr/local/mysql57/bin/mysqld --defaults-file=/3506/my3506.cnf & //再次启动:
[2] 22558
[root@db210_14:04:44 /tmp]
#mysql --login-path=p3506
root@localhost [(none)]>select concat('rename table sysbench_testdata.',table_name,' to wenyz.',table_name,';') from information_schema.tables where table_schema='sysbench_testdata' into outfile '/tmp/1.sql' ;
Query OK, 9 rows affected (0.00 sec) root@localhost [(none)]>source /tmp/1.sql;
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id: 3
Current database: *** NONE *** Query OK, 0 rows affected (0.01 sec) Query OK, 0 rows affected (0.00 sec) Query OK, 0 rows affected (0.00 sec) Query OK, 0 rows affected (0.01 sec) Query OK, 0 rows affected (0.00 sec) Query OK, 0 rows affected (0.00 sec) Query OK, 0 rows affected (0.00 sec) Query OK, 0 rows affected (0.00 sec) Query OK, 0 rows affected (0.00 sec) root@localhost [(none)]>use sysbench_testdata;
Database changed
root@localhost [sysbench_testdata]>show tables;
Empty set (0.00 sec) root@localhost [sysbench_testdata]>use wenyz;
Database changed
root@localhost [wenyz]>show tables;
+-----------------+
| Tables_in_wenyz |
+-----------------+
| sbtest1 |
| sbtest10 |
| sbtest2 |
| sbtest3 |
| sbtest4 |
| sbtest5 |
| sbtest6 |
| sbtest7 |
| sbtest8 |
| sbtest9 |
| t2 |
+-----------------+
11 rows in set (0.00 sec)

mysql 数据库修改名字的更多相关文章

  1. MySQL 数据库修改登录密码

    MySQL 数据库修改登录密码.. -------- mysql修改密码 默认的密码为空:mysql -u root -p第一次更改密码:mysqladmin -uroot -p password x ...

  2. MySQL数据库改名字

    在这里首先感谢那个网上已经给出了解决办法的同志 有很多MySQL数据库的初学者可能都会遇到一个关于改名字的问题,可能大家第一时间就会想到去网上搜搜,其实我跟大家的心理是一样的(呵呵). 据我所知,My ...

  3. mysql数据库修改密码

    更改MySQL用户密码 方法1: 用SET PASSWORD命令 首先登录MySQL. 格式:mysql> set password for 用户名@localhost = password(' ...

  4. mysql数据库修改数据库编码,字段编码与表编码(转) good

    最近看了一下KIGG框架,发现在用EF + MYSQL数据库时,数据出现了乱码,用工具(Navicat )查看一下表category的结构发现 KIGG 数据库的默认情况是用latin1编码的(DEF ...

  5. windows下安装mysql数据库修改端口号

    Window版本 卸载原本的mysql sc delete MySQL //删除mysql 1.下载 1 2 3 MySQL   https://dev.mysql.com/downloads/ins ...

  6. mysql数据库修改数据表引擎的方法

    对于MySQL数据库,如果你要使用事务以及行级锁就必须使用INNODB引擎.如果你要使用全文索引,那必须使用myisam. INNODB的实用性,安全性,稳定性更高但是效率比MYISAM稍差,但是有的 ...

  7. mysql数据库修改字符编码问题

    遇到这种情况,现有项目的数据库已经建好,数据表也已经创建完成. 问题来的,数据库不能插入中文,调试时候发现中文数据从发送请求到最后请求处理完成这些步骤,中文还没有发生乱码. 只有在存储到数据库后查询数 ...

  8. MySQL数据库修改数据表类型(引擎)的方法

    MySQL数据库使用事务,相关数据表必须为InnoDB引擎 查看数据表状态: SHOW TABLE STATUS FROM wawa WHERE NAME='ww_invite_code_temp'; ...

  9. mysql 数据库修改用户名和密码

    因为经常修改数据库密码,也找到了几种修改数据库密码的方式,在这里给大家介绍下供大家参考通过navicat 管理数据库客户端来修改数据库密码: 选择数据库 --- 点击导航条的用户  --- 编辑用户 ...

随机推荐

  1. C++基础知识(二)

    八. 继承:让某个类的对象获得另一个类的对象的特性.通过继承可实现代码重用,即从已存在的类派生出的一个新类将自动具有原来那个类的特性. 类的继承还具有:(1)单向性:A类为B类的基类(父类),则派生类 ...

  2. bzoj 4568 [SCOI 2016] 幸运数字

    题目大意 给定一棵\(n\)个点的树,每个点有权值 \(q\)次询问树上路径中 每个点权值可选可不选的最大异或和 \(n\le 2*10^4,q\le 2*10^5,val[i]\le 2^{60}\ ...

  3. Go语言【第十三篇】:Go语言递归函数

    Go语言递归函数 递归,就是在运行的过程中调用自己,语法格式如下: func recursion() { recursion() /* 函数调用自身 */ } func main() { recurs ...

  4. Go语言【第五篇】:Go条件语句

    Go语言条件 条件语句需要开发者通过指定一个或多个条件,并通过测试条件是否为true来决定是否执行指定语句,并在条件为false的情况再执行另外的语句.下图展示了程序语言中条件语句的结构: Go语言提 ...

  5. BZOJ1269 [AHOI2006]文本编辑器editor 【82行splay】

    1269: [AHOI2006]文本编辑器editor Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 4633  Solved: 1782 [Sub ...

  6. BZOJ1303 [CQOI2009]中位数图 【乱搞】

    1303: [CQOI2009]中位数图 Time Limit: 1 Sec  Memory Limit: 162 MB Submit: 3086  Solved: 1898 [Submit][Sta ...

  7. UVA.10881 Piotr's Ants (思维题)

    UVA.10881 Piotr's Ants (思维题) 题意分析 有一根长度为L cm的木棍,上有n只蚂蚁,蚂蚁要么向左爬,要么向右,速度均为1cm/s,若2只蚂蚁相撞,则蚂蚁同时调头.求解第T秒时 ...

  8. HDOJ(HDU).2602 Bone Collector (DP 01背包)

    HDOJ(HDU).2602 Bone Collector (DP 01背包) 题意分析 01背包的裸题 #include <iostream> #include <cstdio&g ...

  9. hdu 1698 线段树 区间更新 区间求和

    Just a Hook Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  10. SCU 4527 NightMare2 最短路+二分 好题

    可怜的又做噩梦了..但是这次跟上次不大一样,虽然他又被困在迷宫里,又被装上了一个定时炸弹,但是值得高兴的是,他发现他身边有数不清的财宝,所以他如果能带着这些财宝并活着逃出去的话,他就发财啦.不过,这次 ...