05-Linux部署MySQL

Linux部署MySQL

在今后的使用過程中,需要頻繁使用Linux系統,所以在Linux上安裝軟是必不可少的操作 。

前置要求

  1. 需要學習前四章知識,初識Linux、Linux基礎命令、Linux權限管理、Linux高階技巧這4個章節。
  2. 需要開啟多態虛擬機,電腦內存要大于8G,或者可以選擇使用阿里云等云服務器。

MySQL的安裝部署

MySQL數據庫管理系統(后續簡稱MySQL),是一款知名的數據庫系統,其特點是:輕量、簡單、功能豐富。

MySQL數據庫可謂是軟件行業的明星產品,無論是后端開發、大數據、AI、運維、測試等各類崗位,基本上都會和MySQL打交道。

從MySQL開始,進行實戰的Linux軟件安裝部署。

下面將介紹2個版本進行安裝:

  • MySQL 5.7版本安裝
  • MySQL 8.x版本安裝

MySQL5.7版本在CentOS系統安裝

注意:安裝操作需要root權限

MySQL的安裝可以通過前面學習的yum命令進行。

安裝

  • 配置yum倉庫
# 更新密鑰
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022# 安裝Mysql yum庫
rpm -Uvh http://repo.mysql.com//mysql57-community-release-el7-7.noarch.rpm

image-20240226172554403

  • 使用yum安裝MySQL
# yum安裝Mysql
yum -y install mysql-community-server

image-20240226172749209

  • 安裝完成后,啟動MySQL并配置開機自啟動
systemctl start mysqld		# 啟動
systemctl enable mysqld		# 開機自啟

MySQL安裝完成后,會自動配置為名稱叫做:mysqld的服務,可以被systemctl所管理

  • 檢查MySQL的運行狀態
systemctl status mysqld

image-20240226173321502

配置

配置管理員用戶root的密碼以及配置允許遠程登錄的權限

  • 獲取MySQL的初始密碼
# 通過grep命令,在/var/log/mysqld.log文件中,過濾temporary password關鍵字,得到初始密碼
grep 'temporary password' /var/log/mysqld.log

image-20240226182858344

  • 登錄MySQL
# 執行
mysql -uroot -p
# 解釋
# -u,登陸的用戶,MySQL數據庫的管理員用戶同Linux一樣,是root
# -p,表示使用密碼登陸# 執行完畢后輸入剛剛得到的初始密碼,即可進入MySQL數據庫

image-20240226183046500

  • 修改root用戶密碼
# 在MySQL控制臺內執行
ALTER USER 'root'@'localhost' IDENTIFIED BY '密碼';	-- 密碼需要符合:大于8位,有大寫字母,有特殊符號,不能是連續的簡單語句如123,abc

image-20240226183252166

  • 配置root的簡單密碼

我們可以給root設置簡單密碼,如123456.

請注意,此配置僅僅是用于測試環境或學習環境的MySQL,如果是正式使用,請勿設置簡單密碼

# 如果你想設置簡單密碼,需要降低Mysql的密碼安全級別
set global validate_password_policy=LOW; # 密碼安全級別低
set global validate_password_length=4;	 # 密碼長度最低4位即可# 然后就可以用簡單密碼了(在學習中使用簡單密碼,為了方便,生產中不要這樣)
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

image-20240226183808937

  • 配置root遠程登錄

默認情況下,root用戶是不運行遠程登錄的,只允許在MySQL所在的Linux服務器登陸MySQL系統

請注意,允許root遠程登錄會帶來安全風險

# 授權root遠程登錄
grant all privileges on *.* to root@"IP地址" identified by '密碼' with grant option;  
# IP地址即允許登陸的IP地址,也可以填寫%,表示允許任何地址
# 密碼表示給遠程登錄獨立設置密碼,和本地登陸的密碼可以不同# 刷新權限,生效
flush privileges;

image-20240226184254498

  • 退出MySQL控制臺頁面
