安裝MySQL yum源安裝與手工編譯安裝【內附5.7版本官網下載路徑和5.7版本源碼包】

Centos 7——安裝MySQL #兩種安裝,兩種密碼設定,以及 遠程鏈接(新手詳解)



------------------MySQL數據庫概述---------------------前端

什麼是數據庫?

數據庫(Database)是按照數據結構來組織、存儲和管理數據的倉庫,mysql

每一個數據庫都有一個或多個不一樣的API用於建立,訪問,管理,搜索和複製所保存的數據。sql

咱們也能夠將數據存儲在文件中,可是在文件中讀寫數據速度相對較慢。數據庫

因此,如今咱們使用關係型數據庫管理系統(RDBMS)來存儲和管理的大數據量。所謂的關係型數據庫,是創建在關係模型基礎上的數據庫,藉助於集合代數等數學概念和方法來處理數據庫中的數據。編程

RDBMS即關係數據庫管理系統(Relational Database Management System)的特色:windows

  • 1.數據以表格的形式出現服務器

  • 2.每行爲各類記錄名稱網絡

  • 3.每列爲記錄名稱所對應的數據域數據結構

  • 4.許多的行和列組成一張表單socket

  • 5.若干的表單組成database


MySQL數據庫

MySQL 是一個關係型數據庫管理系統,由瑞典 MySQL AB 公司開發,目前屬於 Oracle 公司。MySQL 是一種關聯數據庫管理系統,關聯數據庫將數據保存在不一樣的表中,而不是將全部數據放在一個大倉庫內,這樣就增長了速度並提升了靈活性。

  • MySQL 是開源的,因此你不須要支付額外的費用。

  • MySQL 支持大型的數據庫。能夠處理擁有上千萬條記錄的大型數據庫。

  • MySQL 使用標準的SQL數據語言形式。

  • MySQL 能夠運行於多個系統上,而且支持多種語言。這些編程語言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。

  • MySQL 對PHP有很好的支持,PHP是目前最流行的Web開發語言。

  • MySQL 支持大型數據庫,支持5000萬條記錄的數據倉庫,32位系統表文件最大可支持4GB,64位系統支持最大的表文件爲8TB。

  • MySQL 是能夠定製的,採用了GPL協議,你能夠修改源碼來開發本身的 MySQL 系統。



------------------準備工做-------------------

第一種手工編譯安裝: 5.7版本源碼包

百度網盤:連接:https://pan.baidu.com/s/1YusglC6yp-6tJ3vtGdvhww 密碼:wwtc


Windows系統MySQL安裝包:

百度網盤:連接:https://pan.baidu.com/s/1uAODxBNYk0hwTPqwyeKCfg 密碼:scqp


第二種 yum源安裝:

在CentOS中默認安裝有MariaDB,這個是MySQL的分支,但爲了須要,仍是要在系統中安裝MySQL,並且安裝完成以後能夠直接覆蓋掉MariaDB。

(因爲yum源上沒有mysql-server。因此必須去官網下載,這裏 咱們用wget命令,直接獲取)wget -i -c
http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm


----------------MySQL手工編譯安裝-------------------

1.下載安裝環境包

yum -y install \
ncurses \
ncurses-devel \
bison \
cmake


2.建立mysql用戶

useradd -s /sbin/nologin  mysql


3.建立掛載點,進行掛載。

mkdir /abc
mount.cifs //172.16.10.100:/mysql /abc

PS:由於是虛擬機實驗環境,掛載宿主機共享文件請參考https://blog.51cto.com/13767783/2155747


4查看下是否掛載成功,裏面的壓縮包

[root@localhost /]# cd /abc/mysql
[root@localhost mysql]# ls
boost_1_59_0.tar.gz  mysql-5.7.17.tar.gz  mysql-boost-5.7.20.tar.gz


 

5.解壓縮文件

tar zxvf mysql-5.7.17.tar.gz -C /opt/
tar zxvf boost_1_59_0.tar.gz -C /usr/local/

