1. 程式人生 > >Linux系列之安裝MySQL

Linux系列之安裝MySQL

環境:CentOS 7以上

在CentOS中預設安裝有MariaDB,但是我們需要的是MySQL,安裝MySQL可以覆蓋MariaDB

MariaDB資料庫管理系統是MySQL的一個分支,主要由開源社群在維護,採用GPL授權許可。開發這個分支的原因之一是:甲骨文公司收購了MySQL後,有將MySQL閉源的潛在風險,因此社群採用分支的方式來避開這個風險。MariaDB的目的是完全相容MySQL,包括API和命令列,使之能輕鬆成為MySQL的代替品。

首先安裝MySQL的Yum Repository

Yum幫我們管理好了各種rpm包的依賴,是基於rpm的軟體包管理器,能夠從指定的伺服器自動下載RPM包並且安裝,可以自動處理依賴性關係,並且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載、安裝.

所有的操作都是切換到root使用者下進行
安裝MySQL官方的Yum Repository

[root@localhost ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

下載rpm包

[root@localhost ~]# yum -y install mysql57-community-release-el7-10.noarch.rpm

安裝MySQL服務

[root@localhost ~]# yum -y install mysql-community-server

執行安裝服務的時間比較長,耐心等待,中間有一次詢問y/n?輸入y回車

啟動mysql服務:

[root@localhost ~]# systemctl start  mysqld.service

systemctl 命令是系統服務管理器指令,它實際上將 service 和 chkconfig 這兩個命令組合到一起。 以前的命令輸入也能使用
系統會提示:
注意:正在將請求轉發到“systemctl xxx xxx.service

檢視mysql執行狀態:

[root@localhost ~]# systemctl status mysqld.service

可以看到mysql服務的執行狀態,出現下面的資訊,其中Active後面代表狀態啟功服務後為**active (running)**,停止後為**inactive (dead)**

[[email protected] ~]# systemctl status mysqld.service
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since 三 2018-02-14 10:12:13 CST; 3min 31s ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 1424 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS)
  Process: 935 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
 Main PID: 1427 (mysqld)
   CGroup: /system.slice/mysqld.service
           └─1427 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid...

214 10:11:53 localhost.localdomain systemd[1]: Starting MySQL Server...
214 10:12:13 localhost.localdomain systemd[1]: Started MySQL Server.

  

    也可以重新啟動服務

    root@localhost ~]# systemctl restart mysqld.service 

    停止服務

    [root@localhost ~]# systemctl stop mysqld.service

    開機自啟動(預設)

    [root@localhost ~]# systemctl enable mysqld.service

    關閉開機自啟動

    [root@localhost ~]# systemctl disable mysqld.service

    安裝完成後預設有一個root使用者,初始密碼已經設定好,我們需要獲得這個初始密碼登入後再對其進行修改

    為了加強安全性,MySQL5.7為root使用者隨機生成了一個密碼,在error log中,關於error log的位置,如果安裝的是RPM包, 則預設是/var/log/mysqld.log。
    **只有啟動過一次mysql才可以檢視臨時密碼**

    通過下面的命令檢視初始密碼,冒號後面的字元就是密碼

    grep 'temporary password' /var/log/mysqld.log

    登入root使用者

    [root@localhost ~]# mysql -u root -p

    提示輸入密碼,輸入初始密碼,使用該密碼之後需要設定自己的密碼,但是mysql對密碼有要求,我們想要設定簡單的密碼必須 要修改約束,修改兩個全域性引數:

    validate_password_policy 代表密碼策略,**預設是1**:符合長度,且必須含有數字,小寫或大寫字母,特殊字元。 設定為0 判斷密碼的標準就基於密碼的長度了。一定要先修改兩個引數再修改密碼

    mysql> set global validate_password_policy=0; 

    validate_password_length代表密碼長度,最小值為4

    mysql> set global validate_password_length=4;

    修改密碼為root,之後就可以使用該密碼登入了

    mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';

    遠端連線授權(如果需要遠端連線mysql)

    mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;

    在CentOS中mysql的主要配置所在的目錄:

    1. /etc/my.cnf 這是mysql的主配置檔案
    2. /var/lib/mysql mysql資料庫的資料庫檔案存放位置
    3. /var/log mysql資料庫的日誌輸出存放位置
    轉載自:https://blog.csdn.net/qq_38663729/article/details/79327305