環境centos7.0
1,首先查看自己是否安裝過mysql
rpm -qa | grep mysql
如果什麼都不顯示即表示未使用rmp安裝mysql
但是不一定表示沒有mysql,再查看一下mysql的狀態,如果有mysql的話,會顯示mysql和它的狀態
service mysql status
也可以使用命令查看mysql的進程
ps -aux | grep mysql
查看服務和查看mysql有顯示的mysql內容就表示已經安裝
2,下載mysql
推薦先進入根目錄下的home文件夾在裏面創建一個mysql文件夾。方便操作和記錄。(創建文件夾命令爲mkdir mysql
)
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
下圖表示正在下載
使用wget命令從指定的URL下載文件,會將後面的內容下載到所在的位置,比如你在home中,就會下載到home下面。這樣就可以省去下載到自己電腦上再使用ftp傳到服務器上的步驟。
這裏下載的是mysql5.7版本
3,解壓和移動
tar xzvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
這樣就會在你所在的位置解壓出一個文件夾,使用ls命令就可以查看你所在的文件夾中所包含的內容
之後我們將這個解壓出來的文件夾移動到/usr/local/下並改名爲mysql(這個時候我們的位置需要不能動即在/home/mysql下)mv命令是可以移動文件以及爲文件改名。注意:移動文件時目標位置必須沒有與移動文件相同名字的文件,即在/usr/local/下沒有mysql
mv mysql-5.7.24-linux-glibc2.12-x86_64 /usr/local/mysql
這個時候解壓後的文件就在/usr/local/下並且改名爲mysql
4,創建data目錄,並賦予其他文件相應權限
在mysql中創建data文件夾
mkdir /usr/local/mysql/data
更改mysql目錄下所有的目錄及文件夾所屬的用戶組和用戶,以及賦予相應的權限
chown -R mysql:mysql /usr/local/mysql
chmod -R 755 /usr/local/mysql
5,進入mysql中進行編譯安裝(就像在windows安裝exe文件)
首先進入MySQL中的bin目錄
cd /usr/local/mysql/bin
進行編譯和安裝
./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql
成功後會在最後顯示默認密碼這個需要記住
6,修改配置文件
vim /etc/my.cnf
並且添加如下配置
[mysqld]
datadir=/usr/local/mysql/data
port = 3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
symbolic-links=0
max_connections=400
innodb_file_per_table=1
默認表名大小寫不明顯,如果想要修改爲明顯需要添加如下一行
lower_case_table_names=1
之後進行啓動mysql
/usr/local/mysql/support-files/mysql.server start
在mysql後面顯示【ok】表示啓動成功
7,添加軟鏈接
ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
就像windows中的快捷方式,可以在任意位置啓動這個服務。而不是需要進入mysql對應的bin中啓動
使用快捷方式重啓mysql
service mysql restart
8,進入mysql中,修改密碼並開啓遠程
mysql -u root -p
之後會讓你輸入密碼需要輸入之前編譯安裝後出現的密碼。注意:輸入時沒有任何顯示,不要認爲是沒輸入進去。只是它不顯示然後我們修改密碼,yourpass是你需要設置的密碼。用來以後在服務器上登錄mysql數據庫
set password for root@localhost = password('yourpass');
進入後我們使用mysql數據庫
use mysql;
之後開放權限(這裏功能有很多,可以指定ip連接數據庫,並且還可以賦予指定的賬號密碼連接,也就是不同的ip可以用不同的賬號密碼,並且還可以賦予不同的權限就像增刪改查)想要了解更多可以查詢MySQL中的grant命令。
下面的命令是讓所有的ip都可以訪問,並且用戶爲root,密碼也就是和剛纔設置的登錄數據庫的密碼一樣
update user set user.Host='%' where user.User='root';
之後需要刷新權限,要不然進行的操作只是保存了並沒有執行
flush privileges;
9,開放防火牆
這個時候我們想要遠程操作還需要打開服務器對應mysql數據庫的3306端口別的電腦才能通過這個端口進入mysql數據庫
查看firewall防火牆的狀態(不同的linux防火牆可能不同,也會有iptables防火牆)
systemctl status firewalld
查看3306端口是否開放
firewall-cmd --query-port=3306/tcp
如果沒開放就開放3306端口
firewall-cmd --permanent --add-port=3306/tcp
注意這個也和mysql刷新權限一樣,修改規則後需要重啓才能生效,重啓防火牆
firewall-cmd --reload
10,如果是阿里雲的話,需要去控制檯打開防火牆中的3306端口