1. 程式人生 > 其它 >CentOS7配置mysql8免安裝版

CentOS7配置mysql8免安裝版

1、下載或上傳mysql安裝包

下載
推薦使用清華的映象,下載速度非常的快
下載前,瀏覽器開啟映象網站確認下版本號有沒有更新
  wget https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-8.0/mysql-8.0.26-el7-x86_64.tar.gz

上傳
使用xftp等軟體將下載好的tar包上傳到/opt目錄下

 

2、檢查是否安裝過mysql

ps:因為以前用yum安裝過,所以先用yum解除安裝。如果不是此方式或者沒安裝過則跳過
[root@centos7 opt]# yum remove mysql

檢視是否有mysql依賴
[root@service /]# rpm -qa | grep mysql

如果有則解除安裝
//普通刪除模式
  rpm -e xxx(mysql_libs)
//強力刪除模式,如果上述命令刪除時,提示有依賴其他檔案,則可以用該命令對其進行強力刪除
  rpm -e --nodeps xxx(mysql_libs)

也可以增加以下步驟保險一點

1.檢視是否有安裝過mysql
  rpm -qa | grep -i mysql
2.刪除mysql
  yum -y remove MySQL-*
一般用rpm -e 的命令刪除mysql,這樣表面上刪除了mysql,可是mysql的一些殘餘程式仍然存在,並且通過第一步的方式也查詢不到殘餘,而yum命令比較強大,可以完全刪除mysql.(ps:用rpm刪除後再次安裝的時候會提示已經安裝了,這就是rpm沒刪除乾淨的原因)

3.把所有出現的目錄統統刪除
  find / -name mysql
查詢mysql的一些目錄,把所有出現的目錄刪除,可以使用rm -rf 路徑,刪除時請注意,一旦刪除無法恢復

4.刪除配置檔案
  rm -rf /etc/my.cnf
5.刪除mysql的預設密碼
  rm -rf /root/.mysql_sercret
刪除mysql的預設密碼,如果不刪除,以後安裝mysql這個sercret中的預設密碼不會變,使用其中的預設密碼就可能會報類似Access denied for user ‘root@localhost’ (using password:yes)的錯誤.

五步完成之後,這樣mysql就全部刪除乾淨了,若沒安裝過mysql可忽略以上步驟

3、檢查是否有mariadb

[root@centos7 opt]# rpm -qa | grep mariadb

如果有則解除安裝
[root@centos7 opt]# rpm -e --nodeps mariadb-libs
[root@centos7 opt]# rpm -e --nodeps mariadb-devel-5.5.65-1.el7.x86_64

4、安裝mysql依賴包

[root@centos7 opt]# yum install libaio

5、解壓

進入/opt目錄下將mysql檔案解壓
[root@centos7 opt]# cd /opt
[root@centos7 opt]# tar -zxvf mysql-8.0.21-el7-x86_64.tar.gz

6、更名並移動

為了方便操作以及配置檔案的更改我們將檔名重新命名為mysql
[root@centos7 opt]# mv mysql-8.0.21-el7-x86_64 mysql

按照習慣,我們將檔案移動到/usr/local目錄下
[root@centos7 opt]# mv /opt/mysql/ /usr/local/
我們切換到usr/local/目錄下檢視mysql是否存在
[root@centos7 opt]# cd /usr/local/

建立資料庫檔案存放的資料夾。這個資料夾將來存放每個資料庫的庫檔案

如果初始化的時候不生成密碼,這一步驟可不要

[root@centos7 local]# cd mysql
[root@centos7 mysql]# mkdir mysqldb

7、mysql安裝目錄賦予許可權

[root@centos7 mysql]# chmod -R 777 /usr/local/mysql/

8、建立mysql組和使用者

建立組
[root@centos7 mysql]# groupadd mysql

建立使用者(-s /bin/false引數指定mysql使用者僅擁有所有權,而沒有登入許可權)
[root@centos7 mysql]# useradd -r -g mysql -s /bin/false mysql

