1.需要从A数据库完整复制一份到B数据库

Linux下,如果是服务器复制到自己服务器本身

  mysqldump test -u root -ppassword --add-drop-table | mysql test1 -u root -ppassword

使用的时候,会有以下的提示:(可以忽略该提示)

 Warning: Using a password on the command line interface can be insecure.

  如果是从本服务器复制到另外一台服务器,则是用以下语句:

Mysqldump test -uroot  -ppassword --add-drop-table | mysql test1 -h 192.168.1.100 -uroot -ppassword

 这样就完成了数据库的远程复制。

PS: mysqldump的默认参数是--add-drop-table 默认create表前都会删除以前的表,如果是

参数则只有create没有delete行为。

 

2.备份还原数据库(数据库维护操作非常频繁的操作之一)

(备份数据库到指定的文件夹)

这种优势是导出非常快(navicate等工具遇到数据量比较大的时候,非常耗时间导出)

  数据库还原方法(导入后需要还原)

切换到进入mysql

Mysql -uroot -p;

Use  test2;

然后

Source /home/bak/test.sql;

这样就完成了代码部分的导入还原工作

命令的优势:速度非常快(比用navicate快N倍,数量越大,差异越大)

 

3.批量修改数据库的前缀(很多项目都需要统一前缀,或者需要更改前缀)

information.schems批量读取对应数据库的前缀用concat拼接出所需要修改的语句导出到一个sql文件,然后再用sql文件在对应的数据库里进行执行

Select CONCAT( 'ALTER TABLE ', table_name, ' RENAME TO test_', substring(table_name,3),';' ) FROM information_schema.tables Where  table_schema='test2' and  table_name LIKE 'onethink_%' into outfile '/home/new.sql';

然后

Source  /home/new.sql;

:这种操作方法是直接在mysql界面运行的操作,非常方便的批量改动了前缀(网上的教程用navicate显得的比较复杂)这里对sql语句做下说明:

Concat 是mysql的拼接函数  rename 重命名的意思  select * from tb1 into file ‘/home/test.sql’select语句导出的到指定文件夹

 

4.增加mysql用户(数据库管理需要给其他成员管理的时候必须用到)

   Create  user  ‘test’@’localhost’ identified by ‘123456’;

给mysql增加一个test的123456账户的语句

(给对应的test用户对test操作全部的权限)

Grant  all  on  test  to  ‘test’@’localhost’ with grant option;

  删除对应的用户

  Drop  user  ‘test’@’localhost’;

给远程用户登录(如果不给密码,则远程登录的时候不需要密码)

Grant  all  on  ‘test’@’192.168.1.100’  identified by ‘123456’;

当前用户登录修改密码(一般设置了账户后,用户都需要登录修改自己的密码)

Set password = password(‘654321’);


5.将对应的字段转化为数据库

新建数据库(设计数据库表的时候使用,在phpmyadmin,navicate,mysqlfront等工具里也可以直接自己建立,这里是数据库的执行语句模板,查看数据库的生成语句show create datbase  test)

CREATE TABLE `onethink_action` (

主键',

行为唯一标识',

行为说明',

行为描述',

行为规则',

日志规则',

类型',

状态',

修改时间',

  PRIMARY KEY (`id`)

) ENGINE=MyISAM AUTO_INCREMENT=12 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='系统行为表';