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
- 設置編譯參數
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文件夾
如果重新編譯,需要清除舊的對象文件和緩存信息 ,進入到源碼目錄
make clean
rm -f CMakeCache.txt
三、配置MySQL
當安裝完成後,MySQL的所有者和所在組都是爲root,
要將mysql文件夾的所有者和所在組設置爲mysql用戶和mysql組
- 設置權限
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
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服務
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
source /etc/profile
刷新配置的環境變量
這樣就可以在全局都能進入mysql
mysql 設置遠程連接
mysql默認使用的3306端口,在CenOS6.5下默認開放的是22端口所以要開發3306端口
vim /etc/sysconfig/iptables
進入防火牆文件
添加許可3306(可以使用yy
複製一個許可,p
粘貼修改端口號就可以了)
端口添加成功後重啓防火牆service iptables restart
service iptables status
查看端口的狀態,可以看到3306的端口已經打開
- 修改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;