本文目錄一覽:
- 1、mysql資料庫導入錯誤
- 2、Mysql資料庫插入資料庫報錯, ERROR 1366 (HY000): Incorrect string value: ‘\xBE\xEA’ for column ‘name
- 3、MySQL資料庫導出與導入及常見錯誤解決
- 4、mysql插入資料庫一直報錯 怎麼修改
- 5、在ds窗口中導入MYSQL資料庫時報error 1049 (42000):Unknown database ‘;’這個錯誤
- 6、mysql 導入資料庫時報錯?
mysql資料庫導入錯誤
如果從庫上表 t 數據與主庫不一致,導致複製錯誤,整個庫的數據量很大,重做從庫很慢,如何單獨恢復這張表的數據?通常認為是不能修復單表數據的,因為涉及到各表狀態不一致的問題。下面就列舉備份單表恢復到從庫會面臨的問題以及解決辦法:
場景 1
如果複製報錯後,沒有使用跳過錯誤、複製過濾等方法修復主從複製。主庫數據一直在更新,從庫數據停滯在報錯狀態(假設 GTID 為 aaaa:1-100)。
修復步驟:
在主庫上備份表 t (假設備份快照 GTID 為 aaaa:1-10000);
恢復到從庫;
啟動複製。
這裡的問題是複製起始位點是 aaaa:101,從庫上表 t 的數據狀態是領先其他表的。aaaa:101-10000 這些事務中只要有修改表 t 數據的事務,就會導致複製報錯 ,比如主鍵衝突、記錄不存在(而 aaaa:101 這個之前複製報錯的事務必定是修改表 t 的事務)
解決辦法:啟動複製時跳過 aaaa:101-10000 這些事務中修改表 t 的事務。
正確的修復步驟:
1. 在主庫上備份表 t (假設備份快照 GTID 為 aaaa:1-10000),恢復到從庫;
2. 設置複製過濾,過濾表 t:
CHANGE REPLICATION FILTER REPLICATE_WILD_IGNORE_TABLE = (‘db_name.t’);
3. 啟動複製,回放到 aaaa:10000 時停止複製(此時從庫上所有表的數據都在同一狀態,是一致的);
START SLAVE UNTIL SQL_AFTER_GTIDS = ‘aaaa:10000’;
4. 刪除複製過濾,正常啟動複製。
注意事項:這裡要用 mysqldump –single-transaction –master-data=2,記錄備份快照對應的 GTID
場景 2
如果複製報錯後,使用跳過錯誤、複製過濾等辦法修復了主從複製。主、從庫數據一直在更新。
修復步驟:
在主庫上備份表 t (假設備份快照 GTID為 aaaa:1-10000);
停止從庫複製,GTID為 aaaa:1-20000;
恢復表 t 到從庫;
啟動複製。
這裡的問題是複製起始位點是 aaaa:20001,aaaa:10000-20000 這些事務將不會在從庫上回放,如果這裡面有修改表 t 數據的事務,從庫上將丟失這部分數據。
解決辦法:從備份開始到啟動複製,鎖定表 t,保證 aaaa:10000-20000 中沒有修改表 t 的事務。
正確修復步驟:
對錶 t 加讀鎖;
在主庫上備份表 t;
停止從庫複製,恢復表 t;
啟動複製;
解鎖表 t。
如果是大表,這裡可以用可傳輸表空間方式備份、恢復表,減少鎖表時間。
Mysql資料庫插入資料庫報錯, ERROR 1366 (HY000): Incorrect string value: ‘\xBE\xEA’ for column ‘name
「ERROR 1366 (HY000): Incorrect string value: ‘\xBE\xEA’ for column ‘name」,此問題的原因:配置文件錯誤。
解決的方法和操作步驟如下:
1、首先,右鍵單擊開始圖標,然後在菜單上選擇「運行」選項,如下圖所示,然後進入下一步。
2、其次,完成上述步驟後,在輸入框中輸入「cmd」命令,然後單擊「確定」按鈕,如下圖所示,然後進入下一步。
3、接著,完成上述步驟後,輸入「mysql -uroot -p+密碼」,如下圖所示,然後進入下一步。
4、然後,完成上述步驟後,連接成功,輸入如下紅框中的內容,然後進入下一步。
5、隨後,完成上述步驟後,查找配置文件所在的地址,如下圖所示,然後進入下一步。
6、最後,完成上述步驟後,打開mysql.ini文件,將默認字符集修改為「utf8」,因為MYSQL版本不同,配置文件中的內容也不相同,只需要修改字符集設置並將其修改為utf8即可,如下圖所示。這樣,問題就解決了。
MySQL資料庫導出與導入及常見錯誤解決
MySQL資料庫導出與導入的過程中將會發生眾多不可預知的錯誤,本文整理了一些常見錯誤及相應的解決方法,遇到類似情況的朋友可以參考下,希望對大家有所幫助
MySQL命令行導出資料庫:
1,進入MySQL目錄下的bin文件夾:cd
MySQL中到bin文件夾的目錄
如我輸入的命令行:cd
C:Program
FilesMySQLMySQL
Server
4.1bin
(或者直接將windows的環境變數path中添加該目錄)
2,導出資料庫:mysqldump
-u
用戶名
-p
資料庫名
導出的文件名
如我輸入的命令行:mysqldump
-u
root
-p
jluibmclub
d:
jluibmclub
.sql
(輸入後會讓你輸入進入MySQL的密碼)
(如果導出單張表的話在資料庫名後面輸入表名即可)
在用命令做資料庫備份過程在cmd命令框中輸入C:/mysql/binmysqldump
-uroot
-p
jluibmclub
d:
jluibmclub
.sql
;
報錯信息:mysqldump:
Got
error:
1049:
Unknown
database
‘
jluibmclub
;’
when
selecting
the
database
,識別不了
jluibmclub
這個資料庫。
但是我在:
mysql
show
databases;
顯示:
+—————+
|
Database
|
+—————+
|
jpa
|
+—————+
mysqluse
jpa;
顯示:
Database
changed
其原因很簡單,只要記住一點。沒進入mysql環境不算執行sql語句,所以不用在其後加入逗號(「;」)。
如果進入mysql環境mysql
,則輸入的語句屬於sql語句了,在其最後一定要加上逗號(「;」)。
3、會看到文件news.sql自動生成到d盤下文件,如果不指定盤符默認在bin目錄下。
命令行導入資料庫:
1,進入MySQL:mysql
-u
用戶名
-p
如我輸入的命令行:mysql
-u
root
-p
(輸入同樣後會讓你輸入MySQL的密碼)
2,在MySQL-Front中新建你要建的資料庫,這時是空資料庫,如新建一個名為news的目標資料庫
3,輸入:mysqluse
目標資料庫名
如我輸入的命令行:mysqluse
news;
4,導入文件:mysqlsource
導入的文件名;
如我輸入的命令行:mysqlsource
news.sql(如果在bin目錄下用相對路徑名,如果在其他目錄下用絕對目錄名);
MySQL備份和還原,都是利用mysqldump、mysql和source命令來完成的。
1.Win32下MySQL的備份與還原
mysql插入資料庫一直報錯 怎麼修改
進入MySQL目錄下的bin文件夾cdMySQL中到bin文件夾的目錄
如 cd C:\ProgramFiles\MySQL\MySQLServer\bin
(或者直接將windows的環境變數path中添加該目錄)
導出資料庫mysqldump -u用戶名 -p資料庫名導出的文件名
如:mysqldump -u root -p jluibmclubd:\jluibmclubsql(輸入後會讓你輸入進入MySQL的密碼)
(如果導出單張表的話在資料庫名後面輸入表名即可)
在用命令做資料庫備份過程在cmd命令框中輸入C:/mysql/binmysqldumpurootpjluibmclubd:\jluibmclubsql;
命令行導入資料庫
進入MySQLmysqlu用戶名p
如 : mysqlurootp(輸入同樣後會讓你輸入MySQL的密碼)
在MySQLFront中新建你要建的資料庫這時是空資料庫如新建一個名為news的目標資料庫
輸入mysqluse目標資料庫名
如 : mysqlusenews;
導入文件mysqlsource導入的文件名;
如: mysqlsourcenewssql(如果在bin目錄下用相對路徑名如果在其他目錄下用絕對目錄名);
MySQL備份和還原都是利用mysqldumpmysql和source命令來完成的!
在ds窗口中導入MYSQL資料庫時報error 1049 (42000):Unknown database ‘;’這個錯誤
在ds窗口中導入MYSQL資料庫時報error 1049 (42000):Unknown database ‘是設置錯誤造成的,解決方法為:
1、打開cmd,輸入mysql -u 用戶名 -p回車根據提示輸入密碼,如下圖。
2、進入mysql資料庫控制台,界面如下。
3、查看當前資料庫中存在那些資料庫,使用show databases語句。如下。
4、使用show create database 資料庫名 格式來查看資料庫的詳細創建信息。通過在show create database語句後面追加 \G參數來格式化輸出信息,便於查看
mysql 導入資料庫時報錯?
1064錯誤你就不用多想了,這個肯定是你寫的SQL語句語法出錯了,建議你在平時的學習中自己找出錯誤,才會成長,我在這裡幫你找下錯誤吧。
int類型一般不設置長度的,如果你偏要設置的話,要配合zerofill使用才有意義。幫你修改了一下:
CREATE TABLE `ecm_acategory`(
`cate_id` int unsigned NOT NULL AUTO_INCREMENT,
`cate_name` varchar(100) NOT NULL default ”,
`parent_id` int unsigned NOT NULL default ‘0’,
`sort_order` tinyint unsigned NOT NULL default ‘255’,
`code` varchar(10) default NULL,
PRIMARY KEY(`cate_id`)
)ENGINE=MYISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
你試試看哈,希望幫助到你
原創文章,作者:K7RO8,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/129447.html