mysql数据库管理小结

浪子不回头ぞ 提交于 2019-11-30 02:37:23

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表前都会删除以前的表,如果是

 --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;

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

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

 

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增加一个test123456账户的语句

  给其授权:(给对应的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,navicatemysqlfront等工具里也可以直接自己建立,这里是数据库的执行语句模板,查看数据库的生成语句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='系统行为表';




易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!