1.须要从A数据库完整复制一份到B数据库php
直接在Linux下,若是是服务器复制到本身服务器自己mysql
mysqldump test -u root -ppassword --add-drop-table | mysql test1 -u root -ppasswordsql
使用的时候,会有如下的提示:(能够忽略该提示)数据库
Warning: Using a password on the command line interface can be insecure.服务器
若是是从本服务器复制到另一台服务器,则是用如下语句:ide
Mysqldump test -uroot -ppassword --add-drop-table | mysql test1 -h 192.168.1.100 -uroot -ppassword函数
这样就完成了数据库的远程复制。工具
PS: mysqldump的默认参数是--add-drop-table 默认create表前都会删除之前的表,若是是spa
--skip-add-drop-table 参数则只有create没有delete行为。设计
2.备份还原数据库(数据库维护操做很是频繁的操做之一)
mysqldump -uroot -proot test >/home/bak/test.sql(备份数据库到指定的文件夹)
这种优点是导出很是快(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;
PS:这种操做方法是直接在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` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
`name` char(30) NOT NULL DEFAULT '' COMMENT '行为惟一标识',
`title` char(80) NOT NULL DEFAULT '' COMMENT '行为说明',
`remark` char(140) NOT NULL DEFAULT '' COMMENT '行为描述',
`rule` text NOT NULL COMMENT '行为规则',
`log` text NOT NULL COMMENT '日志规则',
`type` tinyint(2) unsigned NOT NULL DEFAULT '1' COMMENT '类型',
`status` tinyint(2) NOT NULL DEFAULT '0' COMMENT '状态',
`update_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '修改时间',
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=12 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='系统行为表';