mysql5.7 源碼安裝過程

1系統約定
安裝文件下載目錄:/data/software
Mysql目錄安裝位置:/usr/local/mysql
數據庫保存位置:/data/mysql
日誌保存位置:/data/log/mysql
mysql

 

第一步:下載mysql的二進制安裝包 用二進制安裝包的好處是能夠安裝多個mysql版本linux

在Linux終端使用wget命令下載網絡資源:  wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz(也可在windows中下載後傳輸到Linux)sql

 

第二步:解壓文件數據庫

把mysql安裝包下載到 /usr/local/ 下解壓windows

第三步: 建立一個軟鏈接安全

第四步:建立一個用戶和用戶組 由於mysql必須運行在mysql用戶和mysql用戶組下面 不能運行在root下網絡

第五步:修改mysql文件所屬的用戶和用戶組oracle

第六步:配置啓動文件ide

去到以前解壓後並更名爲mysql的目錄下會有如下文件性能

而後去到support-files目錄下

一、複製my.cnf 到 /etc/my.cnf (mysqld啓動時自動讀取)
cp my-default.cnf /etc/my.cnf

注意:若是你在安裝時Linux虛擬機時同時安裝了默認的mysql,此時操做以上步驟,終端將會提示你文件已存在是否覆蓋,輸入yes覆蓋便可。

第七步:初始化 mysql 的數據庫

首先去到mysql的bin目錄

1.初始化
./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

生成出一個data目錄,表明數據庫已經初始化成功
而且mysql的root用戶生成一個臨時密碼:SHNq8Qvd2g>L(最好先記錄這個臨時密碼)

2.給數據庫加密
./mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data

3.啓動mysql(爲了避免讓進程卡主,可在啓動mysql的命令後加上&表明此進程在後臺運行)
./mysqld_safe --user=mysql &

4.檢查ps -ef|grep mysql

發現有以上進程便表明啓動成功。

第八步:修改data目錄的用戶

第九步:複製mysql.server 到/etc/init.d/  目錄下

去到mysql下的support-files下

執行命令:cp mysql.server /etc/init.d/mysql.server (mysql是服務名)

則下次啓動mysql服務就不須要去到去到bin目錄經過./mysqld_safe --user=mysql &啓動了 而直接執行/etc/init.d/mysql.server start就能夠開啓進程

而後經過chkconfig --add mysql.server 讓mysql服務設置成開機自啓動

 二、修改 /etc/init.d/mysql.server 參數
vi /etc/init.d/mysql.server
給與2個目錄位置
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data

第十步:進入客戶端

1.登陸 ./mysql -uroot -p 複製粘貼以前的臨時密碼
2.修改密碼
set password=password('新密碼');

第十一步:設置遠程訪問

1,在遠程訪問以前需先配置防火牆  systemctl stop firewalld.service(不推薦,可配置開通3306端口)

2,受權

mysql>grant all privileges on *.* to 遠程訪問用戶名@'%' identified by '用戶密碼';
mysql>select host,user from user; 【多出1條遠程登陸用戶記錄】
mysql>flush privileges;(刷新)

此時使用遠程機器進行訪問

解析:使用mysql -h主機ip -u用戶名 -p密碼便可進行遠程訪問

第十二步:配置環境變量

爲了方便操做,配置環境變量仍是有必要的

vi /etc/profile

添加:
export PATH=/usr/local/mysql/bin:$PATH     使全局生效

小結:到這一步基本的配置基本就完成了。

補充:

--退出mysql命令窗口

#exit

 --查看mysql狀態

#service mysql status

--中止mysql

#service mysql stop

--啓動mysql

#service mysql start

 

總結——mysql5.6和mysql5.7版本的安裝區別

初始化方式不同 5.6用的是scripts這個文件 而5.7沒有




5.7初始化之後會生成一個臨時密碼 而5.6沒有 是由於出於安全性方面的考慮

5.6默認有一個test庫 這個庫在5.6版本以前一直存在   5.7把test庫去掉加了一個sys庫 也是爲了安全性方面的考慮  在text庫裏代碼是寫死的一點是 只要是test庫 全部的用戶都有權限 這個設計從數據庫的角度上來講的不合理的 而sys庫有點像oracle的性能視圖 和test庫沒有關係 


執行:grant allprivileges to *.* on xxx 出現如下錯誤


注意若是提示:ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

執行 set password=password('xxx')便可