阿里雲伺服器centos安裝MySQL
1、首先需要安裝repo源
CentOS 7的yum源中預設是沒有mysql的,所以,為了解決這個問題我們首先下載安裝mysql的repo源。
依次執行以下命令:
# 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
此時,載次遠端連線輸入密碼就正常了。