Centos7.3.1611安裝mysql5.7.18 rpm教程 並設置datadir


一、卸載MariaDB

CentOS7默認安裝MariaDB而不是MySQL,而且yum服務器上也移除了mysql相關的軟件包。因為MariaDB和MySQL可能會沖突,故先卸載MariaDB。 
1. 安裝新版mysql之前,我們需要將系統自帶的mariadb-lib卸載

[root@localhost ~]# rpm -qa | grep -i mariadb
 mariadb-libs-5.5.52-1.el7.x86_64
[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.52-1.el7.x86_64

注:詳細卸載教程可自行百度,很簡單。

二、到mysql的官網下載最新版mysql的rpm集合包

mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar

1. 通過xshell的rz命令將mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar上傳到Linux系統中。

 
注:我上傳到的路徑 /usr/local/tools

2. 通過mkdir命令創建mysql目錄,放入解壓后的文件,為以后的安裝做准備。

3.解壓壓縮包到mysql目錄

四.安裝MySQL解壓包

注:所有解壓包,不一定需要全部安裝、注意安裝順序 
以下是安裝順序 這幾個包由依賴關系。執行有先后其中,client依賴於libs,server依賴於common和client.

rpm -ivh mysql-community-common-5.7.18-1.el7.x86_64.rpm // <br> 
rpm -ivh mysql-community-libs-5.7.18-1.el7.x86_64.rpm //<br>
rpm -ivh mysql-community-libs-compat-5.7.18-1.el7.x86_64.rpm<br>
rpm -ivh mysql-community-client-5.7.18-1.el6.x87_64.rpm //客戶端安裝包 <br>
rpm -ivh mysql-community-server-5.7.18-1.el6.x87_64.rpm //服務端安裝包<br>
rpm -ivh mysql-community-devel-5.7.18-1.el7.x87_64.rpm //包含開發用的庫頭文件安裝包<br>

注: i-install安裝;v-verbose進度條;h-hash哈希校驗;安裝過程中可能會出現 perl 環境等問題,按提示百度就行。

PS: rpm包強制安裝rpm -i --force --nodeps  .rpm

五、數據庫初始化

1.為了保證數據庫目錄為與文件的所有者為 mysql 登陸用戶,如果你的linux系統是以 root 身份運行 mysql 服務,需要執行下面的命令初始化

[root@localhost mysql]# mysqld --initialize --user=mysql

如果是以 mysql 身份登錄運行,則可以去掉 –user 選項。
注: –initialize 選項默認以“安全”模式來初始化,則會為 root 用戶生成一個密碼並將該密碼標記為過期,登陸后你需要設置一個新的密碼
這里演示使用的 –initialize 初始化的,會生成一個 root 賬戶密碼,密碼在log文件里,紅色區域的就是自動生成的密碼

使用 cat /var/log/mysqld.log 命令打開日志文件

六、啟動mysql數據庫

注:systemctl是Centos7特有的啟動方式

systemctl start mysqld.service

七、登錄mysql數據庫並創建Mysql新密碼

1.登錄mysql,然后輸入日志中的隨機密碼。

mysql -u root -p;

2.設置你的密碼。

set password = password('你的密碼');

3.設置授權(遠程訪問)

grant all privileges on *.* to 'root' @'%' identified by'你的密碼';

4.刷新權限

flush privileges;

(轉)

/charlie/software/mysql/data是我新建的MySQL目錄,修改文件夾權限:sudo chown -R mysql:msyql /charlie/software/mysql/data

修改/etc/my.cnf文件

[mysqld]

character_set_server=utf8
socket=/charlie/software/mysql/data/mysql.sock
datadir=/charlie/software/mysql/data
#socket=/var/lib/mysql/mysql.sock
#datadir=/var/lib/mysql

 

然后做一個mysql.sock 鏈接:
ln -s /charlie/software/mysql/data/mysql.sock /var/lib/mysql/mysql.sock

執行sudo systemctl start mysqld 會沒有反應。然后在/var/log/mysqld.log查看日志,ERR錯誤會有一個

Can't start server : Bind on unix socket: Permission denied這樣子的錯誤。

執行命令getenforce是不是出現的是Enforcing,如果是的話,執行setenforce 0 臨時關閉,就可以啟動MySQL。

然后執行sudo /usr/bin/mysql_secure_installation就可以設置了。

如果后面執行mysql相關命令出現:Can’t connect to local MySQL server through socket錯誤。

編輯/etc/my.cnf文件添加

 [mysql]
socket=/charlie/software/mysql/data/mysql.sock

主要還是對Linux不熟悉,找了很久才發現有可能是selinux的原因。

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM