数据库开发,面试准备

mysql的总结:
https://blog.csdn.net/qq_38973672/article/details/88260148
安装,mysql5.5版本
自定义安装,路径不能有中文空格,
运行mysql相关配置,detailed Configuration 精细配置,developerMachine开发者机器,multifunctional Database 多用途数据库,设置数据库最大连接数

监控:数据库会话、数据库日志、数据文件碎片、表空间监控、用户访问监控

安全审计:为不同的数据库管理系统用户规定不同的访问权限,以保护数据库不被未经授权的访问和破坏。例如,允许一类用户只能检索数据,而另一类用户可能拥有更新数据和删除记录的权限

备份,mysqldump -u 用户名 -p 数据库名 > 文件名.sql

恢复
cmd端:mysql -u 用户名 -p 数据库名 < 文件名.sql
mysql客户端 source 文件名.sql

InnoDB的机会比较高,MyISAM非零的,但接近。
当执行DROP table 或 DROP database innoDB不擦除数据,数据页面仍在磁盘
据innoDB_file_per_table设置恢复会有所不同,如果innodb_file_per_table为OFF(默认为5.5),则删除的表将保留在ibdata1中。如果innodb_file_per_table为ON(默认为5.5),则删除的表位于相应的.ibd文件中。当删除表时,MySQL删除这个文件。
停止任何可能的写入操作,以免表格被覆盖。如果innodb_file_per_table为OFF,则足以阻止MySQL(kill -9更好,但要确保先杀死safe_mysqld)。如果innodb_file_per_table是ON,那么在MySQL存储其数据的地方使用umount分区。如果datadir位于根分区上,建议关闭服务器或至少拍摄磁盘映像。让我再说一遍,目标是防止被MySQL或操作系统覆盖丢弃的表。

容量管理:包括数据库规模扩张后的资源评估、扩容、机房迁移、流量调度等规划和具体实施。


where和having区别:where在分组前进行条件过滤,having在分组后进行条件过滤。


数据库设计

中期的数据库测试

后期的数据库容量管理

性能优化
1、将字段较多的表分解成多个表
2、增加中间表
3、增加从服务器分散读压力
4、缓存和NoSQL数据库方式存储,如MongoDB/Memcached/Redis来缓解高并发下数据库查询的压力。
5、减少数据库操作次数,尽量使用数据库访问驱动的批处理方法。
6、不常使用的数据迁移备份,避免每次都在海量数据中去检索。
7、提升数据库服务器硬件配置,或者搭建数据库集群。
8、编程手段防止SQL注入:使用JDBC PreparedStatement按位插入或查询;正则表达式过滤(非法字符串过滤);
https://blog.csdn.net/zhoupan301415/article/details/78257783


引擎
InnoDB的机会比较高,MyISAM非零的,但接近。


shell脚本的应用

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值