1.先到mysql下載鏈接下載安裝壓縮包
-
用WinScp將下載好的壓縮包傳到服務器,這裏傳到root根目錄下
-
登錄服務器解壓縮安裝包
tar zxvf mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz
-
複製解壓後的mysql目錄到系統的本地軟件目錄
tar zxvf mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz
-
添加系統mysql組和mysql用戶
groupadd mysql useradd -r -g mysql -s /bin/false mysql
- 進入安裝mysql軟件目錄,修改目錄擁有者爲mysql用戶
cd /usr/local/mysql/
- 安裝數據
./scripts/mysql_install_db --user=mysql
庫,此處可能出現錯誤 FATAL ERROR: please install the following Perl modules before executing scripts/mysql_install_db: Data::Dumper。
- 解決方法:
yum install -y perl-Data-Dumper
-
修改當前目錄擁有者爲root用戶
chown -R root:root ./
-
修改當前data目錄擁有者爲mysql用戶
chown -R mysql:mysql data
-
添加mysql服務開機自啓動
- 添加開機啓動,把啓動腳本放到開機初始化目錄。
cp support-files/mysql.server /etc/init.d/mysql
- 賦予可執行權限
chmod +x /etc/init.d/mysql
- 添加服務
chkconfig --add mysql
- 顯示服務列表
chkconfig --list
如果看到mysql的服務,並且3,4,5都是on的話則成功,如果是off,則執行
chkconfig --level 345 mysql on
- 啓動mysql服務
mkdir /var/log/mariadb service mysql start
12. 把mysql客戶端放到默認路徑
ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql
- 連接數據庫
mysql -uroot -p
報錯:Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
解決:
建立一個軟連接:ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
- 遠程登錄
mysql默認不允許遠程登錄,以下命令開啓:
grant all privileges on *.* to 'root'@'%' identified by 'password'; flush privileges;
解釋:
-
第一個*是數據庫,可以改成允許訪問的數據庫名稱
-
第二個* 是數據庫的表名稱,*代表允許訪問任意的表
-
root代表遠程登錄使用的用戶名,可以自定義
-
%代表允許任意ip登錄,如果你想指定特定的IP,可以把%替換掉就可以了
-
password代表遠程登錄時使用的密碼,可以自定義
-
flush privileges;這是讓權限立即生效
另外還需要開啓防火牆開放端口:
firewall-cmd --zone=public --add-port=3306/tcp --permanent (--permanent永久生效,沒有此參數重啓後失效)
如果報錯FirewallD is not running
表示當前機器沒有開啓防火牆
- 開啓防火牆:
systemctl start firewalld
- 查詢防火牆狀態:
systemctl status firewalld
- 關閉防火牆
systemctl stop firewalld
防火牆開啓後,在開啓3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
如果還是無法遠程連接,用這個命令開放端口:
/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
將修改永久保存到防火牆中
/etc/rc.d/init.d/iptables save