本文目錄一覽:
如何把sqlserver數據遷移到mysql數據庫及需要注意事項
如何把sqlserver數據遷移到mysql數據庫及需要注意事項
Server數據遷移到MySQL需要注意的一些問題
1、唯一索引的不同,sql
server的唯一索引的字段只能允許存在一個null值,而mysql,一直oracle中唯一索引對應的字段都允許存在多個null值。
2、存儲過程的語法存在很大的不同,存儲過程的遷移是最麻煩的,需要仔細修改。
3、程序中部分寫的SQL語句由於語法的不同也要相應的修改。
怎麼配置mysql數據庫配置文件
一、mysql_install_db說明
當MySQL的系統庫(mysql系統庫)發生故障或需要新加一個mysql實例時,需要初始化mysql數據庫。
需要使用的命令:/usr/local/mysql/bin/mysql_install_db
#/usr/local/mysql/bin/mysql_install_db –help 可以查看幫助信息如下
Usage: /usr/local/mysql/bin/mysql_install_db [OPTIONS]
–basedir=path The path to the MySQL installation directory.
–cross-bootstrap For internal use. Used when building the MySQL system
tables on a different host than the target.
–datadir=path The path to the MySQL data directory.
–force Causes mysql_install_db to run even if DNS does not
work. In that case, grant table entries that normally
use hostnames will use IP addresses.
–ldata=path The path to the MySQL data directory.
–rpm For internal use. This option is used by RPM files
during the MySQL installation process.
–skip-name-resolve Use IP addresses rather than hostnames when creating
grant table entries. This option can be useful if
your DNS does not work.
–srcdir=path For internal use. The directory under which
mysql_install_db looks for support files such as the
error message file and the file for popoulating the
help tables.
–user=user_name The login username to use for running mysqld. Files
and directories created by mysqld will be owned by this
user. You must be root to use this option. By default
mysqld runs using your current login name and files and
directories that it creates will be owned by you.
All other options are passed to the mysqld program
除了支持以上的參數,還支持mysqld的參數。
二、舉例:
本文以新加一個mysql實例為例。例如服務器上已經安裝了3306端口的mysql服務,需要再啟一個3308端口的mysql服務。
假設mysql安裝在/usr/local/mysql路徑下,找一個磁盤空間剩餘比較大的盤,如/data1,把3308端口的mysql的數據保存在/data1下
#mkdir /data1/mysql_3308
#mkdir /data1/mysql_3308/data
#chown -R mysql:mysql /data1/mysql_3308
複製一個mysql配置文件my.cnf到/data1/mysql_3308目錄下
#vi /data1/mysql_3308/my.cnf
修改配置文件,將端口和相關目錄的都改為新的設置,如下:
[client]
character-set-server = utf8
port = 3308
socket = /tmp/mysql_3308.sock
[mysqld]
user = mysql
port = 3308
socket = /tmp/mysql_3308.sock
basedir = /usr/local/mysql
datadir = /data1/mysql_3308/data
log-error = /data1/mysql_3308/mysql_error.log
pid-file = /data1/mysql_3308/mysql.pid
……其他略
確保配置文件無誤。
運行下面命令進行數據庫的初始化:
#/usr/local/mysql/bin/mysql_install_db –defaults-file=/data1/mysql_3308/my.cnf –datadir=/data1/mysql_3308/data
完成後新的3308數據庫就初始化好了,如果有報錯,則按照報錯的提示查看報錯日誌,一般情況下都是my.cnf配置文件的問題,修正後即可。
三、啟動新mysql
啟動3308端口的mysql服務
#/usr/local/mysql/bin/mysqld_safe –defaults-file=/data1/mysql_3309/my.cnf
檢查是否啟動
#ps aux|grep mysql
如果有3308字樣說明已經啟動成功
可將啟動命令加入/etc/rc.local隨服務器啟動
新加的mysql沒有設置root密碼,可以通過下面命令設置root密碼:
#/usr/local/mysql/bin/mysqladmin -S /tmp/mysql_3308.sock -u root password 'new-password'
如何對MySQL數據庫中的數據進行實時同步
具體操作:
1、在分析型數據庫上創建目標表,數據更新類型為實時寫入,字段名稱和MySQL中的建議均相同;
2、在阿里雲數據傳輸的控制台上創建數據訂閱通道,並記錄這個通道的ID;
3、 配置dts-ads-writer/app.conf文件,配置方式如下:所有配置均保存在app.conf中,運行前請保證配置正確;修改配置後,請重啟writer,基本配置:
注意事項:
1、RDS
for
MySQL表和分析型數據庫中表的主鍵定義必須完全一致;如果不一致會出現數據不一致問題。如果需要調整RDS/分析型數據庫表的主鍵,建議先停止writer進程;
2、一個插件進程中分析型數據庫db只能是一個,由adsJdbcUrl指定;
3、一個插件進程只能對應一個數據訂閱通道;如果更新通道中的訂閱對象時,需要重啟進程。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/270724.html