# 退出命令
exit# 或者通過快捷鍵退出:ctrl + d
  • 檢查端口

    MySQL默認綁定了3306端口,可以通過端口占用檢查MySQL的網絡狀態

netstat -anp | grep 3306

image-20240226184632374

至此,MySQL就安裝完成并可用了,請妥善保存好MySQL的root密碼。

使用Navicat連接centOS7.9中的MySQL5.7

  • 開啟防火墻
systemctl start firewalld
  • 顯示防火墻狀態
systemctl status firewalld

image-20240226194448875

  • 打開防火墻的3306端口(--permanent永久生效)
firewall-cmd --zone=public --add-port=3306/tcp --permanent

image-20240226194617059

  • 重啟防火墻
service firewalld restart

image-20240226194747713

  • 使用Navicat連接centOS中的MySQL5.7

image-20240226193756192

MySQL8.0版本在CentOS系統安裝

注意:安裝操作需要root權限

安裝

  • 配置yum倉庫(這里的2023要緊跟實時)
# 更新密鑰
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2023# 安裝Mysql8.x版本 yum庫
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-2.noarch.rpm

image-20240226200846746

  • 使用yum安裝MySQL
# yum安裝Mysql
yum -y install mysql-community-server

image-20240226201253248

  • 安裝完成后,啟動MySQL并配置開機自啟動
systemctl start mysqld		# 啟動
systemctl enable mysqld		# 開機自啟

MySQL安裝完成后,會自動配置為名稱叫做:mysqld的服務,可以被systemctl所管理

  • 查看MySQL的運行狀態
systemctl status mysqld

image-20240226201557935

配置

主要修改root密碼和允許root遠程登錄

  • 獲取MySQL的初始密碼
# 通過grep命令,在/var/log/mysqld.log文件中,過濾temporary password關鍵字,得到初始密碼
grep 'temporary password' /var/log/mysqld.log
  • 登錄MySQL數據庫系統
# 執行
mysql -uroot -p
# 解釋
# -u,登陸的用戶,MySQL數據庫的管理員用戶同Linux一樣,是root
# -p,表示使用密碼登陸# 執行完畢后輸入剛剛得到的初始密碼,即可進入MySQL數據庫
  • 修改root密碼
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密碼';	-- 密碼需要符合:大于8位,有大寫字母,有特殊符號,不能是連續的簡單語句如123,abc
  • 配置root的簡單密碼

我們可以給root設置簡單密碼,如123456.

請注意,此配置僅僅是用于測試環境或學習環境的MySQL,如果是正式使用,請勿設置簡單密碼

set global validate_password.policy=0;		# 密碼安全級別低
set global validate_password.length=4;		# 密碼長度最低4位即可
  • 允許root遠程登錄,并設置遠程登錄密碼

默認情況下,root用戶是不運行遠程登錄的,只允許在MySQL所在的Linux服務器登陸MySQL系統

請注意,允許root遠程登錄會帶來安全風險

# 第一次設置root遠程登錄,并配置遠程密碼使用如下SQL命令
create user 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密碼!';	-- 密碼需要符合:大于8位,有大寫字母,有特殊符號,不能是連續的簡單語句如123,abc# 后續修改密碼使用如下SQL命令
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密碼';
  • 退出MySQL控制臺頁面
# 退出命令
exit# 或者通過快捷鍵退出:ctrl + d
  • 檢查端口

    MySQL默認綁定了3306端口,可以通過端口占用檢查MySQL的網絡狀態

netstat -anp | grep 3306

image-20240226202459717

至此,MySQL就安裝完成并可用了,請妥善保存好MySQL的root密碼。

使用Navicat連接centOS7.9中的MySQL8.0

  • 開啟防火墻
systemctl start firewalld
  • 顯示防火墻狀態
systemctl status firewalld
  • 打開防火墻的3306端口(--permanent永久生效)
firewall-cmd --zone=public --add-port=3306/tcp --permanent
  • 重啟防火墻
