mysql5.7 rpm安裝mysql詳解


mysql5.7 rpm安裝mysql詳解

一 查看linux操作系統版本和系統內核版本

[root@nfs_client ~]# cat /etc/redhat-release     查看操作系統版本
CentOS Linux release 7.5.1804 (Core) 
[root@nfs_client ~]# uname -r               查看系統內核版本
3.10.0-862.el7.x86_64

二 下載對應版本的MySQL安裝文件

1、下載地址;https://dev.mysql.com/downloads/mysql/

2、選擇對應的Linux版本和x86/x64進行下載

可以選擇 RPM Bundle,下載完記得解壓 tar -xvf xxx.tar

[root@nfs_client ~]# wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.22-1.el7.x86_64.rpm-bundle.tar

三 卸載舊版本的MySql (沒有的話,則跳過此步驟)

​ 1、查看舊版本MySql

 ```bash

rpm -qa | grep mysql
```

2、逐個刪除掉舊的組件

​ 使用命令rpm -e --nodeps {-file-name}進行移除操作,移除的時候可能會有依賴,要注意一定的順序。

rpm -e --nodeps mysql-community-libs-5.7.35-1.el7.x86_64.rpm

四 使用 rpm 命令安裝MySql組件

​ 使用命令rpm -ivh {-file-name}進行安裝操作。

按照依賴關系依次安裝rpm包 依賴關系依次為common→libs→client→server

rpm -ivh mysql-community-common-5.7.22-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.22-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.22-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.22-1.el7.x86_64.rpm

注:ivh中, i-install安裝;v-verbose進度條;h-hash哈希校驗

在安裝 mysql-community-libs-5.7.22-1.el7.x86_64.rpm 時有可能會報錯:mysql依賴錯誤

[root@nfs_client tools]# rpm -ivh mysql-community-libs-5.7.22-1.el7.x86_64.rpm
warning: mysql-community-libs-5.7.22-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
error: Failed dependencies:
        mysql-community-common(x86-64) >= 5.7.9 is needed by mysql-community-libs-5.7.22-1.el7.x86_64
        mariadb-libs is obsoleted by mysql-community-libs-5.7.22-1.el7.x86_64

解決:清除yum里所有mysql依賴包

[root@nfs_client tools]# rpm -qa|grep mysql
[root@nfs_client tools]# yum remove mysql-libs

注意:
有的系統可能不太一樣,沒有mysql-libs,而是mariadb-libs,此時要移除的則是mariadb-libs

[root@nfs_client tools]# rpm -qa|grep mariadb
[root@nfs_client tools]# yum remove mariadb-libs

清除完yum里所有mysql的依賴包后,再次安裝mysql組件就不會報錯了:
注意細節:
1> 執行 yum remove mysql-libs 命令后,會自動刪除掉 /etc/ 下的 my.cnf 文件
2> 對於安裝mysql組件,只有安裝了 mysql-community-server-5.7.22-1.el7.x86_64.rpm 組件,才會:
a). 在 /etc/下生成 my.cnf 文件 和 my.cnf.d 文件夾

b). 在/var/lib/下生產以下三個文件夾

c). 在/var/log/ 下生成 mysqld.log 文件

d). 在/var/run/ 下生成 mysqld 目錄

五 登錄並創建MySql密碼

​ 1 啟動MySql
​ 安裝完后,使用命令 service mysqld start 或 systemctl start mysqld.service 啟動MySQL服務。(如果mysql服務無法啟動,就重啟一下系統)

systemctl start mysqld.service   # 啟動mysql
systemctl status mysqld.service  #查看mysql狀態
systemctl stop mysqld.service   #關閉mysql

查看mysql進程 ps -ef|grep mysql
查看3306端口 netstat -anop|grep 3306

eg:

[root@nfs_client tools]# ps -ef|grep mysql
mysql      4102      1  0 14:29 ?        00:00:01 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid
root       4806   1464  0 14:43 pts/0    00:00:00 grep --color=auto mysql
[root@nfs_client tools]# ps -ef|grep mysqld
mysql      4102      1  0 14:29 ?        00:00:01 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid
root       4829   1464  0 14:43 pts/0    00:00:00 grep --color=auto mysqld
[root@nfs_client tools]# firewall-cmd --state
not running
[root@nfs_client tools]# netstat -anop|grep 3306
tcp6       0      0 :::3306                 :::*                    LISTEN      4102/mysqld          off (0.00/0/0)
[root@nfs_client tools]#

2 登陸mysql修改root密碼
由於MySQL5.7.4之前的版本中默認是沒有密碼的,登錄后直接回車就可以進入數據庫,進而進行設置密碼等操作。其后版本對密碼等安全相關操作進行了一些改變,在安裝過程中,會在安裝日志中生成一個臨時密碼。

  怎么找到這個臨時密碼呢?

  使用:

grep 'temporary password' /var/log/mysqld.log
即可查詢到類似於如下的一條日志記錄:

[root@nfs_client tools]# grep 'temporary password' /var/log/mysqld.log    # 在/var/log/mysqld.log文件中搜索字段‘temporary password’
2018-07-18T06:02:23.579753Z 1 [Note] A temporary password is generated for root@localhost: n(jPp4l-C33#

n(jPp4l-C33#即為登錄密碼。使用這個隨機密碼登錄進去,然后修改密碼,使用命令:

[root@nfs_client tools]# mysql -uroot -p
執行下面的命令修改MySql root密碼

在5.6后,mysql內置密碼增強機制,低強度密碼會報錯:

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

mysql> alter user root@localhost identified by 'sdbrk';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
             或
mysql> set password for root@localhost=password('sdbrk');
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

解決方案如下:

可參見:ERROR 1819 (HY000):Your password does not satisfy the current policy requirments

step1: 更改策略,設置 validate_password_policy=0;

mysql> set global validate_password_policy=0;    # 此時,新密碼長度大於等於8位才有效,否則報錯
修改有效密碼長度:
mysql> set global validate_password_length=1;
Query OK, 0 rows affected (0.00 sec)

不管設置 validate_password_length=1,還是2,3,4 ,‘有效密碼長度’這個參數的實際值都是4。超過4后設置是多少實際就是多少。

step2:重設密碼:

mysql> set password for root@localhost=password('9527');
Query OK, 0 rows affected, 1 warning (0.00 sec)

博客內容來源:https://blog.csdn.net/wudinaniya/article/details/81094578


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM