因 mysql資料庫快過期,公司不再續租 所以要遷移資料到sqlserver上
表大概就幾個 資料量不大 20w左右 所有表都設有自增主鍵
記一下筆記方便以後參考
1. 測試環境生成sqlserver表
因用的ef core 所以直接在測試環境把表在sqlserver生成下
大概用到的東西是 dotnet ef migrations 及 dotnet ef database update 下面是當時的配置 記下作參考
根目錄下執行2. 表結構拷貝到正式環境//dotnet ef migrations add initialmodel -c eventcontext -p ../dhx.comevent.infrastructure/dhx.comevent.infrastructure.csproj -s dhx.comevent.csproj
//dotnet ef database update -c eventcontext -p ../dhx.comevent.infrastructure/dhx.comevent.infrastructure.csproj -s dhx.comevent.csproj
可以用下面命令生成指令碼到正式sqlserver執行 需在 web根目錄下執行(就是有program.cs的目錄)
dotnet ef migrations script -c eventcontext把生成的指令碼在正式上執行建立表結構
3. 為 mysql安裝odbc驅動
exec master.dbo.sp_addlinkedserver4. 遷徙@server = n'mysql',
@srvproduct=n'mysql',
@provider=n'msdasql',
@provstr=n'driver=; server=192.168.123.76; _database=dhx_event; user=root; password=123456; option=3'
mysql的表都是自增主鍵,在其他表都有用id做關聯(無外來鍵) ,所以遷徙時候id要和之前一致
下面是乙個表的示例 set identity_insert event_categories on 可以讓資料庫在設有自增主鍵時候插入主鍵 用完要設定為off 另外所有的字段都要寫 如果是使用sql server management的話, 可以省得乙個個寫欄位名 選中表 - 右鍵 -編寫指令碼為 - select到新視窗
set identity_insert event_categories oninsert into event_categories([id]
,[create_date]
,[create_person]
,[update_date]
,[update_person]
,[name]
,[order]
,[imgurl]) select [id]
,[create_date]
,[create_person]
,[update_date]
,[update_person]
,[name]
,[order]
,[imgurl] from openquery(mysql, 'select * from dhx_event.event_categories');
set identity_insert event_categories off
記一次資料遷移 mongo到mysql
工作中有時會遇到資料庫遷移的問題,如果是使用相同資料庫的話,遷移方法比較簡單,例如mysql資料庫的遷移 1 備份資料,使用mysqldump命令 mysqldump u username p password database backup.sql2 還原資料 mysql u username p...
mysql安裝一次 記一次mysql安裝
mysql 分為安裝版和壓縮版 2.安裝 2.1 解壓得到 mysql 8.0.15 winx64 資料夾 2.2 在mysql 8.0.15 winx64 資料夾下,新建配置檔案my.ini,內容 如下 mysqld 設定3306埠 port 3306 設定mysql的安裝目錄,這裡是唯一你需要改...
記一次mysql宕機
e warning pdo prepare mysql server has gone away pdo prepare mysql server has gone awayilluminate database queryexception sqlstate hy000 2002 connecti...