溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何解決MySQL字符集編碼問題

發(fā)布時間:2022-01-14 17:01:58 來源:億速云 閱讀:141 作者:小新 欄目:數(shù)據(jù)庫

這篇文章給大家分享的是有關(guān)如何解決MySQL字符集編碼問題的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

項目中,用中斷命令導(dǎo)入sql腳本,發(fā)現(xiàn)其報出編碼錯誤,后來進過一番分析查詢后,發(fā)現(xiàn)字符集utf8mb4在mysql 5.5.3之后才支持,頓時無語,隨后改字符集編碼為utf8。

注意:查詢MySQL版本命令:

                             mysql  -V;

MySQL命令:

1:使用SHOW語句找出在服務(wù)器上當(dāng)前存在什么數(shù)據(jù)庫:
mysql> SHOW DATABASES;
2:2、創(chuàng)建一個數(shù)據(jù)庫MYSQLDATA
mysql> CREATE DATABASE MYSQLDATA;
3:選擇你所創(chuàng)建的數(shù)據(jù)庫
mysql> USE MYSQLDATA; (按回車鍵出現(xiàn)Database changed 時說明操作成功!)
4:查看現(xiàn)在的數(shù)據(jù)庫中存在什么表
mysql> SHOW TABLES;
5:創(chuàng)建一個數(shù)據(jù)庫表
mysql> CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));
6:顯示表的結(jié)構(gòu):
mysql> DESCRIBE MYTABLE;
7:往表中加入記錄
mysql> insert into MYTABLE values (”hyq”,”M”);
8:用文本方式將數(shù)據(jù)裝入數(shù)據(jù)庫表中(例如D:/mysql.txt)
mysql> LOAD DATA LOCAL INFILE “D:/mysql.txt” INTO TABLE MYTABLE;
9:導(dǎo)入.sql文件命令(例如D:/mysql.sql)
mysql>use database;
mysql>source d:/mysql.sql;
10:刪除表
mysql>drop TABLE MYTABLE;
11:清空表
mysql>delete from MYTABLE;
12:更新表中數(shù)據(jù)
mysql>update MYTABLE set sex=”f” where name=’hyq’;

以下是無意中在網(wǎng)絡(luò)看到的使用MySql的管理心得,
在windows中MySql以服務(wù)形式存在,在使用前應(yīng)確保此服務(wù)已經(jīng)啟動,未啟動可用net start mysql命令啟動。而Linux中啟動時可用“/etc/rc.d/init.d/mysqld start”命令,注意啟動者應(yīng)具有管理員權(quán)限。
剛安裝好的MySql包含一個含空密碼的root帳戶和一個匿名帳戶,這是很大的安全隱患,對于一些重要的應(yīng)用我們應(yīng)將安全性盡可能提高,在這里應(yīng)把匿名帳戶刪除、 root帳戶設(shè)置密碼,可用如下命令進行:
use mysql;
delete from User where User=”";
update User set Password=PASSWORD(’newpassword’) where User=’root’;
如果要對用戶所用的登錄終端進行限制,可以更新User表中相應(yīng)用戶的Host字段,在進行了以上更改后應(yīng)重新啟動數(shù)據(jù)庫服務(wù),此時登錄時可用如下類似命令:
mysql -uroot -p;
mysql -uroot -pnewpassword;
mysql mydb -uroot -p;
mysql mydb -uroot -pnewpassword;
上面命令參數(shù)是常用參數(shù)的一部分,詳細情況可參考文檔。此處的mydb是要登錄的數(shù)據(jù)庫的名稱。
在 進行開發(fā)和實際應(yīng)用中,用戶不應(yīng)該只用root用戶進行連接數(shù)據(jù)庫,雖然使用root用戶進行測試時很方便,但會給系統(tǒng)帶來重大安全隱患,也不利于管理技 術(shù)的提高。我們給一個應(yīng)用中使用的用戶賦予最恰當(dāng)?shù)臄?shù)據(jù)庫權(quán)限。如一個只進行數(shù)據(jù)插入的用戶不應(yīng)賦予其刪除數(shù)據(jù)的權(quán)限。MySql的用戶管理是通過 User表來實現(xiàn)的,添加新用戶常用的方法有兩個,一是在User表插入相應(yīng)的數(shù)據(jù)行,同時設(shè)置相應(yīng)的權(quán)限;二是通過GRANT命令創(chuàng)建具有某種權(quán)限的用 戶。其中GRANT的常用用法如下:
grant all on mydb.* to NewUserName@HostName identified by “password” ;
grant usage on *.* to NewUserName@HostName identified by “password”;
grant select,insert,update on mydb.* to NewUserName@HostName identified by “password”;
grant update,delete on mydb.TestTable to NewUserName@HostName identified by “password”;
若 要給此用戶賦予他在相應(yīng)對象上的權(quán)限的管理能力,可在GRANT后面添加WITH GRANT OPTION選項。而對于用插入User表添加的用戶,Password字段應(yīng)用PASSWORD 函數(shù)進行更新加密,以防不軌之人竊看密碼。對于那些已經(jīng)不用的用戶應(yīng)給予清除,權(quán)限過界的用戶應(yīng)及時回收權(quán)限,回收權(quán)限可以通過更新User表相應(yīng)字段, 也可以使用REVOKE操作。
下面給出本人從其它資料(www.cn-java.com)獲得的對常用權(quán)限的解釋:
全局管理權(quán)限:
FILE: 在MySQL服務(wù)器上讀寫文件。
PROCESS: 顯示或殺死屬于其它用戶的服務(wù)線程。
RELOAD: 重載訪問控制表,刷新日志等。
SHUTDOWN: 關(guān)閉MySQL服務(wù)。
數(shù)據(jù)庫/數(shù)據(jù)表/數(shù)據(jù)列權(quán)限:
ALTER: 修改已存在的數(shù)據(jù)表(例如增加/刪除列)和索引。
CREATE: 建立新的數(shù)據(jù)庫或數(shù)據(jù)表。
DELETE: 刪除表的記錄。
DROP: 刪除數(shù)據(jù)表或數(shù)據(jù)庫。
INDEX: 建立或刪除索引。
INSERT: 增加表的記錄。
SELECT: 顯示/搜索表的記錄。
UPDATE: 修改表中已存在的記錄。
特別的權(quán)限:
ALL: 允許做任何事(和root一樣)。
USAGE: 只允許登錄–其它什么也不允許做。

感謝各位的閱讀!關(guān)于“如何解決MySQL字符集編碼問題”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI