Linux搭建伺服器(包括mysql、Tomcat、JDK)之第一篇 MySQL篇
首先……你要有一個伺服器,哈哈
mysql篇:
1.準備工作
首先下載好linux下mysql的安裝包(當然也可以直接使用命令下載,我是先下載的)
我這裡的版本是mysql-5.6.42-linux-glibc2.12-x86_64.tar.gz
然後可以將它放到你想放到的資料夾下(這裡我是放到了home下)
然後開啟你存放mysql安裝包的資料夾 (命令:cd /home)
2.解壓安裝包
命令:tar -zxvf mysql-5.6.42-linux-glibc2.12-x86_64.tar.gz (後面的mysql 是我下載的版本 ,這裡需要注意檔案的字尾 是GZ的才可以用 “-zxvf”來解壓)
複製解壓後的mysql目錄
命令:cp -r mysql-5.6.42-linux-glibc2.12-x86_64 /usr/local/mysql/ (這步操作是將剛剛解壓的mysql目錄複製到 usr/local/mysql 中)
3.新增使用者組和使用者
新增使用者組 命令:groupadd mysql
新增使用者mysql 到使用者組mysql 命令:useradd -g mysql mysql
4.安裝(安裝了奧,前方高能,請自備紙巾)
-- 開啟/usr/local/mysql/資料夾(之前咱們複製到的資料夾) 命令: cd /usr/local/mysql/
-- 在/usr/local/mysql/資料夾下建立新的資料夾data/mysql 命令:mkdir ./data/mysql
-- 執行命令:./scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data/mysql
***(這裡注意:有一些小夥伴執行這句話會報錯
-bash: ./scripts/mysql_install_db: /usr/bin/perl: bad interpreter: 沒有那個檔案或目錄 解決:執行命令: yum -y install perl perl-devel
Installing MySQL system tables..../bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory 解決:執行命令:yum -y install libaio-devel
-- 複製檔案到/etc/init.d/下並改名為mysqld(就是將mysql.server檔案 放到了/etc/init.d下命名為mysqld) 命令:cp support-files/mysql.server /etc/init.d/mysqld
-- 修改mysqld的許可權 命令:chmod 755 /etc/init.d/mysqld
-- 複製my-default.cnf 到/etc/下並改名為my.cnf 命令:cp support-files/my-default.cnf /etc/my.cnf
-- 修改啟動指令碼 命令:vim /etc/init.d/mysqld (這裡也可以使用vi /etc/init.d/mysqld ,之所以使用vim是因為有高亮比較容易找到像修改的地方)
-- 修改(將basedir 和 datadir 修改成如下樣式)
basedir=/usr/local/mysql/ datadir=/usr/local/mysql/data/mysql
-- 啟動服務 命令:service mysqld start
-- 測試一下連線 命令:./mysql/bin/mysql -uroot
***這裡你會發現報錯了,兄弟莫慌,待老夫細細道來
-- 在這裡我們為其新增一個環境變數 ,編輯 /etc/profile
命令:vim /etc/proflie (然後發現裡面真乾淨……反正我裡面是啥也沒有)
然後新增 環境變數 PATH=$PATH:/usr/local/mysql/bin
然後儲存退出(不會儲存退出的可以去百度,我也會在文章最後寫出來方法)
-- 然後就可以啦,接下來我們啟動服務
啟動服務的命令:service mysqld start
關閉服務的命令:service mysqld stop
檢視執行狀態的命令:service mysqld status
-- 然後我們登入下我們安裝的mysql (預設的使用者名稱是 root 密碼是空的 <就是直接回車>)
執行命令: mysql -u root -p
這裡我們直接敲回車就可以啦
出現這個就登入成功啦
***(這裡需要注意下 ,有的小夥伴執行mysql -u root -p 的時候 報錯咯
需要執行 命令:source /etc/profile 這個命令是讓修改的proflie立刻生效的)
-- 登入成功之後,我們來建立一個使用者
在mysql命令列下 ,我們輸入
GRANT ALL PRIVILEGES ON *.* TO 'smile'@'%' IDENTIFIED BY 'smile' WITH GRANT OPTION;
這裡我們解析一下這個語句:
1)第一個“smile”呢,是我們的使用者名稱,你自己愛設啥設啥;
2)後面的“%”呢 ,代表所有的主機都可以訪問;
3) 第二個“smile”呢,是密碼,也是你自己愛設啥設啥
然後執行命令: flush privileges; 使剛才的語句立即生效
-- 接下來我們就可以查詢一下 我們新建的使用者了
在mysql下執行 語句:
SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
我們就發現已經可以看見 自己的使用者了。
*********************************(這裡一定要注意下,我們還需要執行一步操作,否則你根本就沒辦法登入你自己新建的使用者
在mysql下執行 語句: Delete FROM user Where User='' and Host='localhost';
這個語句的意義在於:我們有一個使用者名稱為空的賬戶,mysql會先匹配它,然後就一直提示你密碼錯誤,刪掉這個匿名使用者, 然後執行 語句:flush privileges;
實不相瞞,這個問題困擾了我好久
)
-- 這樣我們就可以登入自己的使用者了
執行 命令(這裡的“smile”是你自己設定使用者名稱哦):mysql -u smile -p
這樣我們的mysql 就安裝完成啦。
5.連線到視覺化工具,這裡使用的是Navicat
首先,我們要知道自己的 公網IP地址 然後 我們連線一哈 ,發現並連線不上,這是為啥呢??莫慌,待老夫細細道來
問題可能出現的原因:
1)防火牆沒有新增3306埠
執行命令:/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
2) 防火牆沒有關閉
執行命令: systemctl stop firewalld
執行命令: systemctl disable firewalld
開機不再開啟防火牆命令:chkconfig iptables off
3)伺服器上登入mysql,檢視是否有地址限制 (這一步,我們已經做過了,就是之前配置的遠端連結)
4) 就是你的伺服器就沒開通3306埠
我這裡使用的是阿里雲的伺服器
首先登入自己的阿里雲,點開自己的例項
在最右邊有一個“管理”
點開“管理”之後,在左邊有這樣的一條選單
我們選擇“本例項安全組”,然後在右邊我們找到“配置規則”
我們點開“配置規則”之後,發現就沒有3306埠(我這個是已經新增好的)
既然沒有“3306埠”,那麼我們點選上面的“新增安全組規則”
我們在“埠範圍”中輸入“3306/3306”,然後在“授權物件”中,輸入“0.0.0.0/0”,最後點選確定
然後我們在開啟navicat,測試一下連線,發現可以了。
至此,我們的mysql算是安裝完成了!!!!!!可喜可賀,今晚吃雞!!!!!
----------------------------------------- I`am Joshua,may god bless you