培训第二十一天(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…...
华为云AI开发平台ModelArts
华为云ModelArts:重塑AI开发流程的“智能引擎”与“创新加速器”! 在人工智能浪潮席卷全球的2025年,企业拥抱AI的意愿空前高涨,但技术门槛高、流程复杂、资源投入巨大的现实,却让许多创新构想止步于实验室。数据科学家…...
从零实现富文本编辑器#5-编辑器选区模型的状态结构表达
先前我们总结了浏览器选区模型的交互策略,并且实现了基本的选区操作,还调研了自绘选区的实现。那么相对的,我们还需要设计编辑器的选区表达,也可以称为模型选区。编辑器中应用变更时的操作范围,就是以模型选区为基准来…...
Linux简单的操作
ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...
Java多线程实现之Callable接口深度解析
Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...
华为OD机试-食堂供餐-二分法
import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...
算法岗面试经验分享-大模型篇
文章目录 A 基础语言模型A.1 TransformerA.2 Bert B 大语言模型结构B.1 GPTB.2 LLamaB.3 ChatGLMB.4 Qwen C 大语言模型微调C.1 Fine-tuningC.2 Adapter-tuningC.3 Prefix-tuningC.4 P-tuningC.5 LoRA A 基础语言模型 A.1 Transformer (1)资源 论文&a…...
C#中的CLR属性、依赖属性与附加属性
CLR属性的主要特征 封装性: 隐藏字段的实现细节 提供对字段的受控访问 访问控制: 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性: 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑: 可以…...
【C++特殊工具与技术】优化内存分配(一):C++中的内存分配
目录 一、C 内存的基本概念 1.1 内存的物理与逻辑结构 1.2 C 程序的内存区域划分 二、栈内存分配 2.1 栈内存的特点 2.2 栈内存分配示例 三、堆内存分配 3.1 new和delete操作符 4.2 内存泄漏与悬空指针问题 4.3 new和delete的重载 四、智能指针…...
学习一下用鸿蒙DevEco Studio HarmonyOS5实现百度地图
在鸿蒙(HarmonyOS5)中集成百度地图,可以通过以下步骤和技术方案实现。结合鸿蒙的分布式能力和百度地图的API,可以构建跨设备的定位、导航和地图展示功能。 1. 鸿蒙环境准备 开发工具:下载安装 De…...
Python竞赛环境搭建全攻略
Python环境搭建竞赛技术文章大纲 竞赛背景与意义 竞赛的目的与价值Python在竞赛中的应用场景环境搭建对竞赛效率的影响 竞赛环境需求分析 常见竞赛类型(算法、数据分析、机器学习等)不同竞赛对Python版本及库的要求硬件与操作系统的兼容性问题 Pyth…...