cd /usr/local/
mv boost_1_59_0 boost


6.到mysql-5.7.17文件中,進行cmake

cd /opt/mysql-5.7.17/


cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8  \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=/usr/local/boost \
-DWITH_SYSTEMD=1


------注意:若是在CMAKE的過程當中有報錯,當報錯解決後,須要把源碼目錄中的CMakeCache.txt文件刪除,而後再從新CMAKE,不然錯誤依舊------------



7.編譯安裝

make && make install 



8.更改mysql的屬主屬組爲mysql,便於管理執行

cd /usr/local/
chown -R mysql.mysql /usr/local/mysql/

1


9.修改mysql配置文件

vi /etc/my.cnf

2

詳解:

[client]                                         #客戶端區域
port = 3306                                  #端口號
default-character-set=utf8                   #字符集
socket = /usr/local/mysql/mysql.sock        #鏈接路徑

[mysql]                                      #服務器區域
port = 3306                            #端口號
default-character-set=utf8        #字符集
socket = /usr/local/mysql/mysql.sock       #鏈接路徑



#刪除[mysqld]區域的所有配置內容,替換爲下面

3

詳解:

[mysqld]                                                          #mysqld區域配置
user = mysql                                                    #用戶爲mysql
basedir = /usr/local/mysql                            #mysql服務的目錄
datadir = /usr/local/mysql/data                 #數據的目錄
port = 3306                                                       #端口
character_set_server=utf8                               #字符集
pid-file = /usr/local/mysql/mysqld.pid               #進程文件
socket = /usr/local/mysql/mysql.sock          #鏈接3306端口的套接口文件
server-id = 1                                                        #服務器標識號


#插入sql模式內容

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES

4

修改完成後保存退出 。


10.修改mysql配置文件的屬主屬組

chown mysql:mysql /etc/my.cnf

5


11.追加環境變量文件

echo 'PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile
echo 'export PATH' >> /etc/profile

6

使系統環境變量生效

source /etc/profile

7


12.初始化數據庫操做
cd /usr/local/mysql/


#5.7版本典型的初始化,生成一個空的密碼,下面是指定用戶,指定文件路徑,指定數據文件路徑。

bin/mysqld \
--initialize-insecure \    
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data



13.使mysql.service可以被系統所識別和管理

cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/

9

開啓服務,刷新使系統可以識別

systemctl daemon-reload
systemctl start mysqld


14.

systemctl enable mysqld    #開機自啓動

netstat -anpt | grep 3306   #查看服務端口是否開啓

10


15.給root用戶設置密碼abc123

mysqladmin -u root -p password "abc123"       #給root帳號設置密碼爲abc123提示輸入的是原始密碼。

#由於以前初始化時設置的是空密碼,直接回車就好,下面的Warning是由於密碼過於簡單,由於是實驗,因此不要緊。

11


16登陸mysql

mysql -u root –p

12

安裝成功,登錄成功。


------------------------受權遠程登陸----------------------

在MySQL服務器中輸入命令:

grant all privileges on *.* to 'root'@'%' identified by 'abc123' with grant option;

#提高權限做用在第一個   * (表示是全部數據庫) 第二個 * (表示是全部表)root(帳戶) @(表明的是分割符)% (表明全部IP,網絡終端)identified by「abc123」(賦予的密碼)


在客戶端Windows系統:

首先須要安裝mysql

PS:
若是想要使得Windows系統中CMD命令字符界面識別mysql命令操做的話
步驟以下,複製mysql文件的bin文件路徑,複製到個人電腦屬性高級設置的系統環境變量中,找到PATH ,打開後,在path路徑的最前端複製加入以前mysql文件的bin文件路徑,路徑後面,% 分割號前面加英文輸入法格式下的 ;  ,點擊完成便可在cmd中操做mysql。


windows系統遠程鏈接:mysql -h 【mysql數據庫服務器的地址】-u root –p            #遠程登陸mysql數據庫 服務器

