1. 程式人生 > >centos7中搭建mysql5.7資料庫

centos7中搭建mysql5.7資料庫

centos7中安裝mysql的步驟

  • 安裝:
  1. 下載原始碼包,一般將原始碼包放在/usr/local/中;

cd /usr/local/

mkdir -p tools

cd tools

(這裡的版本可以隨時去mysql官網進行選擇)

  1. 檢視系統中是否已安裝 MySQL 服務

rpm -qa | grep mysqlyum list installed | grep mysql

  1. 如果已安裝則刪除 MySQL 及其依賴的包:yum -y remove mysql-libs.x86_64
  2. 安裝 mysql57-community-release-el7-8.noarch.rpm:rpm -ivh mysql57-community-release-el7-8.noarch.rpm
    安裝完後,得到如下兩個包:(在/etc/yum.repos.d/檔案下)mysql-community.repomysql-community-source.repo
  3. 安裝mysql

$ yum install mysql-server

根據步驟安裝就可以了,不過安裝完成後,沒有密碼,需要重置密碼。

  1. 重置密碼:

mysql -u root

:ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘ (2),原因是/var/lib/mysql的訪問許可權問題。下面的命令把/var/lib/mysql的擁有者改為當前使用者:

sudo chown -R openscanner:openscanner /var/lib/mysql

重啟服務:

 service mysqld restart

再次登入:

mysql -u root

報錯

此種情況是因為存在了預設密碼問題,解決:(最保險的是重置root密碼)

1、修改 /etc/my.cnf,在 [mysqld] 小節下新增一行:skip-grant-tables=1

這一行配置讓 mysqld 啟動時不對密碼進行驗證

2、重啟 mysqld 服務:systemctl restart mysqld

3、使用 root 使用者登入到 mysql:mysql -u root 

4、切換到mysql資料庫,更新 user 表:

update user set authentication_string = password('root'), password_expired = 'N', password_last_changed = now() where user = 'root';

在之前的版本中,密碼欄位的欄位名是 password,5.7版本改為了 authentication_string

5、退出 mysql,編輯 /etc/my.cnf 檔案,刪除 skip-grant-tables=1 的內容

6、重啟 mysqld 服務,再用新密碼登入即可

  1. 修改root使用者對於訪問主機的許可權修改,user表中的root賬戶預設只允許本機localhost進行連結;需要進行如下修改:

mysql -u root -p;

輸入密碼;

use mysql;

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

  1. 開放防火牆:

vim /etc/sysconfig/iptables

新增以下內容:

-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT

儲存後重啟防火牆:

$ sudo service iptables restart

這樣從其它客戶機也可以連線上mysql服務了。

  1. 阿里雲安全組設定:

如果此時在其他客戶機上還是連結不上mysql,登入阿里雲,檢視例項的安全組有沒有為3306埠開啟規則;