CentOS下安裝mysql

CentOS下安裝mysql

最近搗騰了一個服務器,想來玩玩Node + Mysql, 服務器: CentOS7mysql

下載mysql的repo源

centos7沒有mysql的yum源,因此咱們直接從網上下載mysql的repo源,sql

wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 
複製代碼

安裝rpm包

咱們使用wget從網上下載了rpm包後,咱們就能夠用下面這個命令安裝rpm包數據庫

sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm
複製代碼

安裝mysql-server

安裝好這個rpm包後,開始安裝mysql-servercentos

sudo yum install mysql-server
複製代碼

接下來就等待自動下載安裝了。在中間會出現兩個須要選擇的地方都填「y」回車就行,而後就會顯示安裝成功。bash

重置mysql密碼

安裝好後,咱們須要重置密碼服務器

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
複製代碼

重啓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

進入數據庫

$ 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,大功告成! 若是你有更好的處理方式能夠留言, 關注微信公衆號可查看更多內容。

相關文章
相關標籤/搜索