service firewalld restart

image-20240226202857815

  • 使用Navicat連接centOS中的MySQL8.0

image-20240226203059080

  • 查看MySQL版本
mysql> status;
--------------
mysql  Ver 8.0.36 for Linux on x86_64 (MySQL Community Server - GPL)Connection id:		12
Current database:	
Current user:		root@localhost
SSL:			Not in use
Current pager:		stdout
Using outfile:		''
Using delimiter:	;
Server version:		8.0.36 MySQL Community Server - GPL
Protocol version:	10
Connection:		Localhost via UNIX socket
Server characterset:	utf8mb4
Db     characterset:	utf8mb4
Client characterset:	utf8mb4
Conn.  characterset:	utf8mb4
UNIX socket:		/var/lib/mysql/mysql.sock
Binary data as:		Hexadecimal
Uptime:			18 min 0 secThreads: 3  Questions: 21  Slow queries: 0  Opens: 179  Flush tables: 3  Open tables: 95  Queries per second avg: 0.019
--------------mysql> 

可以看到這個MySQL的版本號是8.0.36

使用Xshell連接Ubuntu系統

Ubuntu系統的配置

  • 提升root權限
sudo su -
#輸入密碼
  • 安裝net-tools
sudo apt install net-tools
  • 查看IP地址
ifconfig

image-20240227090507102

  • 查看22號端口
netstat -ntlp|grep 22
  • 安裝spenssh-server
apt-get install openssh-server

image-20240227091220592

  • 啟動ufw防火墻
ufw enable

image-20240227091252192

  • 允許通過TCP協議在22端口上的傳入連接
ufw allow 22/tcp

image-20240227091318878

使用Xshell連接Ubuntu系統

  • 填寫IP

image-20240227091527986

  • 填寫用戶密碼

image-20240227091734501

  • 在Xshell上登錄成功

image-20240227092037474

MySQL5.7版本在Ubuntu(可使用WSL環境)系統安裝

課程中配置的WSL環境是最新的Ubuntu22.04版本,這個版本的軟件商店內置的MySQL是8.0版本

所以我們需要額外的步驟才可以安裝5.7版本的MySQL

安裝操作需root權限,你可以:

  1. 通過 sudo su -,切換到root用戶

    課程中選擇這種方式操作

  2. 或在每一個命令前,加上sudo,用來臨時提升權限

安裝

  • 下載apt倉庫文件
# 下載apt倉庫的安裝包,Ubuntu的安裝包是.deb文件
wget https://dev.mysql.com/get/mysql-apt-config_0.8.12-1_all.deb

image-20240227092236659

  • 配置apt倉庫
# 使用dpkg命令安裝倉庫
dpkg -i mysql-apt-config_0.8.12-1_all.deb

彈出框中選擇:ubuntu bionic (Ubuntu18.04系統的代號是bionic,選擇18.04的版本庫用來安裝)

image-20240227092708227

彈出框中選擇:MySQL Server & Cluster

image-20240227092809092

彈出框中選擇:mysql-5.7

image-20240227092856842

最后選擇ok

image-20240227092931537

  • 更新apt倉庫的信息
# 首先導入倉庫的密鑰信息
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 467B942D3A79BD29
# 更新倉庫信息
apt update

image-20240227093156740

  • 檢查是否成功配置MySQL5.7的倉庫
apt-cache policy mysql-server

發現沒有5.7版本的MySQL,并有以下報錯

W: GPG error: http://repo.mysql.com/apt/ubuntu bionic InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY B7B3B788A8D3785C
E: The repository 'http://repo.mysql.com/apt/ubuntu bionic InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

該報錯說明APT無法驗證倉庫的 GPG 簽名,因為它缺少必要的公鑰,可以執行以下命令

#加入公鑰
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys B7B3B788A8D3785C
#更新apt
apt update
#查看是否配置MySQL5.7倉庫
apt-cache policy mysql-server

