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

這樣網路就可以使用了