# **步驟:**
## 1. 使用xshell等工具登錄至服務器,切換至root用戶:
##
```
su??
Password:???
```
# 說明:開啟root登錄后,可以使用su命令切換至root,如果你的主機還不能使用su切換到root用戶,那就需要初始化一下root用戶的密碼了,方法如下。
```
sudo?passwd?root??
Enter?new?UNIX?password:??
```
設置一個root密碼,就可以su到root用戶了。
## 2. 使用apt安裝MySQL:
##
```
apt-get?install?mysql-server??
Reading?package?lists...?Done??
Building?dependency?tree??????????
Reading?state?information...?Done??
mysql-server?is?already?the?newest?version?(5.7.20\-0ubuntu0.16.04.1).??
0?upgraded,?0?newly?installed,?0?to?remove?and?185?not?upgraded.??
```
說明:由于已經安裝了最新版本的MySQL,所以會有上邊的提示。
注意:如果想要使用apt安裝,請確保你的主機可以連接到互聯網。此處會提示設置Mysql root用戶的密碼等,Y/N確認?等,正常輸入就好。
## 3. 到此MySQL服務器就安裝成功了,下面我們驗證一下是否安裝成功,并做一些配置,免得產生不必要的麻煩:
查看進程:
```
ps?-aux|grep?mysql|grep?-v?grep??
mysql????278660.029.71148940263592????????Ssl??Nov14??19:38?/usr/sbin/mysqld??
```
查看端口:
```
netstat?-nlt|grep?3306
tcp????????000.0.0.0:33060.0.0.0:\*???????????????LISTEN???
```
說明:MySQL默認使用3306端口,查看該端口的狀態
查看service狀態:
```
service?mysql?status??
●?mysql.service?-?MySQL?Community?Server??
???Loaded:?loaded?(/lib/systemd/system/mysql.service;?enabled;?vendor?preset:?enabled)??
???Active:?active?(running)?since?Tue?2017-11-1422:50:15?CST;?1?months?1?days?ago??
?Main?PID:?27866?(mysqld)??
??Tasks:?35
??Memory:?263.1M??
??CPU:?19min?39.122s??
?? CGroup:?/system.slice/mysql.service??
???????????└─27866?/usr/sbin/mysqld??
Warning:?Journal?has?been?rotated?since?unit?was?started.?Log?output?is?incomplete?or?unavailable.??
```
說明:顯示如上結果,說明service正常
通過啟動命令檢查MySQL服務器狀態:
```
service?mysql?status??
●?mysql.service?-?MySQL?Community?Server??
???Loaded:?loaded?(/lib/systemd/system/mysql.service;?enabled;?vendor?preset:?enabled)??
???Active:?active?(running)?since?Tue?2017\-11\-1422:50:15?CST;?1?months?1?days?ago??
?Main?PID:?27866?(mysqld)??
????Tasks:?35
???Memory:?263.1M??
??????CPU:?19min?39.122s??
???CGroup:?/system.slice/mysql.service??
???????????└─27866?/usr/sbin/mysqld??
Warning:?Journal?has?been?rotated?since?unit?was?started.?Log?output?is?incomplete?or?unavailable.??
root@VM-202\-164\-ubuntu:/home/ubuntu#?/etc/init.d/mysql?status??
●?mysql.service?-?MySQL?Community?Server??
???Loaded:?loaded?(/lib/systemd/system/mysql.service;?enabled;?vendor?preset:?enabled)??
???Active:?active?(running)?since?Tue?2017\-11\-1422:50:15?CST;?1?months?1?days?ago??
?Main?PID:?27866?(mysqld)??
????Tasks:?35
???Memory:?263.1M??
??????CPU:?19min?39.177s??
???CGroup:?/system.slice/mysql.service??
???????????└─27866?/usr/sbin/mysqld??
Warning:?Journal?has?been?rotated?since?unit?was?started.?Log?output?is?incomplete?or?unavailable.??
```
說明:顯示如上結果,說明MySQL服務器狀態正常。
到此MySQL數據庫就可以正常使用了,可以試一下:
```
mysql?-u?root?-p??
Enter?password:???
mysql>?use?mysql;??
Database?changed??
mysql>?select?*?from?user;??
mysql>exit??
Bye??
```
## 4. 配置MySQL服務器的charset,此處解決MySQL插入中文亂碼的情況。
```
cd?/etc/mysql/mysql.conf.d??
vi?mysqld.cnf??
#在[mysqld]標簽下,增加服務器端的字符編碼,增加[client]修改客戶端編碼??
????[mysqld]??
????character-set-server=utf8??
????collation-server=utf8_general_ci??
????[client]??
?? ??default-character-set=utf8??
```
說明:修改mysqlld.cnf這個配置文件,此處針對MySQL 5.7.20,各個版本的MySQL配置文件結構略有差異。但是需要修改的內容不變。修改完之后需要重啟MySQL。
```
/etc/init.d/mysql?restart?
```
?
最后,驗證一下:
```
1. mysql?-u?root?-p??
2. mysql>?show?databases;??
3. mysql>?use?information\_schema;??
4. mysql>?show?tables;??
5. mysql>?show?variables?like?'%char%';??
```
依次執行上邊這個↑,如果結果是下邊這個↓,所有字符集都變成了utf-8,就搞定了。
```
1. mysql>?show?variables?like?'%char%';??
2. +--------------------------+----------------------------+??
3. |?Variable\_name????????????|?Value??????????????????????|??
4. +--------------------------+----------------------------+??
5. |?character\_set\_client?????|?utf8???????????????????????|??
6. |?character\_set\_connection?|?utf8???????????????????????|??
7. |?character\_set\_database???|?utf8???????????????????????|??
8. |?character\_set\_filesystem?|?binary?????????????????????|??
9. |?character\_set\_results????|?utf8???????????????????????|??
10. |?character\_set\_server?????|?utf8???????????????????????|??
11. |?character\_set\_system?????|?utf8???????????????????????|??
12. |?character\_sets\_dir???????|?/usr/share/mysql/charsets/?|??
13. +--------------------------+----------------------------+??
14. 8?rows?in?set?(0.17?sec)??
```
## 5. 讓MySQL可以被遠程訪問到。
在MySQL的使用中,我們經常使用可視化界面的軟件去連接數據庫,比如SQLyog這個軟件,但是配置好主機ip、用戶名、密碼等等等之后發現連接失敗了,以下配置就是解決這個問題,開啟MySQL服務器的遠程訪問。
```
cd?/etc/mysql/mysql.conf.d??
vi?mysqld.cnf??
#修改bind-address127.0.0.1為0.0.0.0
????bind-address????????????=?0.0.0.0
mysql?-u?root?-p??
Enter?password:??
mysql>?GRANT?ALL?PRIVILEGES?ON?*.*?TO?root@"%"?IDENTIFIED?BY?"你的密碼";??--ROOT為密碼??
mysql>?flush?privileges;??
```
授權root用戶的遠程訪問。接下來是重啟MySQL:
```
/etc/init.d/mysql?restart??
```
最后,驗證試試,看看還顯不顯示連接失敗。
6. 再給幾個常用MySQL命令:
```
1. #MySQL服務器開啟,關閉,重啟??
2. /etc/init.d/mysql?start??
3. /etc/init.d/mysql?stop??
4. /etc/init.d/mysql?restart??
```
7. 在調試java程序的時候拋出一個異常(具體是什么不記得了),反正有max_allowed_packet這個字段的提示,這是由于insert或者update語句中包含長文本,太長了超過了某個閾值(MySQL為保證IO的正常而設置的閾值),而這個閾值是在MySQL服務端設置的,不管你有沒有遇到這個異常呢,先記下來吧,以備不時之需。其實設置步驟很簡單:
```
mysql?-u?root?-p??
Enter?password:??
mysql>?show?VARIABLES?like?'%max_allowed_packet%';??
mysql>?set?global?max_allowed_packet?=?2*1024*1024*10;??
```
max_allowed_packet單位是b,所以2\*1024\*1024\*10代表20M。然后是重啟,這個不重啟是不生效的。
```
/etc/init.d/mysql?restart??
```
最后驗證一下:
```
mysql?-u?root?-p??
Enter?password:??
mysql>?show?VARIABLES?like?'%max_allowed_packet%';??
```
- 第一章Java環境安裝
- 1.Jdk環境安裝
- 1.1Windows
- 1.2Linux
- 1.3MaxX
- 2.Tomcat環境
- 3.Git環境配置
- 3.1Git_Windows
- 3.2Git_Linux
- 3.3Git基本操作命令
- 4.SVN配置
- 4.1TortoiseSVN_Windows
- 5.maven安裝
- 5.1Maven_Windows
- 6.RabbitMQ安裝
- 6.1RabbitMQ_Windows
- 6.2RabbitMQ_CentOS
- 6.3RabbitMQ_MacOS
- 7.mysql安裝
- 7.1Mysql_Windows
- 7.2Mysql_CentOS
- 7.3 Mysql_Ubuntu
- 7.4Mysql_MacOS
- 8.Redis安裝
- 8.1Redis_windows
- 8.2Redis Desktop Manage
- 8.3Redis_linux&macOS
- 9.zookeeper安裝
- 9.1Zookeeper_Windows
- 12.kafka安裝
- 10.nigix安裝
- 1.1MacX
- 1.2Linux
- 11.docker安裝
- 第二章Python環境
- 1.Python安裝
- 2.conda環境安裝
- 第三章Rasa環境安裝
- 1.MITIE安裝
- 第四章VUE環境安裝
- 1.Node環境安裝