草庐IT

【学习笔记2.19】动态规划、MySQL、Linux、Redis(框架)

Sivan_Xin 2023-11-27 原文

动态规划

  • 343整数拆分
class Solution {
    public int integerBreak(int n) {
        int dp [] = new int [n + 1];
        //dp[i]:正整数i拆分后的最大乘积
        dp[2] = 1;
        for(int i = 2;i <= n ;i ++){
            for(int j = 1;j < i;j ++){
                dp[i] = Math.max(dp[i],Math.max(j * (i - j),j * dp[i - j]));
            }        
        }
        return dp[n];
    }
}
class Solution {
    public int numTrees(int n) {
        int dp [] = new int [n + 1];
        //dp[i] : i个节点组成的二叉搜索树种类。
        //规律: 当n = 1  sub = 1种   单独一个
        //        n = 2  sub = 2种  左斜 + 右斜
        //        n = 3  sub = 5种  1开头:dp[0] (1种) * dp[2] (2种)   2
        //                          2开头:dp[1] (1种) * dp[1] (1种)   1
        //                          3开头:dp[2] (2种) * dp[0] (1种)   2
        dp[0] = 1;
        dp[1] = 1;
        for(int i = 2; i <= n;i ++){
            for(int j = 1; j <= i; j ++){
                dp[i] += dp[i - j] * dp[j - 1];
            }
        }
        return dp[n];
    }
}

MySQL

整理重点章节

第二章:MySQL的数据目录

MySQL8的主要目录结构

使用命令:find / -name mysql 来查看目录结构。

  • 数据库文件的存放路径

    /var/lib/mysql/

  • 相关命令目录

    /usr/bin**(mysqladmin、mysqlbinlog、mysqldump等命令)和/usr/sbin。

  • 配置文件目录

    /usr/share/mysql-8.0(命令及配置文件),/etc/mysql(如my.cnf)

数据库和文件系统的关系

  • 四个系统自带数据库

    mysql、information_schema、performance_schema、sys

  • 数据库在文件系统中的表示

  • 表在文件系统中的表示(InnoDB存储引擎模式)

    .frm 描述表结构,字段长度等信息。

    .ibd 文件就用来存储表中的数据和索引。

  • MySQL5.7 中会在data/a的目录下生成 db.opt 文件用于保存数据库的相关配置。比如:字符集、比较规则。而MySQL8.0不再提供db.opt文件。

  • MySQL8.0中不再单独提供b.frm,而是合并在b.ibd文件中。

第三章:用户与权限管理

用户管理

  • 登录MySQL服务器

    mysql –h hostname|hostIP –P port –u username –p DatabaseName –e "SQL语句"
    

    举例:

    mysql -uroot -p -hlocalhost -P3306 mysql -e "select host,user from user"
    
  • 创建/修改/删除用户

    创建用户:

    CREATE USER 用户名 [IDENTIFIED BY '密码'][,用户名 [IDENTIFIED BY '密码']];
    

    修改用户:

    UPDATE mysql.user SET USER='li4' WHERE USER='wang5';
    FLUSH PRIVILEGES;
    

    删除用户:

    DROP USER user[,user]…;
    
  • 设置/修改密码

    设置密码:

    ALTER USER USER() IDENTIFIED BY 'new_password';
    

    修改密码:

    ALTER USER user [IDENTIFIED BY '新密码']
    [,user[IDENTIFIED BY '新密码']]…;
    

权限管理

  • 查看权限:
show privileges;

(1) CREATE和DROP权限 ,可以创建新的数据库和表,或删除(移掉)已有的数据库和表。如果将MySQL数据库中的DROP权限授予某用户,用户就可以删除MySQL访问权限保存的数据库。

(2)SELECT、INSERT、UPDATE和DELETE权限 允许在一个数据库现有的表上实施操作。

(3) SELECT权限只有在它们真正从一个表中检索行时才被用到。

(4) INDEX权限 允许创建或删除索引,INDEX适用于已有的表。如果具有某个表的CREATE权限,就可以在CREATE TABLE语句中包括索引定义。

