Liunx CentOS 6.5下編譯安裝MySQL 5.6

Liunx CentOS 6.5下編譯安裝MySQL 5.6.14

標籤(空格分隔): linux


從MySQL5.5開始,mysql的源碼安裝開始使用cmake代替./configure了。所以先檢查下列包是否有裝好,沒有的話可通過yum install cmake bison ncurses-devel

一、卸載舊版版本的mysql

rpm -qa|grep mysql 查看是否安裝有MySQL Server

若查詢到的是

mysql-libs-5.1.73-7.el6.x86_64

rpm -e mysql_libs //普通刪除模式

rpm -e --nodeps mysql_libs // 強力刪除模式,如果使用上面命令刪除時,提示有依賴的其它文件,則用該命令可以對其進行強力刪除

二、安裝MySQL

  • 安裝編譯代碼需要的包
    yum -y install make gcc-c++ cmake bison-devel ncurses-devel
    下載mysql源碼包

wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.43.tar.gz
官網下載地址:https://dev.mysql.com/downloads/mysql/5.6.html#downloads

解壓源碼包
tar xvf mysql-5.6.14.tar.gz

進入解壓後的源碼包
cd mysql-5.6.14

image_1ci4vmgs792d1q18cq30bbpbp.png-60.4kB

  • 設置編譯參數

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci

  • 執行編譯並安裝
    make && make install

在執行編譯和安裝時特別的浪費時間,預計時間最少要15分鐘,在安裝完成後,會在/usr/local生成mysql文件夾
image_1ci50ri9a1igo1nbj5rhdbq18qc16.png-38.5kB

如果重新編譯,需要清除舊的對象文件和緩存信息 ,進入到源碼目錄
make clean
rm -f CMakeCache.txt

三、配置MySQL

  當安裝完成後,MySQL的所有者和所在組都是爲root,
要將mysql文件夾的所有者和所在組設置爲mysql用戶和mysql組
image_1ci511h1v1qfr1aj01dcv1cph15o41j.png-66kB

  • 設置權限

cat /ect/passwd 查看用戶

cat /etc/group 查看用戶組列表

如果沒有就創建mysql用戶和組

groupadd mysql 添加mysql組
useradd -g mysql mysql 添加mysql用戶

修改/usr/local/mysql權限

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

第一個mysql:將所有者 ,改爲mysql
第二個mysql: 將所有組,改爲mysql

image_1ci51il8qm7v4sa101l1o4j6ms20.png-9.1kB

cd /usr/local/mysql 切換到mysql文件加下

初始化配置,進入安裝路徑(在執行下面的指令),執行初始化配置腳本,創建系統自帶的數據庫和表

scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql

  當CentOS6.x版本操作系統安裝完成後,在/etc目錄下回存在一個my.cnf文件需要將此文件更名爲其他名字,如:/etc/my.cng.bak,否則該文件會干擾源碼安裝的MySQL的正確配置,造成無法啓動。

mv /etc/my.cnf /etc/my.cnf.bak

  在啓動MySQL服務時,會按照my.cnf,先在etc目錄下,找不到則會搜索"$basedir/my.cnf"就是/usr/mysql/my.cnf 這是最MySQL5.5開始後的配置文件的默認位置。

添加服務,拷貝服務腳本到init.d目錄,並設置開機啓動(要在/usr/local/mysql下執行)

cp support-files/mysql.server /etc/init.d/mysql

chkconfig mysql on 設置mysql自動啓動,不管在哪個級別上

service mysql start 啓動mysql服務
image_1ci64t9uqltknjovthngb13eq3p.png-20.4kB

service mysql stop 停止mysql服務

  • 修改root密碼

cd /usr/local/mysql/bin 進入mysql/bin目錄

./mysql -uroot使用root賬戶

SET PASSWORD = PASSWORD('root'); 設置mysql密碼爲root

quit; 退出mysql

  • 設置環境變量

vim /etc/profile 進入環境設置文件

在PATH= 添加mysql/bin的路徑,這樣就可以在全局訪問MySQL
image_1ci66vhd01d55e3q64dah01o4046.png-27.4kB

source /etc/profile 刷新配置的環境變量

這樣就可以在全局都能進入mysql
image_1ci676f3rualquc10bmi6a19ja19.png-25.4kB

mysql 設置遠程連接

  mysql默認使用的3306端口,在CenOS6.5下默認開放的是22端口所以要開發3306端口

vim /etc/sysconfig/iptables 進入防火牆文件

添加許可3306(可以使用yy複製一個許可,p粘貼修改端口號就可以了)
image_1ci681spge5114to1m535or12pk2p.png-63.8kB

端口添加成功後重啓防火牆service iptables restart

image_1ci686vnjn7s1snm2dmcoceek36.png-29.5kB

service iptables status 查看端口的狀態,可以看到3306的端口已經打開

image_1ci68ed7p1o1m13br1s7meodtieaj.png-47.9kB

  • 修改mysql允許任何用戶使用root/root連接

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;

設置其他連接權限的可以參考:
https://blog.csdn.net/zx6571269/article/details/81001821

打開數據庫工具輸入地址和密碼後連接

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;

flush privileges;

image_1ci6f3g5k8s3c8n1cglk471d80cd.png-44.4kB

image_1ci6ivuh818691046k1t14fv1kgidq.png-32.3kB

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章