1、將mysql-5.7.24-1.el7.x86_64.rpm-bundle.tar的安裝包放到root跟目錄下,安裝版本可到MySQL官網去下載。
2、查看是否安裝過MySQL,如果安裝了,將其卸載。
rpm -qa|grep mysql
rpm -e --nodeps mysql-libs-5.1.73-7.el6.x86_64 ##此處換成你係統中的MySQL版本
3、切換到安裝包所在的目錄解壓安裝包,記得解壓名字換成自己的安裝包名。這裏是解壓到了/usr/local/mysql目錄下
[root@node21 software]# mkdir -p /usr/local/mysql
[root@localhost ~]# tar -xvf mysql-5.7.24-1.el7.x86_64.rpm-bundle.tar -C /usr/local/mysql
mysql-community-common-5.7.24-1.el7.x86_64.rpm
mysql-community-minimal-debuginfo-5.7.24-1.el7.x86_64.rpm
mysql-community-embedded-compat-5.7.24-1.el7.x86_64.rpm
mysql-community-embedded-devel-5.7.24-1.el7.x86_64.rpm
mysql-community-embedded-5.7.24-1.el7.x86_64.rpm
mysql-community-libs-5.7.24-1.el7.x86_64.rpm
mysql-community-devel-5.7.24-1.el7.x86_64.rpm
mysql-community-server-5.7.24-1.el7.x86_64.rpm
mysql-community-libs-compat-5.7.24-1.el7.x86_64.rpm
mysql-community-client-5.7.24-1.el7.x86_64.rpm
mysql-community-server-minimal-5.7.24-1.el7.x86_64.rpm
mysql-community-test-5.7.24-1.el7.x86_64.rpm
4、進入安裝目錄,安裝mysql-community-libs-5.7.24-1.el7.x86_64.rpm時會報錯,
[root@localhost ~]# cd /usr/local/mysql/
[root@localhost mysql]# rpm -ivh mysql-community-libs-5.7.24-1.el7.x86_64.rpm
警告:mysql-community-libs-5.7.24-1.el7.x86_64.rpm: 頭V3 DSA/SHA1 Signature, 密鑰 ID 5072e1f5: NOKEY
錯誤:依賴檢測失敗:
mysql-community-common(x86-64) >= 5.7.9 被 mysql-community-libs-5.7.24-1.el7.x86_64 需要
mariadb-libs 被 mysql-community-libs-5.7.24-1.el7.x86_64 取代
警告:紅帽安裝rpm安裝MySQL時爆出警告:mysql-community-libs-5.7.22-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature,密鑰 key ID 5072e1f5: NOKEY。
原因:這是由於yum安裝了舊版本的GPG keys造成的
解決辦法:後面加上 --force --nodeps 如:rpm -ivh mysql-community-libs-5.7.24-1.el7.x86_64.rpm --force --nodeps 從 RPM 版本 4.1 開始,在安裝或升級軟件包時會檢查軟件包的簽名。
5、依次安裝,提示被需要的依賴net-tools,yum install net-tools 即可。
[root@localhost mysql]# rpm -ivh mysql-community-client-5.7.24-1.el7.x86_64.rpm
[root@localhost mysql]# rpm -ivh mysql-community-devel-5.7.24-1.el7.x86_64.rpm
6、繼續安裝。。發現有需要的依賴,所以我們先安裝依賴
[root@localhost mysql]# rpm -ivh mysql-community-server-5.7.24-1.el7.x86_64.rpm
警告:mysql-community-server-5.7.24-1.el7.x86_64.rpm: 頭V3 DSA/SHA1 Signature, 密鑰 ID 5072e1f5: NOKEY
錯誤:依賴檢測失敗:
mysql-community-common(x86-64) = 5.7.24-1.el7 被 mysql-community-server-5.7.24-1.el7.x86_64 需要
[root@localhost mysql]# rpm -ivh mysql-community-common-5.7.24-1.el7.x86_64.rpm
##此安裝會報錯
##類似這樣 file /usr/share/mysql/charsets/swe7.xml from install of mysql-community-common-5.7.24-1.el7.x86_64 co86_64
##這是由於和系統中的mariadb有衝突
7、檢測出和mariadb有衝突,我們找出系統自帶的mariadb,然後強制卸載。之後便可以繼續正常安裝。
[root@localhost mysql]# rpm -qa |grep mariadb
mariadb-libs-5.5.41-2.el7_0.x86_64
[root@localhost mysql]# rpm -e --nodeps mariadb-libs-5.5.41-2.el7_0.x86_64
[root@localhost mysql]# rpm -ivh mysql-community-common-5.7.24-1.el7.x86_64.rpm
[root@localhost mysql]# rpm -ivh mysql-community-server-5.7.24-1.el7.x86_64.rpm
[root@localhost mysql]# rpm -ivh mysql-community-embedded-5.7.24-1.el7.x86_64.rpm
[root@localhost mysql]# rpm -ivh mysql-community-embedded-compat-5.7.24-1.el7.x86_64.rpm
[root@localhost mysql]# rpm -ivh mysql-community-libs-compat-5.7.24-1.el7.x86_64.rpm
8、初始化數據庫,爲了保證數據庫目錄爲與文件的所有者爲 mysql 登陸用戶,如果你是以 root 身份運行 mysql 服務,需要執行下面的命令初始化mysqld --initialize --user=mysql
9、如果是以 mysql 身份運行,則可以去掉 --user
選項。
另外 --initialize
選項默認以“安全”模式來初始化,則會爲 root 用戶生成一個密碼並將該密碼標記爲過期,登陸後你需要設置一個新的密碼,而使用 --initialize-insecure
命令則不使用安全模式,則不會爲 root 用戶生成一個密碼。
這裏演示使用的 --initialize
初始化,會生成一個 root 賬戶密碼,密碼在log文件裏,紅色區域的就是自動生成的密碼
mysql配置文件在/etc/my.cnf,裏面指明瞭數據目錄,日誌位置,root@localhost: q_0D7w7rM6k%爲臨時密碼。
啓動數據庫服務,登錄數據庫,輸入臨時密碼。
[root@localhost mysql]# mysqld --initialize --user=mysql
[root@localhost mysql]# cat /var/log/mysqld.log ##查看日誌密碼
2019-02-21T10:47:27.513140Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2019-02-21T10:47:27.885717Z 0 [Warning] InnoDB: New log files created, LSN=45790
2019-02-21T10:47:27.942033Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2019-02-21T10:47:28.012026Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 14ca745e-35c6-11e9-84b4-000c29a2ec2e.
2019-02-21T10:47:28.024617Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2019-02-21T10:47:28.030274Z 1 [Note] A temporary password is generated for root@localhost: q_0D7w7rM6k%
[root@localhost mysql]# service mysqld start ##啓動數據庫
[root@localhost mysql]# mysql -u root -p
Enter password:
10、數據庫設置;
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'; ##設置MySQL密碼
mysql> show databases; ##查看數據庫
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.01 sec)
使用mysql數據庫,查看User表。
mysql> use mysql; ##使用mysql數據庫
mysql> select User,host,authentication_string from user; ## 查看User表
+---------------+-----------+-------------------------------------------+
| User | host | authentication_string |
+---------------+-----------+-------------------------------------------+
| root | localhost | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| mysql.session | localhost | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
| mysql.sys | localhost | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |
+---------------+-----------+-------------------------------------------+
3 rows in set (0.01 sec)
修改user表,把Host表內容修改爲%
mysql> update user set host='%' where host='localhost';
刪除root用戶的其他host
mysql> delete from user where User != 'root';
刷新退出
mysql> flush privileges;
mysql> exit;