CentOS7 下安裝 MySQL5.7 (包含mysql安裝報錯處理)

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;

參考:https://www.cnblogs.com/frankdeng/p/9017384.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章