image-20240227102657484

  • 安裝MySQL5.7
# 使用apt安裝mysql客戶端和mysql服務端
apt install -f -y mysql-client=5.7* mysql-community-server=5.7*

加載安裝

image-20240227102739790

進入安裝界面

輸入密碼,123456,然后選擇ok

image-20240227102939889

再次輸入密碼,然后選擇ok

image-20240227103056935

  • 啟動MySQL5.7
/etc/init.d/mysql start			# 啟動
/etc/init.d/mysql stop			# 停止
/etc/init.d/mysql status		# 查看狀態

image-20240227103257998

  • 對MySQL5.7進行初始化
# 執行如下命令,此命令是MySQL安裝后自帶的配置程序
mysql_secure_installation
# 可以通過which命令查看到這個自帶程序所在的位置
root@DESKTOP-Q89USRE:~# which mysql_secure_installation
/usr/bin/mysql_secure_installation
  1. 輸入密碼

    image-20240227124358897

  2. 是否開啟密碼驗證插件,如果需要增強密碼安全性,輸入y并回車,不需要直接回車(課程中選擇直接回車)

    image-20240227124432497

  3. 是否更改root密碼,需要輸入y回車,不需要直接回車(課程不更改)

    image-20240227124526118

  4. 是否移除匿名用戶,移除輸入y回車,不移除直接回車(課程選擇移除)

    image-20240227124621349

  5. 是否進制root用戶遠程登錄,禁止輸入y回車,不禁止直接回車(課程選擇不禁止)

    image-20240227124708444

  6. 是否移除自帶的測試數據庫,移除輸入y回車,不移除直接回車(課程選擇不移除)

    image-20240227124747660

  7. 是否刷新權限,刷新輸入y回車,不刷新直接回車(課程選擇刷新)

    image-20240227124933247

  8. 登錄MySQL5.7

    mysql -u root -p
    

    image-20240227125057737

至此,在Ubuntu上安裝MySQL5.7版本成功。

使用Navicat連接Ubuntu中的MySQL5.7

  • 配置MySQL的文件,需要用到vim操作,先安裝vim命令
apt install vim

image-20240227133654441

  • 編輯/etc/mysql/mysql.conf.d/mysqld.cnf文件
vim /etc/mysql/mysql.conf.d/mysqld.cnf

注釋掉 bind-address = 127.0.0.1

 # bind-address  = 127.0.0.1

添加3306端口

port = 3306

最后按ESC輸入:wq保存并退出

  • 重啟MySQL5.7
#停用MySQL
service mysql stop
#啟動MySQL
service mysql start
#設置MySQL開機自啟動
systemctl enable mysql
  • 進入MySQL配置遠程登錄密碼
# 授權root遠程登錄
grant all privileges on *.* to root@"IP地址" identified by '密碼' with grant option;  
# IP地址即允許登陸的IP地址,也可以填寫%,表示允許任何地址
# 密碼表示給遠程登錄獨立設置密碼,和本地登陸的密碼可以不同# 刷新權限,生效
flush privileges;
  • 配置防火墻,開放3306防火墻端口
#安裝防火墻軟件
apt install firewalld

image-20240227140456214

  • 開放3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
  • 重啟防火墻
firewall-cmd --reload
  • 查詢防火墻是否允許通過3306端口
firewall-cmd --query-port=3306/tcp

image-20240227142036542

  • 使用Navicat連接Ubuntu中的MySQL5.7

image-20240227142347126

MySQL8.0版本在Ubuntu(可使用WSL環境)系統安裝

課程中配置的WSL環境是最新的Ubuntu22.04版本,這個版本的軟件商店內置的MySQL是8.0版本

所以直接可以通過apt安裝即可

注意,課程是以WSL獲得的Ubuntu操作系統環境。

如果你通過VMware虛擬機的方式獲得了Ubuntu操作系統環境,操作步驟不用擔心,和課程中使用WSL環境是完全一致的

