1. 程式人生 > >Centos7編輯安裝mysql(mysql-5.7)

Centos7編輯安裝mysql(mysql-5.7)

否則 時間 一個 err 設置密碼 ant 存儲 17. 軟件包

數據庫的必要性:使用數據庫可以高效且條例分明的存儲數據,使人們能夠更加迅速、方便管理數據。

數據庫的3個特點:

  • 可以結構化存儲大量的數據信息,方便用戶進行有效的檢索和訪問。
  • 可以有效的保持數據信息的一致性,完整性,降低數據冗余。
  • 可以滿足應用的共享和安全方面的要求。

實驗環境

  • Centos7系統
  • ip地址192.168.92.128
  • 需要的軟件包

實驗部署

1.安裝環境包

yum install gcc gcc-c++ ncurses ncurses-devel bison cmake make -y

2.MySQL5.7在安裝時需要boost庫,解壓安裝我開頭提供的2個壓縮包mysql-5.7.17.tar.gz和boost_1_59_0.tar.gz

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  

3.創建mysql用戶

useradd -M -s /sbin/nologin mysql  #創建用戶mysql,不創建家目錄,不允許登陸系統

4.配置文件

cd /opt/mysql-5.7.17     #進入該目錄下
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \   #指定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 \          #指定boost庫的位置,mysql5.7必須添加該參數
-DWITH_SYSTEMD=1          #使系統支持mysql數據庫
註意:如果在CMAKE的過程中有報錯,當報錯解決後,需要把源碼目錄中的CMakeCache.txt文件刪除,然後再重新CMAKE,否則錯誤依舊

5.編譯安裝,需要的時間較長,如果虛擬機做的實驗可以把處理器調高。

make && make install

6.修改數據庫的屬主屬組。

chown -R mysql:mysql /usr/local/mysql/

7.修改配置文件,添加以下文件

vim /etc/my.cnf
[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]
user = mysql
basedir = /usr/local/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
server-id = 1
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
chown mysql:mysql /etc/my.cnf

8.修改配置文件的權限


chown mysql:mysql /etc/my.cnf

9.設置環境變量

echo ‘PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH‘ >> /etc/profile
echo ‘export PATH‘ >> /etc/profile
source /etc/profile         #使寫入生效

10.初始化數據庫

cd /usr/local/mysql/
bin/mysqld --initialize-insecure \    #生成初始化密碼(mysql5.7),實際上生成空密碼
--user=mysql \       #指定管理用戶
--basedir=/usr/local/mysql \           #指定工作目錄
--datadir=/usr/local/mysql/data         #指定數據庫文件目錄

11.添加系統服務

cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/    
systemctl daemon-reload      #重啟daemon服務
systemctl start mysqld            #啟動mysql服務
netstat -anpt | grep 3306         #查看端口
systemctl enable mysqld        #開機自啟動

12.修改數據庫密碼

mysqladmin -u root -p password "abc123"     #-u指定root賬號設置密碼為abc123

登陸Mysql數據庫

13.使用密碼登陸

mysql -u root -p

輸入密碼abc123

此時你的Mysql數據庫就安裝完畢了。

14.如果要遠程登陸的話

grant all privileges on *.* to ‘root‘@‘%‘ identified by ‘abc123‘ with grant option;       #/第一個“*”代表所有數據庫,第二“*”代表所有表,賦予root權限 “%”代表所有服務器終端,可設為IP地址 密碼為“abc123”

15.關閉防火墻

systemctl stop firewalld.service
setenforce 0

此時你就可以遠程登陸(navicat終端軟件)Mysql數據庫了

Centos7編輯安裝mysql(mysql-5.7)