將使用者新增到組中
[root@centos7 mysql]# chown -R mysql:mysql ./

9、修改mysql配置檔案

[root@centos7 mysql]# vi /etc/my.cnf

可以先看看/etc目錄下有沒有這個檔案,如果沒有直接在當前目錄mysql下vim一個也可以

將裡面的命令都刪除掉,然後新增以下命令,儲存並退出(如果有一定經驗,可以在裡面新增一些其他的配置)

[mysqld]
# 設定3306埠
port=3306
# 設定mysql的安裝目錄
basedir=/usr/local/mysql
# 設定mysql資料庫的資料的存放目錄
datadir=/usr/local/mysql/mysqldb# 或者是data(初始化時會自動建立)
# 允許最大連線數
max_connections=10000
# 允許連線失敗的次數。這是為了防止有人從該主機試圖攻擊資料庫系統
max_connect_errors=10
# 服務端使用的字符集預設為UTF8
character-set-server=utf8
# 建立新表時將使用的預設儲存引擎
default-storage-engine=INNODB
# 預設使用“mysql_native_password”外掛認證
default_authentication_plugin=mysql_native_password
[mysql]
# 設定mysql客戶端預設字符集
default-character-set=utf8
[client]
# 設定mysql客戶端連線服務端時預設使用的埠
port=3306
default-character-set=utf8

10、安裝mysql

進入mysql 安裝目錄下:
[root@centos7 mysql]# cd /usr/local/mysql/bin/

安裝mysql,並記住初始化隨機密碼

rjH1VL1+YEfb

 

上面的試了一直報錯,後來換成下面這種,區別是下面這種不會有初始密碼

[root@centos7 mysql]# ./mysqld --initialize-insecure

不需要建立儲存資料庫的目錄(data或mysqldb)

11、啟動mysql服務

進入mysql.server服務目錄下並啟動服務
[root@centos7 bin]# cd /usr/local/mysql/support-files
[root@centos7 support-files]# ./mysql.server start
如果第一次啟動,當初始化執行會有報錯

此時不要擔心,重新給mysql安裝目錄賦予一下許可權後,再次執行
[root@centos7 support-files]# chmod -R 777 /usr/local/mysql
[root@centos7 support-files]# ./mysql.server start

12、將mysql新增到系統程序中

[root@centos7 bin]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
此時我們就可以使用服務程序操作mysql了

13、設定mysql自啟動

[root@centos7 bin]# chmod +x /etc/init.d/mysqld
[root@centos7 bin]# systemctl enable mysqld

此時mysql自啟動就已經設定好了

14、修改root使用者登入密碼

登入mysql
[root@centos7 bin]# cd /usr/local/mysql/bin/
[root@centos7 bin]# ./mysql -u root -p
執行後,輸入我們初始化時記錄下的隨機密碼,就會進入mysql

 

mysql> alter user 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

15、設定允許遠端登入

mysql> use mysql
mysql> update user set user.Host='%' where user.User='root';
mysql> flush privileges;
mysql> quit

16、重啟服務且測試

centos6與centos7的服務命令都支援

[root@centos7 bin]# systemctl restart mysql

[root@centos7 bin]# service mysql restart

 

1、檢視mysql是否啟動
[root@centos7 bin]# systemctl status mysql

 

2、檢視防火牆開放埠
firewall-cmd --list-all

 

3、在防火牆中將3306埠開放
[root@centos7 bin]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
[root@centos7 bin]# firewall-cmd --reload
//--permanent為永久生效,沒有此引數 伺服器重啟後配置失效

 

4、在Navicat上測試連線

5、重啟linux後測試自啟動(可選)
[root@centos7 bin]# reboot

測試mysql服務是否自啟動

 

 

測試遠端訪問

 

————————————————
版權宣告:本文為CSDN博主「Java大俠」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處連結及本宣告。
原文連結:https://blog.csdn.net/qq_41389482/article/details/109711389