略…

  • 授予权限

    GRANT 权限1,权限2,…权限n ON 数据库名称.表名称 TO 用户名@用户地址 [IDENTIFIED BY ‘密码口令’];
    

权限表

  • user表

    user表是MySQL中最重要的一个权限表, 记录用户账号和权限信息 ,有49个字段。

  • db表

    查看表结构:

    DESCRIBE mysql.db;
    

    有用户列和权限列,权限列字段决定用户是否具有创建和修改存储过程的权限。

  • tables_priv表和columns_priv表

    tables_priv表用来 对表设置操作权限 ,columns_priv表用来对表的 某一列设置权限 。

  • procs_priv表

    procs_priv表可以对 存储过程和存储函数设置操作权限

角色管理

引入角色的目的是 方便管理拥有相同权限的用户 。恰当的权限设定,可以确保数据的安全性,这是至关重要的。

  • 创建角色/赋予权限/查看权限/回收权限/删除角色等操作见开发文档。

Linux

学习Linux命令

Redis

有关【学习笔记2.19】动态规划、MySQL、Linux、Redis(框架)的更多相关文章

  1. 使用canal同步MySQL数据到ES - 2

    文章目录一、概述简介原理模块二、配置Mysql使用版本环境要求1.操作系统2.mysql要求三、配置canal-server离线下载在线下载上传解压修改配置单机配置集群配置分库分表配置1.修改全局配置2.实例配置垂直分库水平分库3.修改group-instance.xml4.启动监听四、配置canal-adapter1修改启动配置2配置映射文件3启动ES数据同步查询所有订阅同步数据同步开关启动4.验证五、配置canal-admin一、概述简介canal是Alibaba旗下的一款开源项目,Java开发。基于数据库增量日志解析,提供增量数据订阅&消费。Git地址:https://github.co

  2. LC滤波器设计学习笔记(一)滤波电路入门 - 2

    目录前言滤波电路科普主要分类实际情况单位的概念常用评价参数函数型滤波器简单分析滤波电路构成低通滤波器RC低通滤波器RL低通滤波器高通滤波器RC高通滤波器RL高通滤波器部分摘自《LC滤波器设计与制作》,侵权删。前言最近需要学习放大电路和滤波电路,但是由于只在之前做音乐频谱分析仪的时候简单了解过一点点运放,所以也是相当从零开始学习了。滤波电路科普主要分类滤波器:主要是从不同频率的成分中提取出特定频率的信号。有源滤波器:由RC元件与运算放大器组成的滤波器。可滤除某一次或多次谐波,最普通易于采用的无源滤波器结构是将电感与电容串联,可对主要次谐波(3、5、7)构成低阻抗旁路。无源滤波器:无源滤波器,又称

  3. CAN协议的学习与理解 - 2

    最近在学习CAN,记录一下,也供大家参考交流。推荐几个我觉得很好的CAN学习,本文也是在看了他们的好文之后做的笔记首先是瑞萨的CAN入门,真的通透;秀!靠这篇我竟然2天理解了CAN协议!实战STM32F4CAN!原文链接:https://blog.csdn.net/XiaoXiaoPengBo/article/details/116206252CAN详解(小白教程)原文链接:https://blog.csdn.net/xwwwj/article/details/105372234一篇易懂的CAN通讯协议指南1一篇易懂的CAN通讯协议指南1-知乎(zhihu.com)视频推荐CAN总线个人知识总

  4. 深度学习部署:Windows安装pycocotools报错解决方法 - 2

    深度学习部署:Windows安装pycocotools报错解决方法1.pycocotools库的简介2.pycocotools安装的坑3.解决办法更多Ai资讯:公主号AiCharm本系列是作者在跑一些深度学习实例时,遇到的各种各样的问题及解决办法,希望能够帮助到大家。ERROR:Commanderroredoutwithexitstatus1:'D:\Anaconda3\python.exe'-u-c'importsys,setuptools,tokenize;sys.argv[0]='"'"'C:\\Users\\46653\\AppData\\Local\\Temp\\pip-instal

  5. TimeSformer:抛弃CNN的Transformer视频理解框架 - 2

    Transformers开始在视频识别领域的“猪突猛进”,各种改进和魔改层出不穷。由此作者将开启VideoTransformer系列的讲解,本篇主要介绍了FBAI团队的TimeSformer,这也是第一篇使用纯Transformer结构在视频识别上的文章。如果觉得有用,就请点赞、收藏、关注!paper:https://arxiv.org/abs/2102.05095code(offical):https://github.com/facebookresearch/TimeSformeraccept:ICML2021author:FacebookAI一、前言Transformers(VIT)在图

  6. ruby - 在 Ruby 中动态创建数组 - 2

    有没有办法在Ruby中动态创建数组?例如,假设我想遍历用户输入的书籍数组:books=gets.chomp用户输入:"TheGreatGatsby,CrimeandPunishment,Dracula,Fahrenheit451,PrideandPrejudice,SenseandSensibility,Slaughterhouse-Five,TheAdventuresofHuckleberryFinn"我把它变成一个数组:books_array=books.split(",")现在,对于用户输入的每一本书,我想用Ruby创建一个数组。伪代码来做到这一点:x=0books_array.

  7. ruby - 我正在学习编程并选择了 Ruby。我应该升级到 Ruby 1.9 吗? - 2

    我完全不是程序员,正在学习使用Ruby和Rails框架进行编程。我目前正在使用Ruby1.8.7和Rails3.0.3,但我想知道我是否应该升级到Ruby1.9,因为我真的没有任何升级的“遗留”成本。缺点是什么?我是否会遇到与普通gem的兼容性问题,或者甚至其他我不太了解甚至无法预料的问题? 最佳答案 你应该升级。不要坚持从1.8.7开始。如果您发现不支持1.9.2的gem,请避免使用它们(因为它们很可能不被维护)。如果您对gem是否兼容1.9.2有任何疑问,您可以在以下位置查看:http://www.railsplugins.or

  8. ruby - 是否可以将 IRB 提示配置为动态更改? - 2

    我想在IRB中浏览文件系统并让提示更改以反射(reflect)当前工作目录,但我不知道如何在每个命令后进行提示更新。最终,我想在日常工作中更多地使用IRB,让bash溜走。我在我的.irbrc中试过这个:require'fileutils'includeFileUtilsIRB.conf[:PROMPT][:CUSTOM]={:PROMPT_N=>"\e[1m:\e[m",:PROMPT_I=>"\e[1m#{pwd}>\e[m",:PROMPT_S=>"FOO",:PROMPT_C=>"\e[1m#{pwd}>\e[m",:RETURN=>""}IRB.conf[:PROMPT_MO

  9. ruby-on-rails - 无法安装 mysql2 0.3.14 gem - 2

    我看到其他人也遇到过类似的问题,但没有一个解决方案对我有用。0.3.14gem与其他gem文件一起存在。我已经完全按照此处指示完成了所有操作:https://github.com/brianmario/mysql2.我仍然得到以下信息。我不知道为什么安装程序指示它找不到include目录,因为我已经检查过它存在。thread.h文件存在,但不在ruby​​目录中。相反,它在这里:C:\RailsInstaller\DevKit\lib\perl5\5.8\msys\CORE\我正在运行Windows7并尝试在Aptana3中构建我的Rails项目。我的Ruby是1.9.3。$gemin

  10. ruby-on-rails - carrierwave:在序列化动态属性上安装 uploader - 2

    首先,我使用的是rails3.1.3和来自master的carrierwavegithub仓库的分支。我使用after_init钩子(Hook)来确定基于属性的字段页面模型实例并为这些字段定义属性访问器将值存储在序列化哈希中(希望它清楚我是什么谈论)。这是我正在做的事情的精简版:classPage省略mount_uploader命令让我可以访问我想要的属性。但是当我安装uploader时出现错误消息说“nil类的未定义新方法”我在源代码中读到有方法read_uploader和扩展模块中的write_uploader。我如何必须覆盖这些来制作mount_uploader命令使用我的“虚拟

随机推荐