lnmp環境搭建之mysql篇
本篇文章是在虛擬機上實現的,使用putty工具遠程連接服務器,所以會感覺一片漆黑。。
服務器版本,使用的是最小化安裝:
cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)
注意:mysql5.7.18後沒有my.cnf
因為Linux安裝完後就會生成/etc/my.cnf文件,無論哪種方式安裝前最好先把/etc/my.cnf先備份一下,這樣可以避免一些麻煩:
mv /etc/my.cnf /etc/my.cnf.bak
mysql的官網:https://www.mysql.com/
命令索引:https://dev.mysql.com/doc/refman/5.7/en/dynindex-command.html
以下主要介紹mysql的源碼、二進製源碼、yum三種安裝方法。使用yum安裝時最簡單的方法,所以我們就從最簡單的開始吧。
yum安裝:
這是官網給出的安裝步驟:https://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/
1. 添加mysql yum存儲庫
因為yum存儲庫列表中默認是沒有mysql的,所以要先官網下載mysql npm包更新yum庫,注意這個npm包隻是添加yum庫的mysql列表,相當於是添加幾條鏈接,所以隻有不到30kb的大小。
因為是最小化安裝,wget命令默認是沒有安裝的:yum –y install wget
下載地址:https://dev.mysql.com/downloads/repo/yum/
wget –c https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm # 下載npm包
rpm -Uvh mysql57-community-release-el7-11.noarch.rpm # 更新yum庫
2. 選擇版本係列
yum repolist all # 列出可用yum安裝的包,enabled默認安裝的包,
可以看到默認是安裝mysql57-community/x86_64,可以是因為我已經安裝過了,所以最前麵還有個!號。可以切換為其他版本的,修改如下文件,如果想要安裝5.6版本的,隻需把enabled=0改成1,記得把5.7的改成0,不然裝的還是5.7,修改完後保存退出,經過這一波操作後再運行yum repolist all就會發現有些許的變化:
vi /etc/yum.repos.d/mysql-community.repo
# Enable to use MySQL 5.6
[mysql56-community]
name=MySQL 5.6 Community Server
baseurl=https://repo.mysql.com/yum/mysql-5.6-community/el/7/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=https://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
當然也可以使用如下命令,效果和修改mysql-community.repo文件一樣:
yum-config-manager --disable mysql57-community
yum-config-manager --enable mysql56-community
如果提示-bash: yum-config-manager: command not found:
yum –y install yum-utils
3. 安裝mysql
經過上麵的一波操作後就可以安裝了:yum -y install mysql-community-server
這裏還是要說一下如果安裝前沒加上-y,安裝過程中停下來就會有3個選項[y|d|N],y就是yes;N就是no,選了no就終止操作了;d就是download,指的是僅下載,並不會安裝。
4. 啟動mysql服務器
service mysqld start # 啟動mysql服務
service mysqld status # 查看mysql狀態
service mysqld restart # 重啟mysql服務
service mysqld stop # 停止mysql服務
5. 修改密碼
注意:mysql默認安裝了validate_password插件,因此密碼至少包含一個大寫字母、一個小寫字母、一個數字和一個特殊字符,並且總密碼長度至少為8個字符,太簡單的密碼就會提示:
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
首次啟動mysql服務後,運行:
grep 'temporary password' /var/log/mysqld.log # 查看root@localhost用戶的初始密碼
mysql –uroot –p # 登錄mysql服務器
進去的第一件事就是修改密碼了,因為不修改密碼,mysql不允許你做其他事。
set password for ‘root’@’localhost’ = ‘new password’; // 5.7.6之前使用set password
或者
alter user ‘root’@’localhost’ identified by ‘new password’; // 5.7.6 之後
當然如果實在想要簡單的密碼可以在mysql啟動時停止validate_password插件:
官方手冊:https://dev.mysql.com/doc/refman/5.7/en/validate-password-options-variables.html
/usr/sbin/mysqld --user=mysql --validate-password=0 &
啟動進入mysql命令行再修改密碼就沒有限製了。
當然如果不知道mysql初始密碼那也不用慌,還有挽救的餘地:
官方手冊:https://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html
echo ‘ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';’ > /tmp/mysql-init
service mysqld stop
/usr/sbin/mysqld --user=mysql –init-file=/tmp/mysql-init &
rm –rf /tmp/mysql-init # 完事之後記得把文件刪除掉
然後使用yum安裝mysql就介紹這裏了。
二進製包安裝mysql
官方手冊:https://dev.mysql.com/doc/refman/5.7/en/binary-installation.html
下載地址:https://dev.mysql.com/downloads/mysql/
1. 準備工作
mv /etc/my.cnf /etc/my.cnf.bak
yum list libaio # 檢查是否安裝了libaio庫
yum –y install libaio # 沒有就安裝上
2. 開始安裝,按照官方手冊一步步來
groupadd mysql # 新增mysql用戶組
useradd -r -g mysql -s /bin/false mysql # 新增mysql用戶,-r:係統用戶,-g mysql:指定為mysql用戶組,-s /bin/false:不讓登錄
cd /usr/local/ #進入目錄
tar -zxf /usr/local/src/mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz # 解壓,注意你的目錄不一定和我的一樣
ln -s /usr/local/mysql-5.7.18-linux-glibc2.5-x86_64/ mysql # 創建硬鏈接
cd mysql # 進入mysql目錄
mkdir mysql-files # 創建mysql-files
chmod 750 mysql-files/ # 給mysql-files目錄加上權限
chown -R mysql . # 改變當前目錄下所有文件及目錄所有者為mysql
chgrp -R mysql . # 改變當前目錄下所有文件及目錄所屬組為mysql
bin/mysqld --initialize --user=mysql # 初始化數據庫,並初始化了密碼,請記住此密碼:x+Fg*JTgW4O_
bin/mysql_ssl_rsa_setup # 生成密匙
chown -R root . # 改變當前目錄下所有文件及目錄所有者為root
chown -R mysql data mysql-files # 改變data目錄和mysql-files目錄所有者為mysql
bin/mysqld_safe --user=mysql & # 使用mysqld_safe命令啟動mysql
cp support-files/mysql.server /etc/init.d/mysql.server # 複製mysql.server到/etc/init.d目錄下,以後一般都是用這個命令來啟動/停止mysql服務了
到此mysql就安裝完了,而且已經啟動了。接下來就可以使用剛才的初始密碼登錄:
bin/mysql -uroot –p # 如果還在當前目錄的話
或者
/usr/local/mysql/bin/mysql -uroot –p # 使用全路徑效果也完全一樣
如果不想每次都寫上全路徑,可以吧mysql移動到/usr/local/bin/目錄或者 echo $PATH的其中一個目錄下,以後就可以:
mysql –uroot -p
進入到mysql命令行操作時提示:
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
就是說明需要修改密碼,可以移步到上麵的修改密碼步驟裏修改密碼了。注意這裏沒有安裝validate_password插件,所以密碼多簡單都可以。
/etc/init.d/mysql.server [start|stop|restart|status] # mysql的啟動|停止|重啟|查看狀態操作
Mysql自啟動
https://dev.mysql.com/doc/mysql-linuxunix-excerpt/5.7/en/using-systemd.html
也就是將mysqld添加systemd,這部分以後再補充。
二進製包安裝mysql到此就介紹完了。
源碼安裝mysql
主要是使用cmake編譯安裝,這部分也在後麵補充。
這是我的第一篇博客,有任何問題都可以指正。thx.
最後更新:2017-10-10 13:33:06