在mysql官網下載mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz
https://dev.mysql.com/downloads/mysql/5.7.html#downloads
wget mysql的官網的下載地址 , 這裏我下載的是 mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz
解壓tar 包後 mv mysql-5.7.25-linux-glibc2.12-x86_64 /usr/local/mysql (爲什麼需要放到userlocal下並且將名字設置爲mysql呢 : 應爲mysql默認的安裝路徑是 userlocal 這樣可以省去很多的麻煩)
設置mysql 組 和 mysql 用戶 可以不用爲用戶設置密碼 , 當然正式生產環境設置會好一點
[root@localhost local]# groupadd mysql
[root@localhost local]# useradd mysql
囉嗦一句 ,爲什麼需要設置mysql組合mysql用戶呢: 隔離風險,用特定帳戶,不與混同。名稱不必是 mysql,需自行修改一系列配置
這個時候需要將安裝mysql的目錄 , 和mysql在運行的時候的目錄都設置爲 mysql 組的 mysql 用戶的(也可以不設置 ,但是就需要更改mysql的配置文件了)
chown -R mysql:mysql /usr/local/mysql
chown -R 遞歸將文件的設置爲mysql組 這個時候我mysql底下的文件全部屬於mysql組了 , mysql安裝不會出現權限不足的情況了
因爲我安裝的linux 是mini 版本的 , 我需要安裝 yum -y install perl perl-devel 依賴
yum -y install perl perl-devel
安裝報錯 , 有提示
根據提示 yum search libnuma
yum install numactl
安裝完畢
如果安裝成功那麼你的 /etc 目錄下面會有一個文件 my.cnf 裏面就是mysql的配置
http://www.cnblogs.com/langdashu/p/5889352.html 該博客配置介紹的十分詳細
vim /etc/my.cnf 修改位置信息
//切記一下的目錄不存在的需要新建 ,並且將其設置爲mysql組
[client]
socket=/usr/local/mysql/socket/mysql.sock
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/socket/mysql.sock
port=3306
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
character-set-server = utf8
[mysqld_safe]
log-err = /usr/local/mysql/data/error.log
pid-file = /usr/local/mysql/data/mysql.pid
配置的具體含義可對照我提到的博客內容
去 mysql/support-files/ 下 將 mysql.server 這個文件放到 /etc/init.d 當中 並將名稱修改爲 mysql (這樣就可以使用service mysql start 啓動mysql 了 , 並且啓動的配置是 你在service當中的配置 , 但是我沒有理解 mysql.server 文件 和my.cnf 的關係 ,但是my.cfg的確是加載了)
cp /usr/local/mysql/support-files/mysql.server /etc/init.d
mv mysql.server mysql
vim mysql
去這裏面修改這兩項就可以了
第一次啓動
vim '/usr/local/mysql/data/localhost.localdomain.err' 這裏是提示的錯誤日誌 .檢查發現 我配置的
/usr/local/mysql/socket/mysql.sock 文件的socket文件夾的組是root 是應爲我在配置 socket 的時候是用root用戶新建的
啓動成功
進入mysql/bin 目錄下 ./mysql -uroot -p
查看mysql 5.7 的默認密碼 cat /root/.mysql_secret 然後輸入就好了
啓動成功後 修改密碼
SET PASSWORD FOR 'root'@localhost=PASSWORD('123456');
將mysql 設置爲其他客戶端也能鏈接
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
刷新 flush privileges;