閱讀35 返回首頁    go 阿裏雲 go 技術社區[雲棲]


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默認安裝的包,

ca07d7d5026a33bf319e63368d6ef51eacb2f5c6

可以看到默認是安裝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就是yesN就是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/

f89be007fecb3d4d4375d381d507d501f4bfc277

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服務了

6188471f5b7bda2d5a0318f6e8d136dff7c7de67

到此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

  上一篇:go  基於雲計算的網絡威脅管理分析
  下一篇:go  數據蔣堂 | 還原分組運算的本意