1. 程式人生 > >CentOS6下mysql的安裝與配置

CentOS6下mysql的安裝與配置

>CentOS是免費的、開源的、可以重新分發的開源作業系統,CentOS(Community Enterprise Operating System,中文意思是社群企業作業系統)是Linux發行版之一。
>MySQL是一個關係型資料庫管理系統,由瑞典MySQL AB 公司開發,屬於 Oracle 旗下產品。MySQL 是最流行的關係型資料庫管理系統之一,在 WEB 應用方面,MySQL是最好的 RDBMS (Relational Database Management System,關係資料庫管理系統) 應用軟體之一。 本文將以centos6h和mysql5.7為基礎,介紹linux系統下mysql的一系列安裝與配置工作,為後續的學習和開發做準備。 ## 一、mysql安裝 #### 1、在opt目錄下準備好rpm安裝包 ![rpm檔案](https://img-blog.csdnimg.cn/20210208201842335.png) #### 2、檢查當前系統是否安裝過mysql **①、CentOS6 環境下** ``` rpm -qa | grep -i mysql ``` ![centos6下檢查mysql環境](https://img-blog.csdnimg.cn/20210208202110731.png) 預設 Linux 在安裝的時候,自帶了 mysql 相關的元件,先解除安裝系統自帶的 mysql,執行解除安裝命令。 ``` rpm -e --nodeps mysql-libs ``` **①、CentOS7 環境下** ``` rpm -qa | grep -i mariadb ``` 預設 Linux(CentOS7)在安裝的時候,自帶了 mariadb(mysql 完全開源版本)相關的元件。 先解除安裝系統自帶的 mariadb,執行解除安裝命令 ``` rpm -e --nodeps mariadb - libs ``` #### 3、檢查/tmp檔案許可權 - 檢視/tmp資料夾許可權** ![/tmp資料夾許可權](https://img-blog.csdnimg.cn/20210208202430511.png) - 賦予其最大許可權 ![賦予其最大許可權](https://img-blog.csdnimg.cn/20210208202512188.png) #### 4、在安裝目錄下執行rpm安裝 ``` rpm -ivh MySQL-server-5.5.54-1.linux2.6.x86_64.rpm ``` ![安裝](https://img-blog.csdnimg.cn/20210208202549616.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3BlZHJvN2s=,size_16,color_FFFFFF,t_70) ``` rpm-ivh MySQL-client-5.5.54-1.linux2.6.x86_64.rpm ``` ![安裝](https://img-blog.csdnimg.cn/2021020820260982.png) *注:後面安裝的不是這個版本,但是無傷大雅。如果差什麼依賴直接yum install安裝即可* #### 5、檢視是否安裝成功 ``` mysqladmin --version ``` ![檢視是否安裝成功](https://img-blog.csdnimg.cn/20210208202756749.png) 也可以使用rpm命令來檢視 ![檢視是否安裝成功](https://img-blog.csdnimg.cn/20210208202811389.png) ## 二、 mysql的啟動等操作 #### 1、檢視狀態 ``` service mysql status ``` ![檢視狀態](https://img-blog.csdnimg.cn/20210208202921990.png) #### 2、啟動服務 ``` service mysql start ``` ![啟動服務](https://img-blog.csdnimg.cn/2021020820294793.png) #### 3、停止服務 ``` service mysql stop ``` ![停止服務](https://img-blog.csdnimg.cn/20210208203015471.png) #### 4、重啟服務 ``` service mysql restart ``` ![重啟服務](https://img-blog.csdnimg.cn/20210208203044419.png) #### 5、啟動之後,檢視程序 ``` ps -ef | grep mysql ``` ![啟動之後檢視程序](https://img-blog.csdnimg.cn/20210208203100279.png) ## 三、mysql安裝位置及密碼設定 #### 1、mysql安裝位置 ![借用尚矽谷圖片:mysql相關安裝位置](https://img-blog.csdnimg.cn/20210208203144208.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3BlZHJvN2s=,size_16,color_FFFFFF,t_70) #### 2、修改mysql使用者名稱和密碼 ``` mysqladmin -u root password xxxx ``` ![修改使用者名稱和密碼](https://img-blog.csdnimg.cn/20210208203240422.png) ## 四、mysql自啟動和資料庫連線 #### 1、mysql服務的自啟動 mysql服務一開始就是開機自啟的 ![mysql開機自啟](https://img-blog.csdnimg.cn/2021020820333690.png) 如果不想開機自啟,可以進入netsysv進行設定 ![netsysv](https://img-blog.csdnimg.cn/20210208203409443.png) ![linux服務選項](https://img-blog.csdnimg.cn/20210208203424466.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3BlZHJvN2s=,size_16,color_FFFFFF,t_70) 使用空格取消選中,使用TAB確定 #### 2、mysql連線資料庫 ![mysql連線資料庫](https://img-blog.csdnimg.cn/20210208203532856.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3BlZHJvN2s=,size_16,color_FFFFFF,t_70) ## 五、mysql重複啟動問題 #### 1、問題 ![問題](https://img-blog.csdnimg.cn/20210208203623480.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3BlZHJvN2s=,size_16,color_FFFFFF,t_70) #### 2、解決 ![解決](https://img-blog.csdnimg.cn/20210208203634931.png) ## 六、mysql修改字符集 #### 1、常用命令 ![圖片借用尚矽谷](https://img-blog.csdnimg.cn/20210208203703866.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3BlZHJvN2s=,size_16,color_FFFFFF,t_70) #### 2、未修改字符集時的中文亂碼問題 ![中文亂碼問題](https://img-blog.csdnimg.cn/2021020820372920.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3BlZHJvN2s=,size_16,color_FFFFFF,t_70) #### 3、字符集亂碼原因 如果在建庫建表的時候,沒有明確指定字符集,則採用預設的字符集 latin1,其中是不包含中文字元的。檢視預設的編碼字符集 ![字符集亂碼原因](https://img-blog.csdnimg.cn/20210208203756310.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3BlZHJvN2s=,size_16,color_FFFFFF,t_70) #### 4、配置檔案備份 注意!這是在mysql5.5版本,若是更新的版本就不一定叫這個了 ![配置檔案備份](https://img-blog.csdnimg.cn/20210208203817629.png) 備份完後記得重啟服務 ![備份完重啟服務](https://img-blog.csdnimg.cn/20210208203828695.png) #### 5、通過配置檔案永久修改字符集 ![永久修改字符集](https://img-blog.csdnimg.cn/2021020820385137.png) 在需要的地方新增內容 ![在需要的地方新增內容](https://img-blog.csdnimg.cn/20210208203903671.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3BlZHJvN2s=,size_16,color_FFFFFF,t_70) #### 6、重啟mysql服務 ![重啟mysql服務](https://img-blog.csdnimg.cn/20210208203924441.png) #### 7、再次檢視字符集編碼 ![檢視字符集編碼](https://img-blog.csdnimg.cn/20210208203939847.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3BlZHJvN2s=,size_16,color_FFFFFF,t_70) 注意:已經建立的資料庫的設定不會發生變化,引數修改只對新建的資料庫有效!!!! #### 8、在新建立的資料庫中測試中文是否能正常使用 ![測試中文](https://img-blog.csdnimg.cn/20210208204013552.png) 顯然正常 #### 9、處理已建立的表和庫 修改資料庫的字符集 ``` mysql>
alter database mydb character set 'utf8'; ``` 修改資料表的字符集 ``` mysql>alter table mytbl convert to character set 'utf8'; ``` #### 10、處理已經亂碼的資料 無論時修改mysql配置檔案或是修改庫、表的字符集,都無法改變已經變成亂碼的資料,只能刪除資料重新插入或者更新資料才可以解決。 ## 七、mysql授權外部連線 #### 1、授權外部訪問 ![授權](https://img-blog.csdnimg.cn/20210208204303718.png) ![重新整理](https://img-blog.csdnimg.cn/20210208204306641.png) #### 2、開啟防火牆對3306埠的攔截 ![開啟攔截](https://img-blog.csdnimg.cn/20210208204328495.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3BlZHJvN2s=,size_16,color_FFFFFF,t_70) #### 3、windows上使用datagrip進行連線 ![使用datagrip進行連線](https://img-blog.csdnimg.cn/20210208204349615.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3BlZHJvN2s=,size_16,color_FFFFF