培训第二十一天(mysql用户创建与授权、角色创建)
上午
1、环境准备
[root@mysql ~]# rm -rf /etc/my.cnf //清空/etc目录下的my.cnf[root@mysql ~]# yum -y remove mariadb //移除mariadb[root@mysql ~]# find / -name "*mysql*" -exec rm -rf {} \; //删除mysql所有遗留文件
2、安装mysql绿包
[root@mysql ~]# tar -xf mysql-8.0.33-linux-glibc2.12-x86_64.tar [root@mysql ~]# lsmysql-8.0.33-linux-glibc2.12-x86_64.tarmysql-8.0.33-linux-glibc2.12-x86_64.tar.xzmysql-router-8.0.33-linux-glibc2.12-x86_64.tar.xzmysql-test-8.0.33-linux-glibc2.12-x86_64.tar.xz[root@mysql ~]# tar -xf mysql-8.0.33-linux-glibc2.12-x86_64.tar.xz [root@mysql ~]# lsmysql-8.0.33-linux-glibc2.12-x86_64mysql-8.0.33-linux-glibc2.12-x86_64.tarmysql-8.0.33-linux-glibc2.12-x86_64.tar.xzmysql-router-8.0.33-linux-glibc2.12-x86_64.tar.xzmysql-test-8.0.33-linux-glibc2.12-x86_64.tar.xz[root@mysql ~]# cd mysql-8.0.33-linux-glibc2.12-x86_64/[root@mysql mysql-8.0.33-linux-glibc2.12-x86_64]# lsbin docs include lib LICENSE man README share support-files
3、配置mysql工作环境
[root@mysql ~]# vim support-...... //查看配置文件/basedir[root@mysql ~]# cp -r mysql-8.0.33-linux-glibc2.12-x86_64 /usr/local/mysql/ //将项目文件移动到/usr/local/mysql[root@mysql ~]# tree /usr/local/mysql[root@mysql ~]# yum list installed | grep libaio //查看libaio是否存在[root@mysql ~]# echo $? //查看上一命令是否执行成功[root@mysql ~]# id mysql //查看是否有mysql用户useradd -r -s /sbin/nologin mysql //如果没有mysql用户,创建用户[root@mysql ~]# mkdir /usr/local/mysql/mysql-files //在/usr/local/mysql目录下创建mysql-files目录[root@mysql ~]# chown mysql:mysql /usr/local/mysql/mysql-files/ //修改mysql-files所属的组和属主都是mysql[root@mysql ~]# chmod 750 /usr/local/mysql/mysql-files/ //修改mysql-files的权限为750[root@mysql ~]# ll /usr/local/mysql/总用量 292drwxr-xr-x. 2 root root 4096 8月 5 09:55 bindrwxr-xr-x. 2 root root 38 8月 5 09:55 docsdrwxr-xr-x. 3 root root 282 8月 5 09:55 includedrwxr-xr-x. 6 root root 201 8月 5 09:55 lib-rw-r--r--. 1 root root 284945 8月 5 09:55 LICENSEdrwxr-xr-x. 4 root root 30 8月 5 09:55 mandrwxr-x---. 2 mysql mysql 6 8月 5 09:56 mysql-files-rw-r--r--. 1 root root 666 8月 5 09:55 READMEdrwxr-xr-x. 28 root root 4096 8月 5 09:55 sharedrwxr-xr-x. 2 root root 77 8月 5 09:55 support-files[root@mysql ~]# cd /usr/local/mysql/bin/ //cd到安装目录[root@mysql bin]# lsibd2sdi mysqlcheck mysqlpumpinnochecksum mysql_config mysql_secure_installationlz4_decompress mysql_config_editor mysqlshowmyisamchk mysqld mysqlslapmyisam_ftdump mysqld-debug mysql_ssl_rsa_setupmyisamlog mysqld_multi mysql_tzinfo_to_sqlmyisampack mysqld_safe mysql_upgrademy_print_defaults mysqldump perrormysql mysqldumpslow zlib_decompressmysqladmin mysqlimportmysqlbinlog mysql_migrate_keyring[root@mysql bin]# /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ //初始化数据库

