CentOS7默認安裝MariaDB而不是MySQL,並且yum服務器上也移除了mysql相關的軟件包。由於MariaDB和MySQL可能會衝突,故先卸載MariaDB。
1. 安裝新版mysql以前,咱們須要將系統自帶的mariadb-lib卸載node
[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
若是發現依賴缺陷報錯, yum remove mysql-libs
注:詳細卸載教程可自行百度,很簡單。mysql
mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar
注:我上傳到的路徑 /usr/local/toolslinux
注:全部解壓包,不必定須要所有安裝、注意安裝順序
如下是安裝順序 這幾個包由依賴關係。執行有前後其中,client依賴於libs,server依賴於common和client.sql
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 環境等問題,按提示百度就行。shell
[root@localhost mysql]# mysqld --initialize --user=mysql
若是是以 mysql 身份登陸運行,則能夠去掉 –user 選項。
注: –initialize 選項默認以「安全」模式來初始化,則會爲 root 用戶生成一個密碼並將該密碼標記爲過時,登錄後你須要設置一個新的密碼
這裏演示使用的 –initialize 初始化的,會生成一個 root 帳戶密碼,密碼在log文件裏,紅色區域的就是自動生成的密碼數據庫
使用 cat /var/log/mysqld.log
命令打開日誌文件安全
注:systemctl是Centos7特有的啓動方式服務器
systemctl start mysqld.service
mysql -u root -p;
set password = password('你的密碼');
grant all privileges on *.* to 'root' @'%' identified by'你的密碼';
flush privileges;
(轉)socket
/charlie/software/mysql/data是我新建的MySQL目錄,修改文件夾權限:sudo chown -R mysql:msyql /charlie/software/mysql/dataide
修改/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
執行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文件添加
主要仍是對Linux不熟悉,找了好久才發現有多是selinux的緣由。