安裝操作需root權限,你可以:

  1. 通過 sudo su -,切換到root用戶

    課程中選擇這種方式操作

  2. 或在每一個命令前,加上sudo,用來臨時提升權限

安裝

  • 如果已經安裝過MySQL5.7版本,需要卸載倉庫信息哦
# 卸載MySQL5.7版本
apt remove -y mysql-client=5.7* mysql-community-server=5.7*# 卸載5.7的倉庫信息
dpkg -l | grep mysql | awk '{print $2}' | xargs dpkg -P
  • 更新apt倉庫信息
apt update
  • 安裝MySQL
apt install -y mysql-server
  • 啟動MySQL
/etc/init.d/mysql start			# 啟動
/etc/init.d/mysql stop			# 停止
/etc/init.d/mysql status		# 查看狀態
  • 登錄MySQL8.0,設置密碼
# 直接執行:mysql
mysql
  • 設置密碼
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
  • 退出MySQL控制臺
exit
  • 初始化MySQL8.0
# 執行如下命令,此命令是MySQL安裝后自帶的配置程序
mysql_secure_installation
# 可以通過which命令查看到這個自帶程序所在的位置
root@DESKTOP-Q89USRE:~# which mysql_secure_installation
/usr/bin/mysql_secure_installation
  • 輸入密碼

image-20240227144304223

  • 是否開啟密碼驗證插件,如果需要增強密碼安全性,輸入y并回車,不需要直接回車(課程中選擇直接回車)

image-20240227144357318

  • 是否更改root密碼,需要輸入y回車,不需要直接回車(課程不更改)

image-20240227144429413

  • 是否移除匿名用戶,移除輸入y回車,不移除直接回車(課程選擇移除)

image-20240227144525722

  • 是否進制root用戶遠程登錄,禁止輸入y回車,不禁止直接回車(課程選擇不禁止)

image-20240227144601972

  • 是否移除自帶的測試數據庫,移除輸入y回車,不移除直接回車(課程選擇不移除)

image-20240227144638707

  • 是否刷新權限,刷新輸入y回車,不刷新直接回車(課程選擇刷新)

image-20240227144806619

  • 重新登陸MySQL(用更改后的密碼)
mysql -u root -p

image-20240227144934181

至此,在Ubuntu上安裝MySQL8.0版本成功。

使用Navicat連接Ubuntu中的MySQL8.0

  • 配置MySQL的文件,需要用到vim操作,先安裝vim命令
apt install vim
  • 編輯/etc/mysql/mysql.conf.d/mysqld.cnf文件
vim /etc/mysql/mysql.conf.d/mysqld.cnf

注釋掉 bind-address = 127.0.0.1

 # bind-address  = 127.0.0.1

添加3306端口

port = 3306

最后按ESC輸入:wq保存并退出

  • 重啟MySQL5.7
#停用MySQL
service mysql stop
#啟動MySQL
service mysql start
#設置MySQL開機自啟動
systemctl enable mysql
  • 進入MySQL配置遠程登錄密碼

在MySQL 5.7.6及以后的版本中,CREATE USERGRANT語句是分開的

CREATE USER 'root'@'%';
ALTER USER 'root'@'%' IDENTIFIED BY '654321';
#授予該用戶所有數據庫的所有權限,并允許該用戶授予其他用戶權限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
#刷新權限
FLUSH PRIVILEGES;
#退出
exit;

image-20240227150742350

  • 配置防火墻,開放3306防火墻端口
#安裝防火墻軟件
apt install firewalld
  • 開放3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
  • 重啟防火墻
firewall-cmd --reload
  • 查詢防火墻是否允許通過3306端口
firewall-cmd --query-port=3306/tcp
  • 使用Navicat連接Ubuntu中的MySQL8.0

image-20240227150356882

注意

