許多讀者在安裝mysql的時候是不是遇到了mysql無法安裝的情況,沒有發現報錯但是就是安裝不了,我在mysql也遇到了一樣的錯誤,在查詢資料后整理出了一下錯誤
無法安裝mysql 的原因
MariaDB 是MySQL的一個分支,從MySQL被甲骨文收購之后開發的一個替代品,目前全部兼容MySQL。
MariaDB 是一個采用 Maria 存儲引擎的 MySQL 分支版本,是由原來MySQL 的作者 Michael Widenius 創辦的公司所開發的免費開源的數據庫服務器。
由於滿MySQL被Oracle收購后的日漸封閉與緩慢的更新,眾多Linux發行版逐漸拋棄了這MySQL數據庫,而轉向了MariaDB
CentOS 7/RHEL7中,默認已經不再提供mysql的安裝源,取而代之的是mysql的原開發者另起爐灶開發的mariadb數據庫,不僅完全兼容mysql而且比mysql更加強大。
如果Linux中安裝了mariadb數據庫,先卸載掉,因為CentOS 7.6 內部集成了mariadb,而安裝mysql的話會和mariadb的文件沖突,所以需要先卸載掉mariadb
解決方法
1、檢查Linux是否安裝了mariadb數據庫,mariadb數據庫是mysql的分支
執行命令:
yum list installed | grep mariadb
2、開始安裝mysql,首先從官網下載mysql軟件壓縮包,並上傳到Linux的opt/mysoft 目錄下
解壓下載下來的mysql軟件壓縮包,執行命令:
mkdir /usr/local/mysql //創建mysql目錄
tar -zxvf /opt/mysoft/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz -C /usr/local/mysql //解壓
local目錄一般是linux上安裝文件的地方,所以選這個路徑
3、添加mysql用戶及用戶組
執行命令:
groupadd mysql
useradd mysql -g mysql (-g: 是指定用戶所在組)
chown /usr/local/mysql //將mysql安裝目錄的所屬組改為mysql
為什么要創建mysql分組:
我們在編譯安裝的時候創建一個mysql組和一個mysql用戶,並把datadir和安裝目錄屬主改為mysql,在MySQL啟動的時候,單進程mysqld,該進程的屬主就是mysql,這樣就保證了mysql服務的獨立性,即便mysql服務被黑掉,得到了mysql用戶權限,也不會影響整個系統的安全
4.進入 /usr/local/mysql目錄開始進行安裝
rpm -ivh MySQL-server-5.6.22-1.el6.i686.rpm //安裝服務器端
rpm -ivh MySQL-client-5.6.22-1.el6.i686.rpm //安裝客戶端
5.使用root用戶登入msyql,初始密碼在 /root/.mysql_secret
這樣mysql就安裝好了
卸載mysql
一、使用以下命令查看當前安裝mysql情況,查找以前是否裝有mysql
rpm -qa|grep -i mysql
二、停止mysql服務、刪除之前安裝的mysql
刪除命令:rpm -e –nodeps 包名
rpm -ev MySQL-client-5.5.25a-1.rhel5
rpm -ev MySQL-server-5.5.25a-1.rhel5
三、查找之前老版本mysql的目錄、並且刪除老版本mysql的文件和庫
find / -name mysql//查找命令
比如查到以下文件
/var/lib/mysql
/var/lib/mysql/mysql
/usr/lib64/mysql
一個個移除
rm -rf /var/lib/mysql
rm -rf /var/lib/mysql
rm -rf /usr/lib64/mysql
注意:卸載后/etc/my.cnf不會刪除,需要進行手工刪除
rm -rf /etc/my.cnf
四、再次查找機器是否安裝mysql
rpm -qa|grep -i mysql