[root@mysql ~]# ls /usr/local/mysql/ //查看是否生成了data目录bin docs lib man README support-filesdata include LICENSE mysql-files share[root@mysql ~]# /usr/local/mysql/bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data //创建安全加密连接[root@mysql ~]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql8 //将mysql.server文件放到/etc/init.d/目录下,方便启动mysql服务 service mysql start[root@mysql ~]# service mysql8 start //启动mysql服务Starting MySQL.Logging to '/usr/local/mysql/data/mysql.err'........ SUCCESS![root@mysql ~]# systemctl stop firewalld [root@mysql ~]# systemctl disable firewalldRemoved symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.[root@mysql ~]# /usr/local/mysql/bin/mysql -uroot -p //进入mysql中Enter password: Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 9Server version: 8.0.33Copyright (c) 2000, 2023, Oracle and/or its affiliates.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql>
mysql -hip地址 -p3306 -uroot -p(远程连接使用)
4、mysql基础命令
(1)修改密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Root@123456';
(2)授权远程登录
mysql> create user 'root'@'%' identified with mysql_native_password by 'Root@123456'; //创建root远程登录
(3)刷新
mysql> flush privileges; //刷新操作
(4)查看表结构
mysql> desc mysql.user; //查看表结构
(5)查看用户与主机关系
mysql> select host,user from mysql.user; //查看用户与主机对应关系

