Centos7安裝mysql8.0
一、安裝
1、下載mysql離線安裝包
百度網盤:https://pan.baidu.com/s/1RcKct7_CffWK5bRgzUNNLQ?_at_=1624090494933
下載地址:https://dev.mysql.com/downloads/mysql/
選擇如下:
【Red Hat Enterprise Linux 7 / Oracle Linux】
【Red Hat Enterprise Linux 7 / Oracle Linux 7 (x86, 64-bit)】
2、上傳tar包至伺服器
3、刪除原有的mariadb
先檢視一下是否已經安裝了,命令:rpm -qa|grep mariadb
刪除mariadb,命令:rpm -e --nodeps mariadb-libs
4、解壓縮mysql離線安裝包
tar -xvf mysql-8.0.16-2.el7.x86_64.rpm-bundle.tar
解壓縮之後,包含以下rpm包
[root@localhost mysql]# pwd /usr/local/mysql [root@localhost mysql]# ls mysql-8.0.19-1.el7.x86_64.rpm-bundle.tar mysql-community-client-8.0.19-1.el7.x86_64.rpm mysql-community-common-8.0.19-1.el7.x86_64.rpm mysql-community-devel-8.0.19-1.el7.x86_64.rpm mysql-community-embedded-compat-8.0.19-1.el7.x86_64.rpm mysql-community-libs-8.0.19-1.el7.x86_64.rpm mysql-community-libs-compat-8.0.19-1.el7.x86_64.rpm mysql-community-server-8.0.19-1.el7.x86_64.rpm mysql-community-test-8.0.19-1.el7.x86_64.rpm [root@localhost mysql]#
5、安裝rmp包
逐個安裝,命令如下:
【必須安裝】
rpm -ivh mysql-community-common-8.0.16-2.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.16-2.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.16-2.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.16-2.el7.x86_64.rpm
【非必須安裝】
rpm -ivh mysql-community-libs-compat-8.0.16-2.el7.x86_64.rpm
rpm -ivhmysql-community-embedded-compat-8.0.16-2.el7.x86_64.rpm
rpm -ivh mysql-community-devel-8.0.16-2.el7.x86_64.rpm
rpm -ivh mysql-community-test-8.0.16-2.el7.x86_64.rpm
最後一個依賴於net-tools
yum -y install net-tools
安裝完成
二、初始化和啟動服務
1,初始化資料庫
命令:mysqld --initialize --console
2,目錄授權
命令:chown -R mysql:mysql /var/lib/mysql/
3,啟動mysql服務
命令:systemctl start mysqld
檢視狀態
命令:systemctl status mysqld
三、資料庫配置
1、檢視臨時密碼:
命令:cat /var/log/mysqld.log
[root@localhost mysql]# grep 'temporary password' /var/log/mysqld.log 2021-06-20T04:05:43.322571Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: ypj(aM*b)1q2 [root@localhost mysql]#
2、用臨時密碼登入資料庫
命令:mysql -u root -p回車鍵
然後輸入臨時密碼(輸入時不會顯示出來,輸入完直接回車)
3、修改mysql密碼
命令:alter USER 'root'@'localhost' IDENTIFIED BY '123456';
如果前面三步因為密碼複雜度無法修改密碼,請使用以下步驟
[root@server-10 ~]# vim /etc/my.cnf skip-grant-tables #新增該行,跳過許可權表,這樣啟動資料庫以後,就可以無密碼登入!
#重啟mysld服務 [root@localhost mysql]# systemtl restart mysqld #進入mysql [root@localhost mysql]# mysql -uroot //檢視引數 mysql> SHOW VARIABLES LIKE 'validate_password%';
然後修改引數
mysql> set global validate_password.policy=0; mysql> set global validate_password.length=1;
然後修改自己的密碼為簡單的密碼就行了。
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'jws.com';
最後記得修改/etc/my.cnf,註釋掉skip-grant-tables
4、授權遠端連線
mysql8.0開啟遠端方式和5.0的不同
#重新建立一個使用者
mysql> create user 'jws'@'%' identified by 'jws.com'; Query OK, 0 rows affected (0.05 sec) #開啟遠端許可權 mysql> GRANT ALL PRIVILEGES ON *.* TO 'jws'@'%'; Query OK, 0 rows affected (0.08 sec) #開啟用Navicat連線的回報不支援caching_sha2_password驗證方式的錯誤。將遠端訪問使用者的驗證方式改為: msyql_native_password mysql> ALTER USER 'jws'@'%' IDENTIFIED WITH mysql_native_password BY 'jws.com'; Query OK, 0 rows affected (0.06 sec)
#重新整理 mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.00 sec) mysql>
使用navacat遠端連線
記得開放防火牆3306埠或者關閉防火牆