最近搗騰了一個服務器,想來玩玩Node + Mysql, 服務器: CentOS7mysql
centos7沒有mysql的yum源,因此咱們直接從網上下載mysql的repo源,sql
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
複製代碼
咱們使用wget從網上下載了rpm包後,咱們就能夠用下面這個命令安裝rpm包數據庫
sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm
複製代碼
安裝好這個rpm包後,開始安裝mysql-servercentos
sudo yum install mysql-server
複製代碼
接下來就等待自動下載安裝了。在中間會出現兩個須要選擇的地方都填「y」回車就行,而後就會顯示安裝成功。bash
安裝好後,咱們須要重置密碼服務器
mysql -u root
複製代碼
登陸時有可能報這樣的錯:微信
ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘
複製代碼
緣由是/var/lib/mysql的訪問權限問題。下面的命令把/var/lib/mysql的擁有者改成當前用戶:socket
$ sudo chown -R root:root /var/lib/mysql
複製代碼
$ service mysqld restart
複製代碼
$ mysql -u root
mysql > use mysql;
mysql > update user set password=password('123456') where user='root';
mysql > exit;
複製代碼
到此,咱們就完成了mysql的安裝,以及密碼的設置;測試
// 中止mysql數據庫
service mysqld stop
// 重啓mysql數據庫
service mysqld restart
// 開啓mysql數據庫
service mysql start
複製代碼
那麼接下來咱們進入mysql進行數據查詢和插入呢。ui
進入數據庫
$ mysql -uroot -p
Enter password:123456
複製代碼
mysql > insert into user values(1,'筱筱','女',24);
ERROR 1366 (HY000): Incorrect string value: '\xC0\xEE\xC7\xBF' for column 'SNAME' at row 1
複製代碼
你會獲得這樣一個錯誤;爲何呢?
咱們使用\s命令查看數據庫的狀態;
mysql > \s
複製代碼
能夠看到當前數據庫爲mysql,而後Server characterset和Db characterset都是latin1,不是gbk。咱們來看看latin1是什麼編碼方式;
mysql > show character set;
複製代碼
能夠看出latin1是西歐編碼規則,不是中文的編碼,所以咱們這裏纔會亂碼了。gbk,是簡體中文編碼。 因此咱們在向表中插入中文時,確定會遇到這個坑。
那麼咱們要怎麼處理呢? 修改編碼,改成gbk,或者utf8,我這裏是改爲了utf8哈
alter database mysql character set utf8;
複製代碼
那麼接下來咱們能夠測試哈向數據庫插入中文字符
insert into user values(1,'筱筱','女',24);
複製代碼
可是你會發現仍是不對,爲何呢?
那是由於你在新建user表字段的時候,默認的編碼仍是爲修改以前的latin1,因此咱們須要修改表的編碼,使用navicat打開design table,而後修改字段編碼
接下來,咱們在測試一下剛剛的插入語句
insert into user values(1,'筱筱','女',24);
複製代碼
OK,大功告成! 若是你有更好的處理方式能夠留言, 關注微信公衆號可查看更多內容。