一、清理老的mysql
(1)卸載已有的mysql
查找以前是否裝有mysql命令:
1 rpm
-qa|grep -i mysql
停止mysql服務,卸載之前安裝的mysql
1 rpm
-ev 包名
如果卸載過程中報依賴錯誤,直接在卸載命名后面加參數 --nodeps
1 rpm
-ev 包名 --nodeps
(2)查找之前老版本mysql的文件並刪除老版本mysql的文件
1
find / -name mysql
2
# 出來一堆列表
3
# 一個一個刪除就ok
二、安裝前的准備
(1)安裝mysql之前需要確保系統中有libaio依賴
1 yum search libaio
2 yum install libaio
(2)下載安裝包(tar.gz的包,非rpm和yum)
1
cd /usr/
2
mkdir database
3
cd database
4
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.22-el7-x86_64.tar.gz
(3)解壓
1 tar
-zxvf mysql-5.7.22-el7-x86_64.tar.gz
2
mv mysql-5.7.22-el7-x86_64 mysql5.7 #重命名為mysql5.7
三、安裝
(1)添加用戶和組
1
#添加用戶組
2 groupadd mysql
3
#添加用戶mysql 到用戶組mysql(使用-r參數表示mysql用戶是一個系統用戶,不能登錄)
4 useradd
-r -g mysql mysql
5
#添加完用下面命令測試,能看到mysql用戶的信息
6 id mysql
(2)手動創建MySQL data目錄
1
cd /usr/database/mysql5.7/
2
mkdir data
(3)目錄權限設置
1 將mysql及其下所有的目錄所有者和組均設為mysql
2
chown -R mysql:mysql /usr/database/mysql5.7/
3 查看是否設置成功,執行下面命令,可以看到文件的所有者和組都變成了mysql
4
cd /usr/database/
5
ll
6 結果中出現:drwxr-xr-x
10 mysql mysql 4096 Jul 3 13:57 mysql5.7
(4)配置my.cnf文件
此文件非常重要,初始化之前要把此文件放到 /etc 目錄下
1
rm -rf /etc/my.cnf
2
vim /etc/my.cnf
3
#此文件內容如下(路徑根據自己的實際情況):
4 [client]
5 port
= 3306
6 socket
= /tmp/mysql.sock
7
8 [mysqld]
9
init-connect='SET NAMES utf8'
10
basedir=/usr/database/mysql5.7 #根據自己的安裝目錄填寫
11
datadir=/usr/database/mysql5.7/data #根據自己的mysql數據目錄填寫
12
socket=/tmp/mysql.sock
13
max_connections=200 # 允許最大連接數
14
character-set-server=utf8 # 服務端使用的字符集默認為8比特編碼的latin1字符集
15
default-storage-engine=INNODB # 創建新表時將使用的默認存儲引擎
(5)初始化mysql
1 /usr/database/mysql5.7/bin/mysqld
--initialize-insecure --user=mysql --basedir=/usr/database/mysql5.7 --datadir=/usr/database/mysql5.7/data
2
#注意:mysqld --initialize-insecure初始化后的mysql是沒有密碼的
3
#重新修改下各個目錄的權限
4
chown -R root:root /usr/database/mysql5.7/ #把安裝目錄的目錄的權限所有者改為root
5
chown -R mysql:mysql /usr/database/mysql5.7/data/ #把data目錄的權限所有者改為mysql
(6)啟動mysql
1 /usr/database/mysql5.7/bin/mysqld_safe
--user=mysql &
(7)修改密碼
1
cd /usr/database/mysql5.7/bin/
2 ./mysql
-u root -p # 默認沒有密碼,直接敲回車就可以
3 use mysql;
4 update user
set authentication_string=password('這里填你設置的密碼') where user='root';
5 flush privileges;
6
exit;
(8)測試登錄
1
cd /usr/database/mysql5.7/bin/
2 ./mysql mysql
-u root -p
3 輸入密碼后,應該就連接上了
4 show databases;
5
exit; #退出
(9)copy啟動腳本並將其添加到服務且設置為開機啟動
1
#mysql啟動腳本為:/usr/database/mysql5.7/support-files/mysql.server
2
cp /usr/database/mysql5.7/support-files/mysql.server /etc/init.d/mysql
3
#添加服務
4 chkconfig
--add mysql
5
# 顯示服務列表
6 chkconfig
--list
7
# 開機啟動
8 chkconfig
--level 345 mysql on
9
# 測試添加的服務是否能用
10
service mysql status #查看狀態
11
service mysql start #啟動mysql服務
12
service mysql stop #停止mysql服務
四、設置外網可以訪問
1
在mysql的bin目錄下執行:mysql -uroot -p密碼 登陸到數據:
2
執行:use mysql;
3
執行:select host,user from user;
4
可以看到user為root,host為localhost的話,說明mysql只允許本機連接,那么外網,本地軟件客戶端就無法連接了。
5
調整方法:
6
執行:update user set host='%' where user ='root';
7
執行刷新:flush privileges;
8
OK!現在可以訪問了!
9
如果還訪問不了,那可能是防火牆問題,修改下防火牆就ok,修改方法這里就不提了,網上很多資料
五、相關說明
(1)mysql服務的啟動和停止命令
1
service mysql status #查看狀態
2
service mysql start #啟動mysql服務
3
service mysql stop #停止mysql服務
(2)怎么在Linux中登錄mysql
1
#進入mysql安裝目錄的bin目錄,然后輸入以下命令
2 ./mysql
-u root -p
3
#然后輸入密碼就登錄成功
4
exit; #退出mysql