便可在Windows遠程鏈接



 -----------------MySQL  yum源安裝方法---------------------

在CentOS中默認安裝有MariaDB,這個是MySQL的分支,但爲了須要,仍是要在系統中安裝MySQL,並且安裝完成以後能夠直接覆蓋掉MariaDB。

一、安裝mysql

(因爲yum源上沒有mysql-server。因此必須去官網下載,這裏 咱們用wget命令,直接獲取)wget -i -c
http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

二、安裝mysql的依賴包

yum -y install mysql57-community-release-el7-10.noarch.rpm
如何在Centos7下安裝MySQL5.7

三、安裝mysql數據庫

yum -y install mysql-community-server
如何在Centos7下安裝MySQL5.7
如何在Centos7下安裝MySQL5.7

四、完成安裝,重啓mysql

systemctl restart mysqld
如何在Centos7下安裝MySQL5.7
此時MySQL已經開始正常運行,不過要想進入MySQL還得先找出此時root用戶的密碼,經過以下命令能夠在日誌文件中找出密碼:
grep "password" /var/log/mysqld.log
如何在Centos7下安裝MySQL5.7

五、複製粘貼上邊的密碼進入數據庫

mysql -uroot -p
如何在Centos7下安裝MySQL5.7
輸入初始密碼,此時不能作任何事情,由於MySQL默認必須修改密碼以後才能操做數據庫修改密碼命令:
ALTER USER 'root'@'localhost' IDENTIFIED BY '123';
如何在Centos7下安裝MySQL5.7

六、解決報錯

以上報錯是說新設置的密碼過於簡單,解決方式:
//首先按照默認密碼格式複雜度更改
如何在Centos7下安裝MySQL5.7

七、查看MySQL完整的初始密碼規則

查看MySQL完整的初始密碼規則,查看的前提是必須先用ALTER USER命令更改過密碼(SHOW VARIABLES LIKE 'validate_password%';),
如何在Centos7下安裝MySQL5.7
如何在Centos7下安裝MySQL5.7
如何在Centos7下安裝MySQL5.7
注:密碼的長度是由validate_password_length決定的,而validate_password_length的計算公式是:validate_password_length = validate_password_number_count + validate_password_special_char_count + (2 * validate_password_mixed_case_count)

八、修改MySQL默認策略和密碼長度

1)修改密碼策
由於當前的密碼太複雜不方便後期作實驗,因此使用命令修改密碼策略兩種方式:
mysql> set global validate_password_policy=0;
如何在Centos7下安裝MySQL5.7
mysql> set global validate_password_policy=LOW;
如何在Centos7下安裝MySQL5.7
注:密碼策略分四種
一、OFF(關閉) 二、LOW(低) 三、MEDIUM(中) 四、STRONG(強)

2)修改密碼長度
上邊改完策略以後咱們在改長度 mysql> SET GLOBAL validate_password_length=4;
如何在Centos7下安裝MySQL5.7

九、查看密碼規則

都改完以後查看密碼規則mysql> SHOW VARIABLES LIKE 'validate_password%';
如何在Centos7下安裝MySQL5.7

十、改成簡單密碼

接下來就能夠將剛纔的複雜密碼改成簡單的四位的密碼了;
如何在Centos7下安裝MySQL5.7

十一、卸載安裝源自動更新

此時還有一個問題,就是由於安裝了Yum Repository,之後每次yum操做都會自動更新,由於當前數據庫已安裝完成,因此把這個卸載掉:
yum remove mysql57-community-release.noarch
如何在Centos7下安裝MySQL5.7

十二、初始化數據庫

mysql_secure_installation
如何在Centos7下安裝MySQL5.7
如何在Centos7下安裝MySQL5.7
如何在Centos7下安裝MySQL5.7注:執行完初始化命令後須要輸入數據庫root用戶密碼,而後默認如上截圖一路回車便可。(以上截圖問題也可根據本身實際狀況進行選擇)

相關文章
相關標籤/搜索