Linux下安裝解壓版(tar.gz)MySQL5.7


        最近嘗試在Linux中安裝了解壓版MySQL,期間查閱了許多博客。很多博客看得我很懵逼,因此記錄下自己的安裝過程,方便后續查閱。
        環境說明:CentOs7.2

一、清理老的mysql

(1)卸載已有的mysql
            查找以前是否裝有mysql命令:
rpm -qa|grep -i mysql
            停止mysql服務,卸載之前安裝的mysql
 rpm -ev 包名
            如果卸載過程中報依賴錯誤,直接在卸載命名后面加參數 --nodeps
  rpm -ev 包名 --nodeps  
(2)查找之前老版本mysql的文件並刪除老版本mysql的文件
 find / -name mysql
 # 出來一堆列表
 # 一個一個刪除就ok

二、安裝前的准備

(1)安裝mysql之前需要確保系統中有libaio依賴
yum search libaio 
yum install libaio 
(2)下載安裝包(tar.gz的包,非rpm和yum)
cd /usr/
mkdir database
cd database
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.22-el7-x86_64.tar.gz
(3)解壓
tar -zxvf mysql-5.7.22-el7-x86_64.tar.gz 
mv mysql-5.7.22-el7-x86_64 mysql5.7 #重命名為mysql5.7

三、安裝

(1)添加用戶和組
#添加用戶組
groupadd mysql
#添加用戶mysql 到用戶組mysql(使用-r參數表示mysql用戶是一個系統用戶,不能登錄)
useradd -r -g mysql mysql
#添加完用下面命令測試,能看到mysql用戶的信息
id mysql
(2)手動創建MySQL data目錄
cd /usr/database/mysql5.7/
mkdir data
(3)目錄權限設置
將mysql及其下所有的目錄所有者和組均設為mysql
	chown -R mysql:mysql /usr/database/mysql5.7/
查看是否設置成功,執行下面命令,可以看到文件的所有者和組都變成了mysql
	cd /usr/database/
	ll
結果中出現:drwxr-xr-x 10 mysql mysql      4096 Jul  3 13:57 mysql5.7
(4)配置my.cnf文件
此文件非常重要,初始化之前要把此文件放到 /etc 目錄下
rm -rf /etc/my.cnf
vim /etc/my.cnf
#此文件內容如下(路徑根據自己的實際情況):
[client]
port = 3306
socket = /tmp/mysql.sock

[mysqld]
init-connect='SET NAMES utf8'
basedir=/usr/database/mysql5.7	        	#根據自己的安裝目錄填寫 
datadir=/usr/database/mysql5.7/data		#根據自己的mysql數據目錄填寫
socket=/tmp/mysql.sock
max_connections=200				# 允許最大連接數
character-set-server=utf8			# 服務端使用的字符集默認為8比特編碼的latin1字符集
default-storage-engine=INNODB			# 創建新表時將使用的默認存儲引擎
(5)初始化mysql
/usr/database/mysql5.7/bin/mysqld --initialize-insecure --user=mysql  --basedir=/usr/database/mysql5.7 --datadir=/usr/database/mysql5.7/data
#注意:mysqld --initialize-insecure初始化后的mysql是沒有密碼的
#重新修改下各個目錄的權限
chown -R root:root /usr/database/mysql5.7/		#把安裝目錄的目錄的權限所有者改為root
chown -R mysql:mysql /usr/database/mysql5.7/data/	#把data目錄的權限所有者改為mysql
(6)啟動mysql
/usr/database/mysql5.7/bin/mysqld_safe --user=mysql &
(7)修改密碼
 cd /usr/database/mysql5.7/bin/
 ./mysql -u root -p	# 默認沒有密碼,直接敲回車就可以
 use mysql;
 update user set authentication_string=password('這里填你設置的密碼') where user='root';
 flush privileges;
 exit;
(8)測試登錄
cd /usr/database/mysql5.7/bin/
./mysql mysql -u root -p
輸入密碼后,應該就連接上了
show databases;
exit; #退出
(9)copy啟動腳本並將其添加到服務且設置為開機啟動
#mysql啟動腳本為:/usr/database/mysql5.7/support-files/mysql.server
cp /usr/database/mysql5.7/support-files/mysql.server  /etc/init.d/mysql
#添加服務
chkconfig --add mysql   
# 顯示服務列表
chkconfig --list    
# 開機啟動
chkconfig --level 345 mysql on
# 測試添加的服務是否能用
service mysql status #查看狀態
service mysql start  #啟動mysql服務
service mysql stop   #停止mysql服務

四、設置外網可以訪問

	在mysql的bin目錄下執行:mysql -uroot -p密碼 登陸到數據:
	執行:use mysql;
	執行:select host,user from user;
		可以看到user為root,host為localhost的話,說明mysql只允許本機連接,那么外網,本地軟件客戶端就無法連接了。
	調整方法:
		執行:update user set host='%' where user ='root';
		執行刷新:flush privileges;
	OK!現在可以訪問了!
	如果還訪問不了,那可能是防火牆問題,修改下防火牆就ok,修改方法這里就不提了,網上很多資料

五、相關說明

(1)mysql服務的啟動和停止命令
	service mysql status #查看狀態
	service mysql start  #啟動mysql服務
	service mysql stop   #停止mysql服務
(2)怎么在Linux中登錄mysql
 #進入mysql安裝目錄的bin目錄,然后輸入以下命令
 ./mysql -u root -p
 #然后輸入密碼就登錄成功
	
 exit;#退出mysql


免責聲明!

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



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