記錄 Linux CentOS安裝配置MySQL資料庫
今天在虛擬機器安裝mysql ,想玩玩結果踩坑了,所以記錄一下哈哈哈
1.在安裝mysql
- 下載mysql源安裝包
wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.35-linux2.6-x86_64.tar.gz
- 解壓 安裝mysql
tar -xvfmysql-5.6.35-linux2.6-x86_64.tar.gz
mvmysql-5.6.35-linux2.6-x86_64 /usr/local/mysql
- 新建使用者/目錄及許可權修改
groupadd mysql
useradd -r -g mysql mysql
mkdir -p /data/mysql
chown mysql:mysql -R /data/mysql
2.配置及登入
- 配置my.cnf
vim /etc/my.cnf
配置內容:
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
port=3306
socket = /tmp/mysql.sock
character-set-server = utf8
skip-name-resolve
log-err = /usr/local/mysql/data/error.log
pid-file = /usr/local/mysql/data/mysql.pid
- 初始化資料庫
cd /usr/local/mysql/bin/
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data --user=mysql --initialize
- 將mysql.server放置到/etc/init.d/mysql中(注意init.d是連線檔案)
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
- 啟動mysql服務
service mysql start
ps -ef|grep mysql
由於我已啟了服務 我只是檢視一下狀態,mysql服務是running狀態
- 登入mysql資料庫
mysql -u root -p
輸入密碼登入
3.外部連線
安裝連線庫的客戶端,然後連線資料庫
-
先ping一下 是否能通,一般都是通的
- telent ip port 看看是否可以通,若無法連線檢視防火牆配置(我自己使用的iptables)
因為centos7預設的防火牆是firewalld防火牆,不是使用iptables
因此禁用firewalld服務,或者乾脆使用預設的firewalld防火牆。
- 禁用firewalld防火牆
systemctl stop firewalld
systemctl mask firewalld
- 使用iptables服務:
#開放443埠(HTTPS)
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
#儲存上述規則
service iptables save
#開啟服務
systemctl restart iptables.service
- 配置iptables 檔案
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
儲存後重啟reboot
再次連線成功