5、mysql操作命令
(1)创建li用户
mysql> create user 'li'@'%' identified by 'Root@123456'; //创建用户li,并且可以在所有主机连接mysql
(2)为li用户授权
mysql> grant all on *.* to 'li'; //为li用户授予所有数据库的所有表格的所有权限Query OK, 0 rows affected (0.01 sec)
(3)使用li用户连接mysql
[root@mysql ~]# /usr/local/mysql/bin/mysql -uli -pRoot@123456 //使用li用户连接mysql
(4)查看数据库
mysql> show databases;+--------------------+| Database |+--------------------+| information_schema || mysql || performance_schema || sys |+--------------------+4 rows in set (0.00 sec)
(5)创建tset数据库
mysql> create database if not exists test charset utf8; //创建一个名为test的数据库Query OK, 1 row affected, 1 warning (0.01 sec)
(6)使用数据库
mysql> use test; //使用test数据库Database changed
(7)创建user表
mysql> create table `user` ( //创建user表`id` int NOT NULL,`username` varchar(45) NOT NULL,`password` varchar(45) NOT NULL,primary key ('id'));
(8)向表中插入数据
mysql> insert into user values(1,"zhangsan","123"),(2,"lisi","456"),(3,"wangwu","789"),(4,"zhaoliu","aaa"); //为user表插入数据Query OK, 4 rows affected (0.03 sec)Records: 4 Duplicates: 0 Warnings: 0
(9)查看表内容
mysql> select * from user; //查看user表内容

[root@mysql ~]# ln -s /usr/local/mysql/bin/mysql /usr/bin //创建软链接
下午
1、脚本安装mysql
[root@mysql ~]# vim mysql.sh#!/bin/bashcp $1 /usr/local/mysql/mkdir /usr/local/mysql/mysql-files/grep /mysql/ /etc/passwordif [ $? -ne 0 ];thenuseradd -r -s /sbin/nologin mysqlfichown mysql:mysql /usr/local/mysql/mysql-fileschmod 750 /usr/local/mysql/mysql-files# init/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/# password# servicecp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql8# start serverservice mysql8 start
2、mysql命令回顾
(1)远程登录前提条件是mysql.user表中的host属性为%,如果是localhost就不允许远程登录,
update mysql.user set host=“%” where user=“root”; //修改表内容flush privileges; //刷新
(2)远程管理,可以使用图形化工具,sqlyog,navicat,掌握命令工具,客户端工具mysql
(3)mysql -h10.0.0.3 -P3306 -uli -pRoot@123456
| -h | 主机ip或者是域名 | 如果是localhost或者是127.0.0.1可以省略 |
|---|---|---|
| -P | 端口 | 默认的是3306,如果是默认的,可以省略 |
| -u | 用户名 | 必须输入 |
| -p | 密码 | 可以不换行直接输入,也可以换行,不回显输入密码 |
创建用户
create user 'li'@'%' identified by 'Root@123456';
给权限
grant all on *.* to 'li';
创建库
create database if not exists test;
创建表
use test;create table user('id' int primary key,'username' varchar(45) not null,'password' varchar(45) not null);
添加数据
inster into test.user values(1,"zhangsan","123"),(2,"lisi","456"),(3,"wangwu","789"),(4,"zhaoliu","aaa");
3、mysql用户权限设置
(1)创建lilaosi用户
mysql> create user 'lilaosi'@'%' identified by 'Lilaosi@123456'; //添加lilaosi账号
(2)修改密码
mysql> alter user 'lilaosi'@'%' identified by 'Lilaosi@123456'; //修改密码
(3)查看用户与主机关系
mysql> select host,user from mysql.user; //查看mysql.user信息+-----------+------------------+| host | user |+-----------+------------------+| % | li || % | lilaosi || % | root || localhost | mysql.infoschema || localhost | mysql.session || localhost | mysql.sys || localhost | root |+-----------+------------------+7 rows in set (0.00 sec)
(4)退出数据库
mysql> quitBye
(5)使用lilaosi登录mysql(发现无任何权限)
[root@mysql ~]# mysql -ulilaosi -pLilaosi@123456mysql> show databases; //只有自己的权限+--------------------+| Database |+--------------------+| information_schema || performance_schema |+--------------------+2 rows in set (0.04 sec)mysql> quitBye
(6)使用root用户为lilaosi用户赋予test数据库中所有表的所有权限
[root@mysql ~]# mysql -uroot -pRoot@123456mysql> grant all on test.* to 'lilaosi'; //使用root账号为lilaosi账号添加test库中所有表的权限Query OK, 0 rows affected (0.00 sec)mysql> quitBye[root@mysql ~]# mysql -ulilaosi -pLilaosi@123456mysql> show databases; //对test数据库有一定的权限+--------------------+| Database |+--------------------+| information_schema || performance_schema || test |+--------------------+3 rows in set (0.00 sec)(root没有给lilaosi mysql库的权限,所有lilaosi账户无法查看mysql库。)
(7)将system_user权限给root
mysql> grant system_user on *.* to 'root'; //将system_user权限给root
(8)为aaa用户赋予查看test数据库user表的权限
mysql> show grants for aaa; //只有自己的权限+---------------------------------+| Grants for aaa@% |+---------------------------------+| GRANT USAGE ON *.* TO `aaa`@`%` |+---------------------------------+1 row in set (0.00 sec)mysql> grant select on test.user to 'aaa'; //为aaa用户赋予test数据库user表的查看权限Query OK, 0 rows affected (0.00 sec)mysql> quitBye[root@mysql ~]# mysql -uaaa -p123mysql> select * from test.user; //查看成功+----+----------+----------+| id | username | password |+----+----------+----------+| 1 | zhangsan | 123 || 2 | lisi | 456 || 3 | wangwu | 789 || 4 | zhaoliu | aaa |+----+----------+----------+4 rows in set (0.00 sec)mysql> insert into user values(5,"ermazi","bbb"); //没有插入权限ERROR 1142 (42000): INSERT command denied to user 'aaa'@'localhost' for table 'user'mysql> update user set password="bbb" where username="zhaoliu"; //没有修改权限ERROR 1142 (42000): UPDATE command denied to user 'aaa'@'localhost' for table 'user'mysql> quitBye
(9)为aaa用户赋予test数据库user表插入权限
[root@mysql ~]# mysql -uroot -pRoot@123456mysql> grant insert on test.user to 'aaa'; //赋予插入权限Query OK, 0 rows affected (0.01 sec)mysql> quitBye[root@mysql ~]# mysql -uaaa -p123mysql> insert into test.user values(5,"ermazi","bbb"); //插入成功Query OK, 1 row affected (0.01 sec)mysql> select * from test.user;+----+----------+----------+| id | username | password |+----+----------+----------+| 1 | zhangsan | 123 || 2 | lisi | 456 || 3 | wangwu | 789 || 4 | zhaoliu | aaa || 5 | ermazi | bbb |+----+----------+----------+5 rows in set (0.00 sec)mysql> update test.user set password='000' where username='ermazi'; //没有修改权限ERROR 1142 (42000): UPDATE command denied to user 'aaa'@'localhost' for table 'user'
4、命令练习
(1)创建三个账号,abc[abcd],ccc[a1b2c3],ddd[231343]
mysql> create user 'abc'@'%' identified by 'abcd';Query OK, 0 rows affected (0.00 sec)mysql> create user 'ccc'@'%' identified by 'a1b2c3';Query OK, 0 rows affected (0.01 sec)mysql> create user 'ddd'@'%' identified by '231343';Query OK, 0 rows affected (0.00 sec)mysql> select host,user from mysql.user;+-----------+------------------+| host | user |+-----------+------------------+| % | aaa || % | abc || % | ccc || % | ddd || % | li || % | lilaosi || % | root || localhost | mysql.infoschema || localhost | mysql.session || localhost | mysql.sys || localhost | root |+-----------+------------------+11 rows in set (0.00 sec)
(2)删除用户lilaosi
删除lilaosi用户mysql> drop user 'lilaosi';Query OK, 0 rows affected (0.02 sec)mysql> select host,user from mysql.user;+-----------+------------------+| host | user |+-----------+------------------+| % | aaa || % | abc || % | ccc || % | ddd || % | li || % | root || localhost | mysql.infoschema || localhost | mysql.session || localhost | mysql.sys || localhost | root |+-----------+------------------+10 rows in set (0.00 sec)
(3)aaa,ccc,ddd三个账户的密码修改为123
mysql> alter user 'aaa'@'%' identified by '123';Query OK, 0 rows affected (0.00 sec)mysql> alter user 'ccc'@'%' identified by '123';Query OK, 0 rows affected (0.00 sec)mysql> alter user 'ddd'@'%' identified by '123';Query OK, 0 rows affected (0.01 sec)
(4)权限添加练习
(1)添加aaa账户,设置密码aaaa
mysql> create user 'aaa'@'%' identified by 'aaaa';Query OK, 0 rows affected (0.01 sec)
(2)使用aaa账户访问mysql服务
[root@mysql ~]# mysql -uaaa -paaaa
(3)查看test数据库发现没有权限
mysql> show databases;+--------------------+| Database |+--------------------+| information_schema || performance_schema |+--------------------+2 rows in set (0.00 sec)
(4)退出并使用root账户登录
mysql> quitBye[root@mysql ~]# mysql -uroot -pRoot@123456
(5)为aaa账户添加查看test.user表的权限
mysql> grant select on test.user to 'aaa';Query OK, 0 rows affected (0.00 sec)
(6)退出root,使用aaa账户登录
mysql> quitBye[root@mysql ~]# mysql -uaaa -paaaa
(7)查看数据库,查看表,查看表内容,能够正常查看
mysql> show databases;+--------------------+| Database |+--------------------+| information_schema || performance_schema || test |+--------------------+3 rows in set (0.00 sec)mysql> use test;Reading table information for completion of table and column namesYou can turn off this feature to get a quicker startup with -ADatabase changedmysql> show tables;+----------------+| Tables_in_test |+----------------+| user |+----------------+1 row in set (0.00 sec)mysql> select * from test.user;+----+----------+----------+| id | username | password |+----+----------+----------+| 1 | zhangsan | 123 || 2 | lisi | 456 || 3 | wangwu | 789 || 4 | zhaoliu | aaa || 5 | ermazi | bbb |+----+----------+----------+5 rows in set (0.00 sec)
(8)输入数据,没有权限
mysql> inster into user values(6,"aaa","aaaa");ERROR 1142 (42000): INSERT command denied to user 'aaa'@'localhost' for table 'user'
(9)退出aaa使用root登录
mysql> quitBye[root@mysql ~]# mysql -uroot -pRoot@123456
(10)为aaa添加insert权限
mysql> grant insert on test.user to 'aaa';Query OK, 0 rows affected (0.00 sec)
(11)退出root使用aaa登录
mysql> quitBye[root@mysql ~]# mysql -uaaa -paaaa
(12)使用aaa账户,想user表中添加一行新的数据
mysql> insert into test.user values(6,"aaa","aaaa");Query OK, 1 row affected (0.01 sec)
(13)修改user表中一行的数据的password(密码)为111,没有update权限
mysql> update test.user set password="111" where username='aaa';ERROR 1142 (42000): UPDATE command denied to user 'aaa'@'localhost' for table 'user'
(14)为aaa用户一次性添加delect,update权限
mysql> grant delete,update on test.user to 'aaa';Query OK, 0 rows affected (0.00 sec)mysql> show grants for 'aaa';+--------------------------------------------------------------------+| Grants for aaa@% |+--------------------------------------------------------------------+| GRANT USAGE ON *.* TO `aaa`@`%` || GRANT SELECT, INSERT, UPDATE, DELETE ON `test`.`user` TO `aaa`@`%` |+--------------------------------------------------------------------+2 rows in set (0.00 sec)
6、权限角色
(1)创建角色
mysql> create role 'jingli'; //创建jingli角色Query OK, 0 rows affected (0.00 sec)mysql> create role 'yuangong'; //创建yonghu角色Query OK, 0 rows affected (0.00 sec)
(2)为角色赋予权限
mysql> grant insert,delete,update,select on test.user to 'jingli'; //为jingli角色添加select,insert,delete,update权限Query OK, 0 rows affected (0.00 sec)mysql> show grants for 'jingli'; //查看jingli角色权限+-----------------------------------------------------------------------+| Grants for jingli@% |+-----------------------------------------------------------------------+| GRANT USAGE ON *.* TO `jingli`@`%` || GRANT SELECT, INSERT, UPDATE, DELETE ON `test`.`user` TO `jingli`@`%` |+-----------------------------------------------------------------------+2 rows in set (0.00 sec)mysql> grant select,insert on test.user to 'yuangong'; //为yuangong添加select,insert权限Query OK, 0 rows affected (0.00 sec)mysql> show grants for 'yuangong'; //查看yonghu角色权限+---------------------------------------------------------+| Grants for yuangong@% |+---------------------------------------------------------+| GRANT USAGE ON *.* TO `yuangong`@`%` || GRANT SELECT, INSERT ON `test`.`user` TO `yuangong`@`%` |+---------------------------------------------------------+2 rows in set (0.00 sec)mysql> select host,user from mysql.user; //查看角色保存的表格+-----------+------------------+| host | user |+-----------+------------------+| % | aaa || % | abc || % | ccc || % | ddd || % | jingli || % | li || % | root || % | yuangong || localhost | mysql.infoschema || localhost | mysql.session || localhost | mysql.sys || localhost | root |+-----------+------------------+12 rows in set (0.00 sec)
(3)用户授予角色权限
mysql> grant jingli to 'ddd'; //将ddd用户授予jingli角色,拥有jingli权限Query OK, 0 rows affected (0.00 sec)mysql> show grants for ddd; //查看权限授权+---------------------------------+| Grants for ddd@% |+---------------------------------+| GRANT USAGE ON *.* TO `ddd`@`%` || GRANT `jingli`@`%` TO `ddd`@`%` |+---------------------------------+2 rows in set (0.00 sec)mysql> flush privileges; //刷新权限Query OK, 0 rows affected (0.00 sec)
(4)删除角色权限
mysql> revoke all on *.* from "yuangong"; //删除yuangong所有权限Query OK, 0 rows affected (0.00 sec)mysql> show grants for "yuangong"; //查看yuangong权限+---------------------------------------+| Grants for yuangong@% |+---------------------------------------+| GRANT USAGE ON *.* TO `yuangong`@`%` |+---------------------------------------+1 row in set (0.00 sec)Query OK, 0 rows affected (0.00 sec)
7、角色练习
新增bbb和ccc两个用户,bbb需要增删改查权限,ccc需要新增与查看权限
mysql> create user 'bbb'@'%' identified by 'bbb'; //创建bbb用户Query OK, 0 rows affected (0.01 sec)mysql> create user 'ccc'@'%' identified by 'ccc'; //创建ccc用户Query OK, 0 rows affected (0.01 sec)mysql> grant jingli to 'bbb'; //将bbb用户授予jingli角色,拥有jingli权限Query OK, 0 rows affected (0.00 sec)mysql> grant yuangong to 'ccc'; //将ccc用户授予yuangong角色,拥有yuangong权限Query OK, 0 rows affected (0.00 sec)mysql> show grants for bbb; //查看权限授权+---------------------------------+| Grants for bbb@% |+---------------------------------+| GRANT USAGE ON *.* TO `bbb`@`%` || GRANT `jingli`@`%` TO `bbb`@`%` |+---------------------------------+2 rows in set (0.00 sec)mysql> show grants for ccc; //查看权限授权+-----------------------------------+| Grants for ccc@% |+-----------------------------------+| GRANT USAGE ON *.* TO `ccc`@`%` || GRANT `yuangong`@`%` TO `ccc`@`%` |+-----------------------------------+2 rows in set (0.00 sec)mysql> flush privileges; //刷新权限Query OK, 0 rows affected (0.00 sec)

相关文章:
培训第二十一天(mysql用户创建与授权、角色创建)
上午 1、环境准备 [rootmysql ~]# rm -rf /etc/my.cnf //清空/etc目录下的my.cnf[rootmysql ~]# yum -y remove mariadb //移除mariadb[rootmysql ~]# find / -name "*mysql*" -exec rm -rf {} \; //删除mysql所有遗留文件 2、安装mysql绿包 [rootmysql ~]…...
makefile基本语法
在编写复杂的程序项目时,Makefile 是一个非常有用的工具,它能自动化构建过程。以下是一些基本的 Makefile 语法介绍: 基本结构: target: dependenciescommandtarget:构建目标,通常是一个文件,如…...
白骑士的PyCharm教学实战项目篇 4.4 大数据处理与分析
系列目录 上一篇:白骑士的PyCharm教学实战项目篇 4.3 自动化测试与持续集成 随着数据量的爆炸性增长,大数据处理与分析成为现代数据科学的重要课题。PyCharm提供了强大的功能,可以帮助开发者高效地进行大数据环境的配置与连接…...
无人机之民用无人机用途分类篇
一、航拍无人机 用于航拍摄影和电影制作,提供空中视角的拍摄服务。可用于电影制作、广告拍摄、房地产销售等。 二、物流无人机 用于快递和货物运输,提高物流效率,可以到达传统配送方式难以覆盖的地区,在突发事件如自然灾害、疫…...
Android10 修改设备名称
A10和A12的设备名称修改是不同的,A10设备名称修改分好几个位置 修改wifi默认名称 在framework/base模块下 diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml index 9041a7c3a14..7a1e63688c4 100644 --- a/core/res/res/values/…...
go testing 包
Go语言的testing包提供了一套丰富的测试工具,用于编写和运行测试用例。以下是testing包中一些常用的函数和类型: func TestMain(m *testing.M): 这是一个特殊的函数,用于执行测试的主函数。如果定义了TestMain,那么在运行go test时…...
基于phpstudy的靶场搭建和github加速
微软商店下载 watt toolkit,然后在侧边栏选择网络加速,勾选 github,就可以快速访问 github 1、下载搭建 sqlilabs github 找到 sqlilabs 靶场,点击 code,下载 zip解压之后,整体移动到 phpstudy_pro 文件夹…...
【数据结构】Map与Set
前言 前两篇文章我们研究了二叉搜索树与哈希表的结构与特点,他们二者是Map与Set这两个接口实现的底层结构,他们利用了搜索树与哈希表查找效率高这一特点,是一种专门用来进行搜索操作的容器或数据结构。本篇文章就让我们一起来梳理这两个接口的…...
Flamingo: a Visual Language Model for Few-Shot Learning
发表时间:NeurIPS 2022 论文链接:https://proceedings.neurips.cc/paper_files/paper/2022/file/960a172bc7fbf0177ccccbb411a7d800-Paper-Conference.pdf 作者单位:DeepMind Motivation:仅使用少量注释示例可以快速适应新任务…...
flume性能调优
作者:南墨 1.Source性能调优 1.1 Spooldir Source 使用Spooldir Source采集日志数据时,若每行日志数据<100bp,可以通过将多行合并传输来提升传输性能 建议合并时根据数据长度来确定多少行合并为一个单位进行传输,合并后的长…...
mysql 字符串转数组
在 MySQL 中,可以使用内置的字符串函数 SUBSTRING_INDEX() 和 REPLACE() 来实现将字符串转换为数组。 首先,使用 REPLACE() 函数将字符串中的分隔符替换为空格,然后使用 SUBSTRING_INDEX() 函数将字符串按空格分割成多个子字符串。最后&…...
UE基础 —— 术语
目录 Project Blueprint Class Object Actor Casting Component Pawn Character Player Controller AI Controller Player State Game Mode Game State Brush Volume Level World Project 项目(Project)包含游戏的所有内容,…...
kubernets学习笔记——使用kubeadm构建kubernets集群及排错
使用kubeadm构建kubernets集群 一、准备工作1、repo源配置:阿里巴巴开源镜像源2、更新软件包并安装必要的系统工具3、同步时间4、禁用selinux5、禁用交换分区swap6、关闭防火墙 二、安装docker-ce、docker、cri-docker1、安装docker-ce2、开启内核转发,转…...
简述MYSQL聚簇索引、二级索引、索引下推
一丶聚簇索引 InnoDB的索引分为两种: 聚簇索引:一般创建表时的主键就会被mysql作为聚簇索引,如果没有主键则选择非空唯一索引作为聚簇索引,都没有则隐式创建一个索引作为聚簇索引;辅助索引:也就是非聚簇索…...
电脑开机后出现bootmgr is missing原因及解决方法
最近有网友问我为什么我电脑开机后出现bootmgr is missing,这个提示意思是:意思是启动管理器丢失,说明bootmgr损坏或者丢失,系统无法读取到这个必要的启动信息导致无法启动。原因有很多,比如我们采用的是uefi引导,而第…...
2024 年 7 月公链行业研报:市场波动中 Solana 表现抢眼,Layer 2 竞争白热化
作者:Stella L (stellafootprint.network) 数据来源:Footprint Analytics 公链 Research 页面 7 月份,加密货币市场表现活跃,波动幅度较大,这一现象映射了全球金融市场的整体趋势。现货以太坊 ETP 在美国的上市&…...
Python查缺補漏
一、 json.load(s)与json.dump(s)区别 json.loads()将str类型的数据转换为dict类型 json.dumps()将dict类型的数据转成str json.load()从json文件中读取数据 json.dump()将数据以json的数据类型写入文件中 二、json内部要使用双引号 data """{ "fruit&qu…...
c++的类和对象(中):默认成员函数与运算符重载(重难点!!)
前言 Hello, 小伙伴们,我们今天继续c的学习,我们上期有介绍到c的部分特性,以及一些区别于c语言的地方,今天我们将继续深入了解c的类和对象,探索c的奥秘。 好,废话不多说,开始我们今天的学习。…...
Android .kl按键布局文件
1.介绍 一个硬件按键的处理流程大致为:当用户按下或释放一个键时,键盘硬件会生成一个扫描码scan code,然后操作系统读取这个scan code,并将scan code扫描码映射到虚拟键码key code,最后操作系统根据映射的keycode生成…...
Java每日一练_模拟面试题6(JVM的GC过程)
一、JVM虚拟机组成 JVM五大内存区域:程序计数器,Java虚拟机栈,本地方法栈,java堆,方法区。 堆被划分为两个区域:年轻代(Young)、老年代(Tenured)。年轻代又被划分为三个区域:Eden、From Surviv…...
7.4.分块查找
一.分块查找的算法思想: 1.实例: 以上述图片的顺序表为例, 该顺序表的数据元素从整体来看是乱序的,但如果把这些数据元素分成一块一块的小区间, 第一个区间[0,1]索引上的数据元素都是小于等于10的, 第二…...
【kafka】Golang实现分布式Masscan任务调度系统
要求: 输出两个程序,一个命令行程序(命令行参数用flag)和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽,然后将消息推送到kafka里面。 服务端程序: 从kafka消费者接收…...
进程地址空间(比特课总结)
一、进程地址空间 1. 环境变量 1 )⽤户级环境变量与系统级环境变量 全局属性:环境变量具有全局属性,会被⼦进程继承。例如当bash启动⼦进程时,环 境变量会⾃动传递给⼦进程。 本地变量限制:本地变量只在当前进程(ba…...
基于Flask实现的医疗保险欺诈识别监测模型
基于Flask实现的医疗保险欺诈识别监测模型 项目截图 项目简介 社会医疗保险是国家通过立法形式强制实施,由雇主和个人按一定比例缴纳保险费,建立社会医疗保险基金,支付雇员医疗费用的一种医疗保险制度, 它是促进社会文明和进步的…...
JDK 17 新特性
#JDK 17 新特性 /**************** 文本块 *****************/ python/scala中早就支持,不稀奇 String json “”" { “name”: “Java”, “version”: 17 } “”"; /**************** Switch 语句 -> 表达式 *****************/ 挺好的ÿ…...
如何在最短时间内提升打ctf(web)的水平?
刚刚刷完2遍 bugku 的 web 题,前来答题。 每个人对刷题理解是不同,有的人是看了writeup就等于刷了,有的人是收藏了writeup就等于刷了,有的人是跟着writeup做了一遍就等于刷了,还有的人是独立思考做了一遍就等于刷了。…...
Swagger和OpenApi的前世今生
Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章,二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑: 🔄 一、起源与初创期:Swagger的诞生(2010-2014) 核心…...
使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台
🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...
初学 pytest 记录
安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...
AI+无人机如何守护濒危物种?YOLOv8实现95%精准识别
【导读】 野生动物监测在理解和保护生态系统中发挥着至关重要的作用。然而,传统的野生动物观察方法往往耗时耗力、成本高昂且范围有限。无人机的出现为野生动物监测提供了有前景的替代方案,能够实现大范围覆盖并远程采集数据。尽管具备这些优势…...
