程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

VMWarePro+Ubuntu+MySQL 8.0.x+Python 開發環境搭建

編輯:Python

搭建開發環境

1、 安裝 VMWarePro 15

鏈接: https://pan.baidu.com/s/1XHoE9zQRUByrUEBZnBL1RA
提取碼: ntgh
安裝過程很簡單,一直下一步,直到結束。安裝完步之後要重新啟動系統
創建新的空白虛擬機,選擇稍後安裝系統,選擇合適的cpu核心數和內存大小,網絡配置:橋接模式

2、 安裝 Ubuntu20.04 操作系統

下載系統: https://ubuntu.com/download/desktop
選擇系統版本: Ubuntu 20.04.3 LTS
下載下來之後,系統鏡像: ubuntu-20.04.3-desktop-amd64.iso
將iso鏡像文件掛載到虛擬機的光驅上,啟動安裝程序
安裝的時候 系統語言 選擇全英文,將第三方軟件也安裝上,安裝過程選擇在線下載更新包
完成ubuntu操作系統的安裝

3、安裝vim編輯器、git工具和net-tools網絡工具

sudo apt-get update
sudo apt-get upgrade 多執行幾次更新命令
sudo apt-get install vim
sudo apt-get install git
sudo apt-get install net-tools // 使用ifconfig查看IP地址

4、虛擬機和宿主機之間的內容傳遞

4.1 剪貼板內容和小文件的傳遞

讓虛擬機和宿主機之間可以復制粘貼數據文件
sudo apt autoremove open-vm-tools
sudo apt install open-vm-tools-desktop

4.2 大文件的傳遞

在ubuntu上安裝 ssh-server 服務
查看SSH服務有沒有安裝: sudo ps -e |grep ssh
安裝SSH : sudo apt-get install openssh-server
啟動ssh命令: service sshd start
停止ssh命令: service sshd stop
在windows上安裝FTP軟件:MobaXTerm 和 FileZilla

5、 Ubuntu20.04安裝搜狗輸入法

deb軟件包的下載地址: https://pinyin.sougou.com
安裝方法查看搜狗官方幫助文檔法

6、安裝Python虛擬環境管理器 miniconda

下載地址: https://conda.io/en/latest/miniconda.html
conda的常用命令總體上分以下三類:

6.1 管理虛擬環境的命令

a、 conda info // 查看conda的基本配置信息
b、 conda create -n py310env python==3.10.0 // 創建指定python版本的虛擬環境
c、 conda info --envs // 顯示所有的虛擬環境
d、 conda activate xxxx // 開啟xxxx虛擬環境
e、 conda deactivate // 關閉當前正在使用的虛擬環境
f、 conda config --set auto_activate_base false/true // 關閉或者開啟自動激活狀態
g、 conda remove -n xxxx --all // 刪除xxxx虛擬環境

6.2 管理鏡像源的命令

a、 conda config --show channels // 顯示目前conda的數據源有哪些
// 添加數據源:例如, 添加清華anaconda鏡像 (https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/)
b、 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
c、 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
d、 conda config --set show_channel_urls yes
e、 conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ // 刪除數據源
f、 conda clean -i // 清除索引緩存,保證用的是鏡像站提供的索引

6.3 python包的管理命令

a、 conda list // 列出當前虛擬環境中安裝的package
b、 conda install xxx=3.2.8 // 安裝指定版本的 xxx 包
c、 conda uninstall xxx // 卸載指定的 xxx 包
d、 conda search xxx // 搜索指定的xxx包
f、 conda list -e > requirements.txt // conda批量導出包含環境中所有組件的requirements.txt文件
g、 conda install --yes --file requirements.txt // conda批量安裝requirements.txt文件中包含的組件依賴

7、 pip包管理工具的常用命令

7.1 管理鏡像源的命令

// 升級pip
pip install pip -U
// 顯示目前pip的數據源有哪些
pip config list
pip config list --[user|global] # 列出用戶|全局的設置
pip config get global.index-url # 得到這key對應的value 如:https://mirrors.aliyun.com/pypi/simple/
// 常見的國內鏡像源
阿裡雲 http://mirrors.aliyun.com/pypi/simple/
中國科技大學 https://pypi.mirrors.ustc.edu.cn/simple/
豆瓣(douban) http://pypi.douban.com/simple/
清華大學 https://pypi.tuna.tsinghua.edu.cn/simple/
// 使用上述鏡像源的方法如下:
// 例如,臨時使用清華鏡像源 (注意,simple 不能少, 是 https 而不是 http)
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple xxx-package
// 設置默認的系統級全局鏡像源
// 例如,使用pip命令全局配置阿裡雲鏡像源
pip config --global set global.index-url https://mirrors.aliyun.com/pypi/simple/
pip config --global set install.trusted-host mirrors.aliyun.com
// 設置當前用戶目錄下的鏡像源
在 當前用戶家目錄創建 .pip/pip.ini 文件,在這文件裡面寫上下面的內容
[global]
index-url = https://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host = mirrors.aliyun.com
// 刪除
pip config unset key
// 例如
pip config unset global.index-url
pip config unset global.trusted-host
// 搜索某個安裝包
pip search flask # 搜素flask安裝包

7.2 管理python包的命令

pip list #列出當前緩存的包
pip purge #清除緩存
pip remove #刪除對應的緩存
pip help #幫助
pip install xxx #安裝xxx包
pip uninstall xxx #刪除xxx包
pip show xxx #展示指定的已安裝的xxx包
pip check xxx #檢查xxx包的依賴是否合適
pip freeze > requirements.txt # pip批量導出包含環境中所有組件的requirements.txt文件
pip install -r requirements.txt # pip批量安裝requirements.txt文件中包含的組件依賴

