培训第二十一天(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…...

数据防泄密软件推荐|(6大数据防泄密软件推荐!)
很多朋友在后台私信,什么是数据防泄密软件,有哪些数据防泄密软件推荐。 今天小编将从定义出发,深入浅出地介绍这一技术的工作原理、应用场景以及实现方式。 一、什么是文档透明加密? 文档透明加密是一种在用户无感知的情况下对文…...

Codeforces 874 div3 A-G
A. Musical Puzzle 分析 每两个相邻的字母都要录制一段,开个set记录一下,然后输出set的大小 C代码: #include<iostream> #include<set> using namespace std; void solve(){int n;string s;cin>>n>>s;set<strin…...

暑期数据结构 空间复杂度
3.空间复杂度 空间复杂度也是一个数学表达式,是对一个算法在运行过程中临时占用存储空间大小的量度。 空间复杂度不是程序占用了多少bytes的空间,因为这个也没太大意义,所以空间复杂度算的是变量的个数。空间复杂度计算规则基本跟…...

【Android Studio】图标一键生成 Image Asset Studio(一键各机型适配图标生成工具-告别一个一个替换)
文章目录 方法一:原始替换方法二:Image Asset Studio 方法一:原始替换 https://blog.csdn.net/xzzteach/article/details/140821856 方法二:Image Asset Studio 自动替换所有机型图标...

C++ | Leetcode C++题解之第332题重新安排行程
题目: 题解: class Solution { public:unordered_map<string, priority_queue<string, vector<string>, std::greater<string>>> vec;vector<string> stk;void dfs(const string& curr) {while (vec.count(curr) &am…...

使用Python实现简单的网页爬虫:抓取网站标题
使用Python实现简单的网页爬虫:抓取网站标题 在当今数据驱动的时代,网络爬虫(Web Crawler)成为了获取和分析网络数据的重要工具。无论是数据科学、市场分析还是学术研究,爬虫都能帮助我们从互联网上提取有价值的信息。本文将介绍如何使用Python实现一个简单的爬虫,抓取某…...

视觉SLAM ch3—三维空间的刚体运动
如果对于某些线性代数的知识不太牢固,可以看一下我的另一篇博客,写了一些基础知识并推荐了一些视频。 旋转矩阵 单元所需的线代基础知识https://blog.csdn.net/Johaden/article/details/141023668 一、旋转矩阵 1.点、向量、坐标系 在数学中&…...

计算机毕业设计选题推荐-二手图书交易系统-Java/Python项目实战
✨作者主页:IT毕设梦工厂✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…...

4.MySQL数据类型
目录 数据类型 编辑数值类型 tinyint类型 bit类型 float类型 decimal类型 字符串类型 char类型 varchar varchar和char的区别 日期和时间类型 数据类型 数值类型 说明一下:MySQL本身是不支持bool类型的,当把一个数据设置成bool类型时&#x…...

快递查询新纪元:一键批量获取多家快递物流详情
跨快递平台批量查询神器:一站式解决信息追踪难题——固乔快递查询助手 在电商行业日益繁荣的今天,快递服务已经成为连接买卖双方不可或缺的一环。然而,随着合作的快递公司日益增多,如何高效地管理和追踪不同平台的快递信息&#…...