2025年1月12日 星期日
利用MSbuild命令來建置程式,將版本都修改成VS22的版本
2024年12月21日 星期六
淺嚐MariaDB(Mysql)加python加excel
首先架設好MariaDB(MySQL)以及準備好資料庫
然後安裝Python並且加上openpyxl模組、mysql-connector-python模組〈也有pymysql模組〉
最後再來準備個Excel就可以開始
首先確認可以用 python來打開Excel檔
import openpyxl
fn = test1.xlsm
wb = openpyxl.load_workoook(fn)
print(type(wb))
print("列出全部工作表", wb.sheetnames)
print("目前使用中的工作表〈上次最後存檔的工作表〉", wb.active)
#指定操作的工作表
ws = wb['工作表1']
#如果是使用中的工作表可以用 ws = wb.active喔
#列出全工作表1內容
for row in ws.iter_rows[values_only=True):
print(type(row)
print(row)
#關閉檔案
wb.close()
這樣就可以測試了
再來確認python可以正常連線mysql,這邊要注意的是mysql的主機在遠方的話會無法連線,所以主機還要設定成可以遠方連線的狀態
import mysql.connetor
conn = mysql.connector.connect(
host = 'localhost' #遠方的話請改成IP
user='user'
password='pasword'
charset='utf8' # 先宣告成utf8格式
)
cursor = conn.cursor()
cursor.execute("show databases;")
result = cursor.fetchall()
print(result)
conn.close()
看測試有沒有正常連線
接下來就是兩個組合一起,把Excel的資料寫到資料庫中
import mysql.connetor
import openpyxl
fn = 'test1.xlsm'
wb = openpyxl.load_workoook(fn)
ws = wb.active
#mysql Command
command = "INSERT INTO Test1 (No) VALUES ('{0}')"
# 這邊用{0}就是等一下把Excel的資料放進來的變數
for row in ws['A2':'A9999']:
for cell in row:
if cell in row:
var = cell.value
command1 = command .formart(val)
cursor.execute(command1)
conn.commit()
conn.close()
wb.close()
以上就可以把資料寫到資料庫中,至於反向也是類似方式
變成資料庫查詢後的資料再寫到Excel中
在Slackware中建立跟設定MariaDB
在Slackware中建立跟設定MariaDB
1. 安裝標準的資料庫
mysql_install_db
2. 變更資料庫的群組跟人員,主要是因為用root建立時期資料庫檔會變成root
chown -R mysql:mysql /var/lib/mysql
3. 讓rc.mysqld程執行狀態
chmod 755 /etc/rc.d/rc.mysqld
4.執行
/etc/rc.d/rc.mysqld start
5.做安全配置
mysql_secure_install
過程中會詢問root是否要變更密碼,一般是會分開不同的密碼
其他的就y回答即可
2024年8月20日 星期二
在Linux中調整cpu頻率及效能
利用 /sys/devices/system/cpu/cpufreq/policy/scaling_min_freq 中設定最低頻率
◎ 當有多核心時policy會從policy0 到 policy該系統中的最多核心數
使用命令
echo 頻率,單位KHz > /sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq
範例設定為3.3GHz
echo 3300000 > /sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq
接下來可以設定效能狀況
/sys/devices/system/cpu/cpufreq/policy/scaling_governor
可以設定的值有
preformance:使用全速的狀態
ondemand:大約設定在75%的狀態
conservative:大約設定在95%的狀態
powersave:設定再最低速度狀態
userspace:由使用者指定,須配合/sys/devices/system/cpu/cpufreq/policy/scaling_setspeed
範例將cpu設定到全速
echo "preformance" > /sys/devices/system/cpu/cpufreq/policy/scaling_governor
2024年1月20日 星期六
在Aspire Switch 10中設定grub的方法
在嘗試安裝grub很多次後
依照正常的部分先做
grub-install --target=i386-efi --efi-directory=/boot/efi \
--removable --boot-directory=/boot/efi/EFI \
--bootloader-id=grub /dev/sdX
我這邊利用外接的隨身碟來當ELF的開機
執行完成後要將/boot/EFI下的目錄複製到隨身碟中
這樣就能正常開機
一般用
32位元版EFI 命令
grub-install --target=i386-efi --efi-directory=/boot/efi --removable
64位元版EFI 命令
grub-install --target=x86_64-efi --efi-directory=/boot/efi --removable
2024年1月9日 星期二
Arch linux 設定網路(有線)
首先呢確認網路介面
由於後期網路介面跟早期命名方式有所差異
早期一是用eth0 eth1 eth2 .....
現在是依照裝置類型:
en Ethernet LAN
wl Wifi LAN
裝置位置 + 裝置編號
所以架構起來就像 en p0 s3 = enp0s3
確定好介面後,這邊用DHCP來取得ip位址
首先建立檔案於 /etc/systemd/network
建檔名稱為 20-wired.network
內容如下
[Match]
Name=enp0s3
#Name=Device
[Network]
DHCP=ipv4
存檔後
執行systemctl enable systemd-networkd.service
再執行 systemctl start systemd-networkd.service
這樣網路就可以使用了
2023年12月30日 星期六
於Acer的AspireSwitch10上安裝Slackware 15.0
因為覺得Win10對這台筆電來說系統太大了
決定換裝成Linux,只是選用Slackware 15.0來裝
只是這個筆電僅支援EFI 開機,而且還要用32位元的EFI
所以得先去下載bootia32.efi檔
下載後於隨身碟中建立資料夾/EFI/BOOT
然後再將slackware64-15.0的光碟影像檔中的資料複製到另一個隨身碟或分割區中
並將檔案放入後即可開機
開機後會進到grub的維修模式
首先要先找到slackware的隨身碟或分割區
用ls
此時依照可能的位置去找
ls (cd0)/
此時輸入
set root=(cd0)
linux /EFI/BOOT/huge.s
initrd /EFI/BOOT/initrd.img
然後開機
輸入boot
這樣就可以正常進入開機程序
主要需要注意的是,在分割硬碟時不可以使用GPT的格式,而是選用dos格式,如下
這邊我是先分割好硬碟再進入安裝程序
安裝程序依照slackware的安裝步驟
但是安裝完成後重開後發生EFI進不去的狀況
只好用一開始做好的EFI來開機
輸入 set root(hd0,msdos1)
linux /EFI/Slackware/vmlinuz root=/dev/mmcblk1p3
initrd /EFI/Slackware/initrd.gz
boot
開機,但會在mount /時出錯
覺得是因為使用mmc的關係,少掛載了關於mmc的模組
這個時候我另外一台主機上重建initrd.gz
利用 mkinitrd
mkinitrd -c -k 5.15.145 -f ext4 -r /dev/sda2 -m \
intel_soc_dts_thermal:intel_soc_dts_iosf:\intel_powerclamp:coretemp:kvm_intel:kvm:spi_nor:irqbypass:r8723bs:\mtd:crct10dif_pclmul:crc32_pclmul:libarc4:polyval_generic:iTCO_wdt:gf128mul:\spi_intel_platform:mei_pxp:mei_hdcp:ghash_clmulni_intel:intel_pmc_bxt:spi_intel:\iTCO_vendor_support:gpio_keys:mmc_block:cfg80211:sha512_ssse3:intel_rapl_msr:\i915:aesni_intel:hci_uart:crypto_simd:ak8975:cryptd:btqca:intel_cstate:acer_wmi:btrtl:\drm_buddy:intel_bytcrc_pwrsrc:i2c_algo_bit:sparse_keymap:btbcm:i8042:\
int3401_thermal:ttm:mei_txe:btintel:vfat:processor_thermal_device:fat:\
serio:wmi_bmof:mei:lpc_ich:processor_thermal_rfim:drm_display_helper:\
inv_mpu6050_i2c:bluetooth:cec:inv_mpu6050:intel_gtt:processor_thermal_mbox:\
industrialio_triggered_buffer:ac97_bus:processor_thermal_rapl:soc_button_array:\
dptf_power:dw_dmac:mousedev:kfifo_buf:joydev:int3406_thermal:cm32181:\
mac_hid:ecdh_generic:int3400_thermal:int3403_thermal:intel_rapl_common:\
acpi_thermal_rel:int340x_thermal_zone:intel_int0002_vgpio:acpi_pad:rfkill:\
i2c_mux:sdhci_acpi:industrialio:i2c_hid_acpi:sdhci:mmc_core:i2c_hid:8250_dw:\
hid_multitouch:hid_ite:loop:fuse:dm_mod:bpf_preload:ip_tables:x_tables:ext4:\
crc32c_generic:crc16:mbcache:jbd2:uas:usb_storage:crc32c_intel:\
xhci_pci:xhci_pci_renesas:video:wmi:usbhid -u -o /boot/initrd.gz
然後將vmlinuz跟重建好的initrd.gz都放進可以開機的隨身碟中
重新開機再進grub的維修模式中輸入
set root(hd0,msdos1)
linux /EFI/Slackware/vmlinuz root=/dev/mmcblk1p3
initrd /EFI/Slackware/initrd.gz
boot
此時就可以正常開機
目前只能這樣才能正常開機,不知道為什麼無法從他的固態硬碟中開機