在正式的生產環境中,一定要使用強密碼配置MySQL的登錄,以及Linux的登錄,MySQL遠程登錄最好是固定一個公網IP,阿里云服務器中專用的安全組策略來設置,同時要定期備份數據庫。否則你的數據庫會像如下一樣,被劫持。
在使用Ubuntu系統安裝MySQL時,使用虛擬機創建的Ubuntu與上述WSL環境一樣
WSL環境是指Windows自帶的Linux系統環境

mmexport1709018445136

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/717086.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/717086.shtml
英文地址,請注明出處:http://en.pswp.cn/news/717086.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

KubeSphere簡介,功能介紹,優勢,架構說明及應用場景

KubeSphere 是在目前主流容器調度平臺 Kubernetes 之上構建的企業級分布式多租戶容器平臺,提供簡單易用的操作界面以及向導式操作方式,在降低用戶使用容器調度平臺學習成本的同時,極大減輕開發、測試、運維的日常工作的復雜度,旨…

每日一題 — 快樂數

202. 快樂數 - 力扣(LeetCode) 思路: 可以借用判斷鏈表是否有環的思想: 定義快慢指針(兩個變量賦值就行)快指針走兩次,慢指針走一次快慢指針相遇,看是不是等于一 public int bitSum(…

c++之stack(棧)與queue(隊列)的使用與簡單實現

文章目錄 說明stack與 queuepushpop()刪除top()查頭queue的back()查尾size()長度empty()判空 說明 棧的簡單實現很簡單,但是有一個強制要求,傳過來的類模版中,必須包含尾插頭刪等操作 隊列同理 他們兩個叫空間適配器,不同于其他stl的類 stack…

緩存相關問題:雪崩、穿透、預熱、更新、降級的深度解析

??祝屏幕前的小伙伴們每天都有好運相伴左右?? 🎈🎈作者主頁: 喔的嘛呀🎈🎈 目錄 引言 1. 緩存雪崩 1.1 問題描述 1.2 解決方案 1.2.1 加鎖防止并發重建緩存 2. 緩存穿透 2.1 問題描述 2.2 解決方案 2.2.1 …

【解決方案】ArcGIS Engine二次開發時,運行后出現“正嘗試在 OS 加載程序鎖內執行托管代碼。不要嘗試在 DllMain...”

我們在做ArcGIS Engine二次開發時,特別是新手,安裝好了開發環境,滿懷信心的準備將按照教程搭建好的框架在Visual Studio中進行運行。點擊運行后,卻出現了“正嘗試在 OS 加載程序鎖內執行托管代碼。不要嘗試在 DllMain 或映像初始化…

【C語言】內存操作篇---動態內存管理----malloc,realloc,calloc和free的用法【圖文詳解】

歡迎來CILMY23的博客喔,本篇為【C語言】內存操作篇---動態內存管理----malloc,realloc,calloc和free的用法【圖文詳解】,感謝觀看,支持的可以給個一鍵三連,點贊關注收藏。 前言 在學完結構體后(…

代碼隨想錄算法訓練營|day46

第九章 動態規劃 139.單詞拆分代碼隨想錄文章詳解總結 139.單詞拆分 dp[i]表示字符串的前i個字符能被拆分為字典中的單詞 排列問題:外循環背包,內循環物品 字符串能被字典拆分,將當前字符串s[:i]拆分為s[:j]和s[j:i],意味著s[:j]…

2174. 費用流(費用流,模板題)

活動 - AcWing 給定一個包含 n 個點 m 條邊的有向圖,并給定每條邊的容量和費用,邊的容量非負。 圖中可能存在重邊和自環,保證費用不會存在負環。 求從 S 到 T 的最大流,以及在流量最大時的最小費用。 輸入格式 第一行包含四個…

探索設計模式的魅力:備忘錄模式揭秘-實現時光回溯、一鍵還原、后悔藥、歷史的守護者和穿越時空隧道

?🌈 個人主頁:danci_ 🔥 系列專欄:《設計模式》 💪🏻 制定明確可量化的目標,并且堅持默默的做事。 備忘錄模式揭秘-實現時光回溯、一鍵還原、后悔藥和穿越時空隧道 文章目錄 一、案例場景&…

數據結構作業復盤1:字符串疑難雜癥小匯總(字符串賦值,指針數組...)

學校里開始上數據結構了,一開始是從C語言一些相關的基礎開始講起。第一次作業主要是字符串相關的基礎知識以及編程題目。先做了一部分,整理了一下一些字符串隱含的知識和一些易誤易混的概念,算是給自己的一個復盤和歸納。 strcpy函數相關 首…

System Verilog學習筆記(十五)——包的使用

System Verilog學習筆記(十五)——包的使用 為了使得可以在多個模塊或者類之間共享用戶定義類型,SV添加了包(package)。用戶自定義的類型例如類、方法、變量、結構體、枚舉類型等都可以在package…endpackage中定義。…

sc-MAVE

Deep-joint-learning analysis model of single cell transcriptome and open chromatin accessibility data單細胞轉錄組和開放染色質可及性數據的深度聯合學習分析模型 在同一個細胞中同時分析轉錄組和染色質可及性信息為了解細胞狀態提供了前所未有的解決方案。然而&#x…

數據結構——基本概念與術語2,抽象數據類型的表示與實現

目錄 1.數據類型 2.抽象數據類型 1.抽象數據類型的形式定義 基本操作定義格式說明 2.抽象數據類型定義舉例:circle的定義 3.抽象數據類型定義舉例:復數的定義 概念小結: 3.抽象數據類型的表示與實現 1.數據類型 2.抽象數據類型 比如一…

Stable Diffusion webui 常用啟動參數

automatic1111 (stable diffusion webui開源項目) --listen 開啟遠程訪問,局域網內主機可通過ip地址訪問SD webui主機 --share 開啟互聯網訪問,任何主機都可訪問主機,啟動后會在啟動文本上顯示訪問鏈接 --port 通常…

游戲框架搭建

使用框架的目標:低耦合,高內聚,表現和數據分離 耦合:對象,類的雙向引用,循環引用 內聚:相同類型的代碼放在一起 表現和數據分離:需要共享的數據放在Model里 對象之間的交互一般有三…

跨平臺指南:在 Windows 和 Linux 上安裝 OpenSSL 的完整流程

Windows安裝 一:找到安裝包,雙擊即可 https://gitee.com/wake-up-again/installation-package.git 二:按照提示,一步一步來,就可以啦 三:此界面意思是,是否想向創作者捐款,自己視情…

2024最新搭建Mybatis配置教程【超詳細】

為什么要學習mybatis 首先要弄清楚什么是mybatis?我們為什么要學mybatis 學習MyBatis可以幫助開發人員更高效地進行數據庫操作,提高開發效率,并且可以使得應用程序更具可維護性和性能優勢。 我們知道Java程序操作數據庫是通過jdbc與數據庫進…

藍橋杯——矩形拼接

矩形拼接 題目分析 對于一個矩形而言,我可以把它橫著放,而可以把它豎著放,比如下圖, 3個矩形的拼接情況可以通過在紙上畫圖模擬出來,情況有以下三種 ? 圖1 圖3是4條邊,即四邊形。觀察一下什么時候會是四…

IO(Linux)

文件系統 前言1. 回顧關于C文件部分函數2. 一些文件知識的共識3. 相對路徑4. fwrite中的\0 一、文件描述符fd1. 概念2. 系統調用① open 和 close② write③ read 和 lseek 3. 缺省打開的fd 二、重定向1. 原理2. 系統調用dup23. stdout和stderr的區別4. 進程替換和原來進程文件…

【計算機考研】408學到什么程度才能考130?

408考130要比考研數學考130難的多 我想大部分考過408的考生都是這么認為的。408的難點在于他涉及的范圍太廣了,首先如果你要備考408,你要準備四門課程,分別是數據結構,計算機組成原理,操作系統和計算機網絡。 這四門…