1. 程式人生 > >阿里雲伺服器centos安裝MySQL

阿里雲伺服器centos安裝MySQL

1、首先需要安裝repo源

CentOS 7yum源中預設是沒有mysql的,所以,為了解決這個問題我們首先下載安裝mysqlrepo源。

依次執行以下命令:

# rpm -ivh mysql57-community-release-el7-7.noarch.rpm

安裝之後會獲得/etc/yum.repos.d/mysql-community.repo/etc/yum.repos.d/mysql-community-source.repo兩個源,可以去相應的路徑下檢視一下。

2、第二步才是正式的安裝MySQL

依次執行以下命令:

# yum install mysql-server

# yum install mysql-devel

# yum install mysql

3、檢查安裝的MySQL

輸入命令:

# rpm -qa|grep -i mysql

會檢視到安裝的軟體,如下:

4、檢視MySQL的常用命令:

# service mysqld status     檢視mysql當前的狀態

# service mysqld stop        停止mysql

# service mysqld restart     重啟mysql

# service mysqld start        啟動mysql

5、設定MySQL的登陸密碼

(1)在/etc/my.cnf檔案中新增skip-grant-tables   作用:新增該語句的作用是可以讓我們在伺服器上登入MySQL是免密碼登入。

(2)新增完成需要重啟MySQL服務:命令:service mysqld restart

(3)登陸MySQL # mysql -u root

(4)登陸進MySQL,依次執行如下命令:

mysql>use mysql;

mysql>update mysql.user set authentication_string=password('密碼') where user='root';       更新密碼

mysql>flush privileges;         重新整理許可權

mysql>exit;   退出

(5)當修改完密碼需要將第一步免密登陸註釋掉或者刪除;即/etc/my.cnf檔案中註釋或者刪除skip-grant-tables。

6、遠端連線伺服器上的MySQL

(1)

檢視mysql監聽IP和埠是否正常。

使用命令:netstat -anpt

監聽得地址如果是:::3306或者是0.0.0.0:3306,表示監聽所有IP地址,這監聽狀態是正常。若出現127.0.0.0:3306,說明監聽的本地地址,需要在mysql配置檔案中將bind-address選項設定為bind-address = 0.0.0.0,重啟mysql。

(2)檢視MySQL遠端訪問的許可權是否正確

本地遠端連線伺服器,進入到MySQL中,輸入命令:

SELECT user, host from mysql.user;                   //檢視當前使用者的許可權

%表示允許所有機器訪問,若host為127.0.0.1/localhost,那麼這個使用者就只能本機訪問,則需要將host改為%,執行語句為:

update user set host='%' where user='root';

執行操作完畢記得重新整理許可權並退出後重啟MySQL

(3)最後記得在自己的阿里雲賬戶上

         控制檯-安全組-配置規則;新增3306入口規則。

(4)若以上操作還不能正常連線則

使用tcpdump在伺服器端抓一下3306埠,看是否有資料包,排查以下網路原因。

在服務上輸入抓包命令:tcpdump port 3306

然後遠端連線mysql資料庫,看一下服務端是否有資料包。

注意:

若以上操作都正確,但是在連線時報1862錯誤提示密碼過期,則需要重新修改密碼,如若已經修改過密碼還是報1862錯誤,則需要:

把password_expired 改成不過期,今日MySQL,執行一項語句:

>  update user set password_expired='N' where user='root';
> flush privileges;
> quit 

此時,載次遠端連線輸入密碼就正常了。