MYSQL 編譯安裝
準備工作
避免發生端口沖突,檢查是否安裝有mysql軟體
rpm -q mysql-server mysql
配置本地yum源
修改CentOS-Media.repo 檔案配置
enabled=1 //是否啟用軟體倉庫(1啟用,0不啟用)預設值為1,這項可忽略
gpgcheck=1 //是否驗證軟體包的簽名(1啟用,0不啟用)
gpgkey=file://etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 //指定公鑰檔案存放位置
建立目錄存放檔案
mkdir back
除CentOS-Media.repo 檔案 其他所有檔案移到back目錄下
建立挂載點
mkdir /media/cdrom
挂載鏡像
mount /dev/sr0 /media/cdrom
完成本地yum源安裝
我們可以進入挂載點 看
進入Packages 目錄 (屬于我們的一個本地倉庫) 就可以開始 使用rpm 下載下傳所需要的包了
下載下傳依賴包
// 屬于CD光牒自帶的
[[email protected] Packages]# rpm -ivh ncurses-devel-5.9-14.20130511.el7_4.x86_64.rpm
安裝cmake包
下載下傳所需工具 net-tools lrzsz
拉取cmake包 mysql需要cmake 編譯安裝
解壓camke 到/usr/src (個人習慣
執行
./configure
gmake && gmake install
注意:在編譯安裝後 需要去檢查 是否報錯 echo $? 為0 則未報錯 ,除0外 都為錯誤
源碼編譯及安裝
@1建立運作使用者
[[email protected] cmake-2.8.6]# groupadd mysql
[r[email protected] cmake-2.8.6]# useradd -M -s /sbin/nologin mysql -g mysql
拉取mysql 壓縮包
解壓檔案
[[email protected] ~]# tar zxf mysql-5.6.36.tar.gz -C /usr/src/
進入 mysql 檔案所在位置
配置 (注意 -前的空格) 在編譯過程中可能會出現報錯 沒有make 則需要下載下傳gcc 檔案
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci-DWITH_EXTRA_CHARSETS=all
echo $?
make && make install
對資料庫進行權限設定
[[email protected] ~]# chown -R mysql:mysql /usr/local/mysql/
建立配置檔案 /usr/local/mysql/support-files 中提供了不同負載資料庫的樣本配置檔案
[[email protected] support-files]# cp my-default.cnf /etc/my.cnf
(可以選擇直接覆寫檔案,也可以提前删除/etc/my.cnf檔案
初始化資料庫
[[email protected] scripts]# ./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/
設定環境變量
[[email protected] scripts]# echo “PATH=$PATH:/usr/local/mysql/bin” >> /etc/profile
[[email protected] scripts]# . /etc/profile
添加系統服務
将mysql添加為系統服務,以便chkconfig進行管理,可以直接使用源碼包中的mysql.server腳本檔案 複制到 /etc/rc.d/init.d/mysqld目錄下。并改名為mysqld
[[email protected] support-files]# cp mysql.server /etc/rc.d/init.d/mysqld
設定權限
[[email protected] support-files]# chmod +x /etc/rc.d/init.d/mysqld
執行chkconfig指令将其添加為mysqld系統服務
[[email protected] support-files]# chkconfig --add mysqld
[email protected] httpd-2.4.38]# chkconfig --list | grep mysqld
注:該輸出結果隻顯示 SysV 服務,并不包含
原生 systemd 服務。SysV 配置資料
可能被原生 systemd 配置覆寫。
要列出 systemd 服務,請執行 ‘systemctl list-unit-files’。
檢視在具體 target 啟用的服務請執行
‘systemctl list-dependencies [target]’。
mysqld 0:關 1:關 2:開 3:開 4:開 5:開 6:關
啟動mysql服務後 檢視端口 是否開啟 預設3306
檢視端口3306
[email protected] httpd-2.4.38]# netstat -antp | grep mysqld
tcp6 0 0 :::3306 ::😗 LISTEN 36944/mysqld
登入mysql資料庫
經過初始化後 管理者為root 但密碼為空
設定密碼
[[email protected] ~]# mysql_secure_installation
完成安裝
密碼修改 也可以使用 mysql -uroot password '*******'格式