8、 Ubuntu20.04安裝安裝 配置 PyCharm

https://cloud.tencent.com/developer/article/1738470

9、 Ubuntu20.04 安裝 配置MySQL 8.0.x

9.1 安裝MySQL,啟動服務

a、 查看系統有沒有已經安裝 MySQL
ps -ef | grep mysqld //查看MySQL的服務進程
mysql //直接使用MySQL命令
b、 安裝MySQL
sudo apt update
sudo apt install mysql-server mysql-client //服務端和客戶端都會安裝
c、安裝完成後 MySQL 服務會自動啟動,可查看MySQL的服務進程以及查看3306端口監聽狀態
ps -ef | grep mysqld
netstat -alnt | grep 3306
sudo service mysql start // 如果沒有運行可以start
sudo service mysql status // 檢查MySQL是不是在運行

9.2 修改mysql的root用戶的密碼

第一步: 找到 debian-sys-maint 用戶和密碼
sudo cat /etc/mysql/debian.cnf
第二步:用此用戶名和密碼登陸,進入MySQL的客戶端
mysql -udebian-sys-maint -pScxVwdc5Edjcw836
第三步:查看MySQL自帶的數據庫(以下是SQL語句)
mysql> show databases; // 查看剛安裝好MySQL後自帶的所有數據庫
第三步:選擇 mysql 數據庫
mysql> use mysql; // 因為 mysql 數據庫中存儲了用戶信息的 user 表
第四步:在 user 表中查看當前 root 用戶的相關信息
mysql> select host, user, authentication_string, plugin from user;
// 執行完上面的命令後會顯示一個表格,
// 查看表格中 root 用戶的 host,默認應該顯示的localhost,只支持本地訪問,不允許遠程訪問。
第五步:修改root用戶的密碼:
mysql> flush privileges;
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密碼';
mysql> flush privileges;
mysql> \q; // 當前用戶 debian-sys-maint 退出登錄
第六步:換做root用戶登錄, 進入MySQL的客戶端
mysql -uroot -p你的密碼 (回車)
第七步: 查看 mysql數據庫中的user表
mysql> use mysql;
mysql> select host, user, authentication_string, plugin from user;
// 到此為止,root用戶的密碼就修改成功

9.3 用root用戶名登錄MySQL, 創建新的用戶,授權遠程訪問

mysql> use mysql; // 使用mysql數據庫
//首先創建一個用戶, 名為darker, 登錄密碼為darker-rabit, 百分號(%)表示通配所有host,可以讓該用戶遠程訪問數據庫
mysql> create user 'darker'@'%' identified by 'darker-rabit';
mysql> flush privileges;
//接著查看mysql數據庫中的user表,是否已經包含darker用戶
mysql> select host, user, plugin from user;
//接著為 darker 用戶授權,可以使用MySQL服務器上的任意數據庫,執行任意操作
mysql> grant all privileges on *.* to 'darker'@'%' with grant option;
mysql> \q; 退出客戶端
!!! 僅僅創建一個這樣的用戶('darker'@'%'),還無法進行遠程鏈接MySQL服務

9.4 修改MySQL的配置文件,使得任意IP地址都可以連接MySQL服務

// 查看3306端口監聽的IP地址
netstat -alnt | grep 3306
// 找到 /etc/mysql/... 下面的 mysqld.cnf, 不要修改 my.cnf
// 把 bind-address = 127.0.0.1 改為 bind-address = 0.0.0.0
// 用vim或gedit修改
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
// 然後重啟mysql,
sudo service mysql restart
// 查看3306端口的變化
netstat -alnt | grep 3306

9.5 MySQL加密方式的修改

MySQL8.0版本公布了新的密碼加密認證插件caching_sha2_password,而先前版本的默認插件是mysql_native_password。根據官方描述,caching_sha2_password和sha256_password(caching_sha2_password和sha256_password類似)的加密性能強於mysql_native_password,比後者擁有更安全的密碼散列,因此8.0版本之後將caching_sha2_password作為MySQL的首選認證插件。
caching_sha2_password取代mysql_native_password成為MySQL8.0以上版本的默認密碼認證方式
本次更新同時影響到了服務器和libmysqlclient客戶端庫。我們應該意識到,雖然MySQL進行了修改,但是有些第三方客戶端比如NavCat可能並不支持該類修改。
指定不同的密碼策略,創建新用戶
create user 'dogger'@'%' identified with mysql_native_password by '[email protected]';
create user 'kitti'@'%' identified with caching_sha2_password by '[email protected]';
恢復到以前的密碼認證策略,在 配置文件 /etc/mysql/mysql.conf.d/mysqld.cnf 中的[mysqld]下面加入的配置項:
default_authentication_plugin=mysql_native_password
!!! 修改完成,一定要重啟MySQL服務器,才能生效
修改了密碼策略以後,這樣創建新用戶如果不指定密碼策略,則會使用上面設定的默認的密碼策略(認證插件)
MySQL8如何把已有用戶的加密策略 caching_sha2_password 修改成 mysql_native_password?
使用下面的SQL語句:
ALTER USER 'kitti'@'%' IDENTIFIED WITH mysql_native_password BY '你的密碼';

10、DataGrip 遠程連接 Ubuntu上的MySQL

首先在windows上安裝 DataGrip
DataGrip的簡單使用
注意幾個常見的連接不成功的錯誤

Ubuntu20.04開放指定端口
https://blog.csdn.net/lianghecai52171314/article/details/113813826


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved