PowerShell 版本:
Set-ItemProperty `
-Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" `
-Name ShowSecondsInSystemClock `
-Type DWord `
-Value 1
然后重启资源管理器生效。
分类: 未分类
-
Win11 右下角时间显示到秒
-
防止终端执行乱码
终端执行需要加上如下代码 [Console]::OutputEncoding = [System.Text.UTF8Encoding]::new() -
ubuntu24安装mysql 8.0.46
1.更新系统软件包
在安装前,建议先更新系统的软件包列表以确保获取最新的软件信息:sudo apt update sudo apt upgrade -y
2. 安装 MySQL 8.0
执行以下命令安装 MySQL 服务器(Ubuntu 24 默认仓库提供的 MySQL 版本即为 8.0):sudo apt install mysql-server -y
3. 启动服务并设置开机自启
安装完成后,MySQL 服务通常会自动启动。为确保万无一失,可以手动启动并设置开机自启:sudo systemctl start mysql sudo systemctl enable mysql sudo systemctl restart mysql
4. 检查 MySQL 运行状态
确认 MySQL 是否成功运行:sudo systemctl status mysql
当看到 Active: active (running) 时,说明服务已正常运行。
5. 登录并设置 Root 密码
Ubuntu 默认安装的 MySQL 没有设置 root 密码,且仅允许本地验证登录。直接回车即可登录:sudo mysql -u root -p
登录成功后,执行以下 SQL 语句为 root 用户设置强密码(请将 ‘你的新密码’ 替换为你自己的密码):
完成后输入 quit; 退出。ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的新密码'; FLUSH PRIVILEGES;
6. 运行安全配置向导(可选但推荐)
MySQL 提供了安全配置脚本,可以帮助你移除匿名用户、禁止 root 远程登录、删除测试数据库等:sudo mysql_secure_installation
7. 配置远程访问(可选)
如果你需要从其他机器远程连接该数据库,需要进行以下两步配置:
修改配置文件: 编辑 MySQL 配置文件 sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf,找到 bind-address 并将其修改为允许所有 IP 访问:bind-address = 0.0.0.0
授权远程用户: 登录 MySQL 后,为 root 用户(或新建用户)开启远程访问权限:默认没有密码 设置新密码 兼容老系统 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'YourStrongPass@123'; GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY '你的新密码' WITH GRANT OPTION; FLUSH PRIVILEGES;创建一个用于xiaoxing 授权ip 192.168.1.% 可以访问 my_database 数据库所有信息。 -- 推荐:创建专用用户(不要用 root!) CREATE USER 'xiaoxing'@'192.168.1.%' IDENTIFIED BY '你的密码'; -- 授予所需权限(例如所有数据库,或指定库) GRANT ALL PRIVILEGES ON my_database.* TO 'xiaoxing'@'192.168.1.%'; -- 刷新权限 FLUSH PRIVILEGES;查看所有的用户 select user,host,plugin from mysql.user; +---------------+-----------+ | User | host | +---------------+-----------+ | mysql.session | localhost | | mysql.sys | localhost | | root | localhost | +---------------+-----------+ 3 rows in set (0.00 sec) #允许任意ip访问mysql UPDATE mysql.user SET host = '%' WHERE user = 'root'; 创建一个数据库test CREATE DATABASE test DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; show databases; use test; show tables;
重启服务并开放防火墙: 修改配置后需重启 MySQL 服务(sudo systemctl restart mysql)。如果系统开启了防火墙,还需开放 3306 端口:sudo ufw allow 3306/tcp。避坑提示:关于表名大小写在 Linux 下默认安装的 MySQL 是严格区分表名和数据库名大小写的。如果你的业务代码没有严格区分大小写,建议在安装完、初始化数据之前,修改配置文件 /etc/mysql/mysql.conf.d/mysqld.cnf,在 [mysqld] 下添加 lower_case_table_names=1 来关闭大小写敏感。注意:此参数必须在数据库初始化前配置,否则可能导致 MySQL 无法启动。
如何修改mysql 数据库目录
配置文件里面端口和数据库文件存放位置 # port = 3306 # datadir = /var/lib/mysql # 先停掉 MySQL systemctl stop mysql # 复制数据(-a 保留权限、所有者等) cp -a /var/lib/mysql/. /data1/mysql/ # 或者用 rsync # rsync -av /var/lib/mysql/ /data1/mysql/ chown -R mysql:mysql /data1/mysql/ chmod 750 /data1/mysql # 目录权限 750 足够,内部文件会自动继承之前的权限修改mysql 数据库文件目录后 需要 配置 AppArmor(最容易被忽略的一步)
Ubuntu/Debian 的 AppArmor 默认只允许 MySQL 访问
/var/lib/mysql,访问新路径/data1会被拦截,报Permission denied。# 编辑 MySQL 的 AppArmor 配置
vim /etc/apparmor.d/usr.sbin.mysqld找到类似以下两行(通常在文件靠前位置):
/var/lib/mysql/ r, /var/lib/mysql/** rwk,在它们下面添加两行针对新路径的规则:
/data1/mysql/ r, /data1/mysql/** rwk,保存退出后,重新加载 AppArmor 规则:
systemctl restart apparmor
忘记密码如何操作
先停止mysqld57 / mysql8 服务 windows启动超级模式 .\mysqld.exe --defaults-file="C:\ProgramData\MySQL\MySQL Server 5.7\my.ini" --skip-grant-tables --console 直接 mysql -uroot 进去操作 查看 root 用户认证方式 SELECT user,host,plugin FROM mysql.user; ------------------------------------------------------------- linux 类似操作 sudo systemctl stop mysql sudo mysqld_safe --skip-grant-tables --skip-networking & 或者 sudo /usr/bin/mysqld_safe --skip-grant-tables --skip-networking & 如果提示 Directory '/var/run/mysqld' for UNIX socket file don't exists. sudo mkdir -p /var/run/mysqld sudo chmod 755 /var/run/mysqld sudo chown -R mysql:mysql /var/run/mysqld 在执行 sudo /usr/bin/mysqld_safe --skip-grant-tables --skip-networking & 查看 root 用户认证方式 SELECT user,host,plugin FROM mysql.user; MySQL 8 在 --skip-grant-tables 下不能直接改密码,需要先执行: mysql5.7 无视 FLUSH PRIVILEGES; ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码'; FLUSH PRIVILEGES; ps -ef | grep mysqld sudo kill -9 PID 停掉刚刚的mysql 或者 sudo pkill mysqld sudo pkill mysqld_safe sudo systemctl start mysql创建用户
CREATE USER 'root'@'223.93.145.203' IDENTIFIED WITH mysql_native_password BY '你的密码'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'223.93.145.203'; FLUSH PRIVILEGES; #创建指定用户 指定ip访问 CREATE USER 'scan'@'120.26.168.246' IDENTIFIED WITH mysql_native_password BY '你的密码'; #授权指定用户 访问 scan_cookies 这个数据库 GRANT ALL PRIVILEGES ON scan_cookies.* TO 'scan'@'120.26.168.246'; FLUSH PRIVILEGES; ALTER USER 'root'@'223.93.145.203' IDENTIFIED WITH mysql_native_password BY 'MyPassword@123'; ALTER USER 'root'@'120.26.168.246' IDENTIFIED WITH mysql_native_password BY 'MyPassword@123'; FLUSH PRIVILEGES; -
VSCode 中即使已设置 Python 虚拟环境,仍出现波浪线解决办法
在 VSCode 中即使已设置 Python 虚拟环境,仍出现波浪线(通常是 Pylance 语言服务器的“未解析导入”警告),这并非代码错误,而是静态分析工具未能正确识别当前解释器所对应的包路径。以下是系统性的解决方案:
✅ 第一步:确认并选择正确的 Python 解释器
这是最常见的原因。VSCode 可能默认使用了全局 Python 或其他环境,而非你期望的虚拟环境。
- 按
Ctrl + Shift + P打开命令面板。 - 输入并选择 Python: Select Interpreter
- 在弹出的列表中,找到你的虚拟环境路径(通常包含
.venv、venv或env等字样)。- 例如:
.venv\Scripts\python.exe(Windows) 或.venv/bin/python(macOS/Linux)
- 例如:
- 选中它,VSCode 右下角状态栏会显示当前选中的解释器路径。
💡 如果列表中没有你的虚拟环境,说明 VSCode 没有自动扫描到它。你可以点击 “Enter interpreter path…” 手动输入完整路径。
✅ 第二步:重启语言服务器以刷新缓存
有时即使选择了正确的解释器,Pylance 仍会缓存旧的路径信息。
- 按
Ctrl + Shift + P - 输入并执行 Developer: Reload Window
- 等待几秒,让 VSCode 重新加载并初始化语言服务器。
- 按
-
windows多个版本的python如何切换版本
方法一:
打开 PowerShell,输入以下命令打开配置文件(如果文件不存在会自动创建):
notepad $PROFILE 注:如果提示系统找不到指定路径 运行一下就好了 New-Item -Path $PROFILE -ItemType File -Force在打开的记事本中添加以下代码:
Set-Alias python3.11 "C:\Program Files\Python311\python.exe" Set-Alias python3.9 "C:\Program Files\Python39\python.exe" Set-Alias pip3.11 "C:\Program Files\Python311\Scripts\pip3.11.exe" Set-Alias pip3.9 "C:\Program Files\Python39\Scripts\pip3.9.exe"方法二:python自带的 官方的启动器 py.exe(位于 C:\Windows\py.exe)
# 运行脚本 py -3.11 script.py py -3.9 script.py #安装包 py -3.11 -m pip install <包名> py -3.9 -m pip install <包名>更新pip包
python3.11 -m pip install –upgrade pip
python3.9 -m pip install –upgrade pip
PS初始化powershell 设置
notepad $PROFILE 输入一下内容保存 chcp 65001 | Out-Null [Console]::OutputEncoding = [System.Text.UTF8Encoding]::new() $OutputEncoding = [System.Text.UTF8Encoding]::new() $PSDefaultParameterValues['Out-File:Encoding'] = 'utf8' $PSDefaultParameterValues['Set-Content:Encoding'] = 'utf8' $PSDefaultParameterValues['Add-Content:Encoding'] = 'utf8' $Host.UI.RawUI.WindowTitle = "PowerShell" Write-Host "" Write-Host "PowerShell $($PSVersionTable.PSVersion)" -ForegroundColor Green Write-Host "CodePage : $(chcp.com | Select-Object -First 1)" -ForegroundColor Cyan Write-Host "InputEncoding : $([Console]::InputEncoding.WebName)" -ForegroundColor Yellow Write-Host "OutputEncoding : $([Console]::OutputEncoding.WebName)" -ForegroundColor Yellow Write-Host "" Set-Alias python3.11 "C:\Program Files\Python311\python.exe" Set-Alias python3.9 "C:\Program Files\Python39\python.exe" Set-Alias pip3.11 "C:\Program Files\Python311\Scripts\pip3.11.exe" Set-Alias pip3.9 "C:\Program Files\Python39\Scripts\pip3.9.exe" function prompt { $time = Get-Date -Format "MM-dd HH:mm:ss" Write-Host "[$time]" -ForegroundColor Cyan -NoNewline " PS $($executionContext.SessionState.Path.CurrentLocation)> " }Python设置国内源
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple pip config set global.trusted-host pypi.tuna.tsinghua.edu.cn https://mirrors.aliyun.com/pypi/simple/创建python 虚拟环境 并为提示符设置颜色
python3.11 -m venv venv 找到 ./venv/bin/activate if [ -z "${VIRTUAL_ENV_DISABLE_PROMPT:-}" ] ; then _OLD_VIRTUAL_PS1="${PS1:-}" PS1='(venv) '"${PS1:-}" export PS1 VIRTUAL_ENV_PROMPT='(venv) ' export VIRTUAL_ENV_PROMPT fi 修改提示符 venv 为绿色 更为显眼 PS1='\[\033[1;32m\](venv)\[\033[0m\] '"${PS1:-}" 退出虚拟环境 deactivate 推荐使用命令一键替换 PS1='(venv) 找到这一行直接替换 sed -i "/PS1='(venv)/c\ PS1='\\\[\\\\033[1;32m\\\](venv)\\\[\\\\033[0m\\\] '\"\${PS1:-}\"" ./venv/bin/activate -
ubuntu24.04安装 各个版本的python
sudo add-apt-repository ppa:deadsnakes/ppa sudo apt update sudo apt install python3.9 python3.9-venv python3.9-dev sudo apt install python3.11 python3.11-venv python3.11-dev python3.9 --version python3.11 --version python3.12 --version国内无法安装可以使用
-------------------------------------------------------- 方案一:使用 uv(推荐,最快) 如果你的目的是创建 Python 3.9/3.11 虚拟环境,推荐使用 uv。 安装: curl -LsSf https://astral.sh/uv/install.sh | sh 然后: source $HOME/.local/bin/env uv python install 3.9 uv python install 3.11 不过,这也需要能够访问国外网络。如果服务器没有代理,就不适合。 创建虚拟环境 uv venv --python 3.9 .venv uv venv --python 3.11 .venv 进入虚拟环境重新安装一下pip 否则可能没有pip包 python -m ensurepip --upgrade 如果太慢 换一下源 mkdir -p ~/.pip cat > ~/.pip/pip.conf <<EOF [global] index-url = https://pypi.tuna.tsinghua.edu.cn/simple trusted-host = pypi.tuna.tsinghua.edu.cn timeout = 60 EOF cat > ~/.pip/pip.conf <<EOF [global] index-url = https://mirrors.aliyun.com/pypi/simple/ trusted-host = mirrors.aliyun.com timeout = 60 EOF -------------------------------------------------------- 方案二:源码编译(推荐给服务器) 直接下载源码(国内镜像): 例如华为云: wget https://mirrors.huaweicloud.com/python/3.9.23/Python-3.9.23.tgz 或者 3.11: wget https://mirrors.huaweicloud.com/python/3.11.13/Python-3.11.13.tgz 然后: tar xf Python-3.9.23.tgz cd Python-3.9.23 ./configure --enable-optimizations make -j$(nproc) sudo make altinstall 安装完成后: python3.9 --version -
ubuntu 设置密钥登录
1. 在本地生成密钥对
在本地电脑上执行(Windows/Mac/Linux 都可以):
ssh-keygen -t ed25519 -C "1111222@qq.com"按提示操作:
- 保存位置:直接回车(默认
~/.ssh/id_ed25519) - 密码:可以设置密码增加安全性,或直接回车留空
- Enter file in which to save the key (C:\Users\Administrator/.ssh/id_ed25519):
- Enter passphrase (empty for no passphrase):
- Enter same passphrase again:
旧系统兼容性:如果服务器不支持 ed25519,改用 RSA:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"2. 将公钥复制到服务器
先查看本地公钥内容:
在 C:\Users\Administrator\.ssh\id_ed25519.pub
登录服务器,将公钥追加到授权文件:
mkdir -p ~/.ssh chmod 700 ~/.ssh #很短的一行的公钥信息 包含邮箱的 私钥证书一样的用于本地连接用 可以设置密码 echo "粘贴你的公钥内容" >> ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys3. 配置 SSH 服务(增强安全性)
sudo vim /etc/ssh/sshd_config# 禁用密码登录(确认能用密钥登录后再设置!) PasswordAuthentication no # 禁用 root 密码登录(如需允许 root 密钥登录,设为 prohibit-password) PermitRootLogin prohibit-password # 禁用空密码 PermitEmptyPasswords no # 启用公钥认证 PubkeyAuthentication yes注意:保存后,一定要先验证配置是否正确(非常重要!):
sudo sshd -t如果没有错误输出,重启 SSH 服务:
ubuntu sudo systemctl restart ssh centos sudo systemctl restart sshd4 客户端 FinalShell 登录 选择私钥 位置
C:\Users\Administrator.ssh\id_ed25519 - 保存位置:直接回车(默认
-
mysql安全的添加索引
ALTER TABLE app_member_ext
ADD INDEX idx_uid (uid),
ALGORITHM=INPLACE, LOCK=NONE;对于InnoDB引擎的普通索引:
ALGORITHM=INPLACE:不会全表复制,只修改元数据和填充索引页LOCK=NONE:允许并发读写,不会阻塞DML操作- 结论:可以在线执行,不会导致业务中断
注意. 主键索引不支持
如何安全的重命名 表
RENAME TABLE table1 TO table1_backup_20260509, table1_copy1 TO table1; 假设有 table1_copy1 完全复制 table1 结构和数据 先将 table1 改为 table1_backup_20260509 然后将 table1_copy1 重命名为 table1 完成。 原子性:MySQL 会锁住字典,确保在重命名期间不会有新的查询进来。当语句执行完毕,所有后续的查询都会指向新的表(即原来的 copy1)。 回滚简单:如果新表有问题,你可以马上执行反向操作,把名字换回来,数据零损失。 -
git常用命令
1.将本地代码推送到远程空仓库
设置远程仓库的地址 git remote set-url origin https://codeup.aliyun.com/123456/sph/sph_crawler.git 推送并绑定master分支 git push -u origin master 强制推送 覆盖远程 git push -f origin master常用的gitignore文件
# Python # 字节编译的 Python 文件 __pycache__/ *.py[cod] *$py.class *.so .Python # 虚拟环境 venv/ env/ .venv/ ENV/ # 编辑器 # VS Code .vscode/ *.code-workspace # PyCharm .idea/ *.iml *.ipr *.iws # 其他编辑器 *.swp *.swo *~ .DS_Store # 日志目录 logs/ *.log # 环境配置文件 .env .env.example # 其他 *.egg-info/ dist/ build/ .pytest_cache/ .coverage htmlcov/ -
Cursor使用
1 、如何关闭多余的工作区
ctrl+w 关闭
2、打开或关闭终端显示
Ctrl+` (tab上面的反引号)
3、修改标题栏的颜色
Ctrl + Shift + P
→ Preferences: Open User Settings (JSON)打开用户设置
"workbench.colorCustomizations": { "titleBar.activeBackground": "#3c5985", // 深灰色 "titleBar.activeForeground": "#fffb00", // 橙黄色 "titleBar.inactiveBackground": "#008000", // 绿色 "titleBar.inactiveForeground": "#FF8C00" // 橙色 }4自动补全头文件
1 自动补全头文件 001 按 Ctrl + Shift + P 002 输入 Preferences: Configure User Snippets 选择 python.json { "Python File Header": { "prefix": "pyhd", "body": [ "# -*- coding: utf-8 -*-", "\"\"\"", "-------------------------------------------------", " File Name: ${TM_FILENAME}", " Description : $1", " Author : Xiaoxing", " date: ${CURRENT_YEAR}/${CURRENT_MONTH}/${CURRENT_DATE} ${CURRENT_HOUR}:${CURRENT_MINUTE}:${CURRENT_SECOND}", "-------------------------------------------------", "\"\"\"" ], "description": "Auto generate Python file header" }, "a main guard": { "prefix": "main2", "body": [ "if __name__ == '__main__':", " pass" ], "description": "Insert Python main guard" } }5 实现 ctrl+d 复制本行到下一行
按下 Ctrl + Shift + P 打开命令面板。
输入并选择 Preferences: Open Keyboard Shortcuts (JSON)首选项:打开键盘快捷方式 (JSON)
在打开的 keybindings.json 文件的中括号 [] 里,添加以下代码并保存:{ "key": "ctrl+d", "command": "editor.action.copyLinesDownAction", "when": "editorTextFocus" }