Centos安裝MYSQL

卸載MariaDB

注意:一定要將mariaDB包和自帶mysql包卸載乾淨,否則安裝時出現各種奇妙錯誤,導致失敗。

rpm -qa | grep -i mariadb                           //查看有沒有安裝mariadb

rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64    //如果有,卸載MariaDB

 

卸載已有Mysql

//卸載舊版本的Mysql    

rpm -qa | grep -i mysql                   //查看有沒有安裝mysql

rpm -e MySQL-client-5.6.38-1.el7.x86_64   //如果有,卸載舊版本Mysql

 

//刪除服務

chkconfig --list | grep -i mysql          //查看服務

chkconfig --del mysql                     //刪除服務

 

//刪除mysql分散的文件夾

whereis mysql                             //查出相應的mysql文件夾,也可以用find / -name *mysql*                   

rm -rf /use/lib/mysql                     //刪除文件夾

如:

安裝依賴

注意:先裝好依賴,再裝mysql。即使順序出錯,裝完依賴一定要卸載mysql並重新裝mysql,否則mysql裝上了也會出現各種錯誤

yum install perl

yum -y install autoconf //此包安裝時會安裝Data:Dumper模塊

下載mysql

官網下載mysql,如下:

不同時間mysql可能預留的版本不一致,通常會預留比較穩定的好的版本

注意:centos內核基於Red Hat,所以下載的時候需要下載Red Hat版本

centos 7.2_64位的,如果不清楚自己系統的位數,可以通過file /bin/ls 查看

 

安裝

安裝Mysql

解壓mysql

tar -xvf MySQL-5.6.38-1.el7.x86_64.rpm-bundle.tar  //注意,是-xvf不是-zxvf

 

安裝mysql

rpm -ivh MySQL-client-5.6.38-1.el7.x86_64.rpm      //-i是安裝,-v是列出更多詳細信息,-h是在安裝時列出hash標記

rpm -ivh MySQL-devel-5.6.38-1.el7.x86_64.rpm

rpm -ivh MySQL-server-5.6.38-1.el7.x86_64.rpm

 

如果提示FATAL ERROR: please install the following Perl modules before executing,

先安裝perl

yum install -y perl-Module-Install.noarch

 

 

修改密碼

service mysql status                                               //查看mysql服務狀態

//如果是開啓服務狀態,用service mysql status關閉服務

mysqld_safe --user=mysql --skip-grant-tables --skip-networking &  //繞過密碼登錄

mysql -u root -p                                                  //登錄

use mysql;                                                        //切換數據庫

select Host,User,Password from user;                              //查詢用戶

UPDATE user SET password=password("root") WHERE user='你設置的密碼';      //修改密碼

quit                                                              //退出

 

service mysql restart                                             //重啓mysql服務

mysql -u root -proot                                              // -proot,p代表password,root是密碼

use mysql ;                                                        //切換數據庫

set password = password('root');                                  //第一次登陸必須修改mysql密碼

flush privileges;                                                 //刷新權限

 

//賦予任何主機訪問數據的權限(遠程訪問)

grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;

flush privileges;                                                  //刷新權限

quit                                                              //退出 mysql

service mysql restart                                             //重啓mysql

 

修改數據目錄

首先要先停止服務:service mysql stop,然後找到my.cnf,這個文件在centos6.x中的位置和centos7的默認位置不一樣,這個文件在/usr/my.cnf。當然你可以cp這個文件到/etc/my.cnf,mysql加載這個配置文件的時候先加載/etc/my.cnf,如果沒有再加載/usr/my.cnf。

其次更改這個文件,加入以下配置

datadir是你要更改的存儲數據的目錄,注意:這個目錄,要是mysql這個用戶的權限。因爲按照這種方式在centos7安裝mysql5.6,數據目錄默認在/var/lib/mysql

datadir = /APP/mysql

character_set_server=utf8

max_connections=200

collation_server=utf8_general_ci

lower_case_table_name=1

而這個目錄其實是mysql用戶組下mysql用戶的目錄。

因此我們要向遷移mysql存儲目錄,目錄應該也是這樣的權限。

最簡單的辦法就是使用cp -a 命令,加入了-a參數則會將權限也一併拷貝。

因此,執行如下命令: cp -a  /var/lib/mysql /APP/ 這樣就會將/var/lib/mysql整個拷貝到/APP目錄下,並且無網上說的權限的問題。

後面我們需要簡單的修改一下mysql的配置

max_connections:mysql的最大連接數

character-set-server=utf8 : 將server的編碼設置爲utf-8,如果需要安裝client,則在[client]中需要配置character-set-client=utf8

collation-server=utf8_general_ci:設置索引編碼

lower_case_table_name=1:大小寫敏感,設置成1,大小寫不敏感。

default-character-set = utf8 :不應該設置爲[mysqld]下,否則會報Starting MySQL... ERROR! The server quit without updating PID file的錯。我這裏註釋掉了。

保存後,啓動服務:service mysql start

 

 

啓動報錯解決辦法:

如果啓動報錯Starting MySQL... ERROR! The server quit without updating PID file

可能有幾個原因:

  1. 可能進程裏已經存在mysql進程
  2. 可能是第二次在機器上安裝mysql,有殘餘數據影響了服務的啓動。
  3. selinux惹的禍,如果是centos系統,默認會開啓selinux
  4. 數據目錄權限問題
  5. 在[mysqld]下設置了default-character-set = utf8,需註釋掉

 

 

防火牆開放3306端口

//查看firewall狀態(runing:運行,not runing:沒有運行),如果沒有運行,用systemctl start firewalld啓動。如果不需要啓動防火牆,則忽略這一步。

firewall-cmd --state

firewall-cmd --permanent --zone=public --add-port=3306/tcp      //添加3306端口

firewall-cmd --reload                                           //重新加載firewall

 

設置開機自動啓動

chkconfig --list mysql                    //查看mysql服務

chkconfig mysqld on                       //開啓MySQL服務自動開啓命令

chkconfig mysql on                        //開啓MySQL服務自動開啓命令

 

 

mysql集合重要目錄

  1. /var/lib/mysql 數據庫文件
  2. /usr/share/mysql 命令及配置文件
  3. /usr/bin mysqladmin、mysqldump等命令

本地API測試成功,但是集羣使用出現連接超時或者密碼過時的錯誤

全部設置成N

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章