linux系統下源碼安裝mysql5.6數據庫
下載mysql數據庫相關軟件包(百度雲盤:http://pan.baidu.com/s/1bnL31c7)
從mysql 5.5版本開始,mysql源碼安裝開始使用cmake了
下載cmake(mysql軟件編譯工具) https://cmake.org/files/
下載ncurses(mysql軟件依賴包) http://ftp.gnu.org/gnu/ncurses/
下載bison(mysql軟件依賴包) http://ftp.gnu.org/gnu/bison
安裝mysql依賴包
安裝cmake
[root@localhost mysql]# tar -zxvf cmake-3.4.1.tar.gz
[root@localhost cmake-3.4.1]# ./configure
[root@localhost cmake-3.4.1]# make ; make install
安裝bison
[root@localhost mysql]# tar -zxvf bison-3.0.tar.gz
[root@localhost bison-3.0]# ./configure
[root@localhost bison-3.0]# make ; make install
安裝ncurses
[root@localhost mysql]# tar -zxvf ncurses-6.0.tar.gz
[root@localhost ncurses-6.0]# ./configure
[root@localhost ncurses-6.0]# make ; make install
安裝mysql數據庫
解壓mysql
[root@localhost soft]# tar -zxvf mysql-5.5.45.tar.gz
安裝mysql
[root@localhost mysql-5.5.46]# 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
編譯mysql
[root@localhost mysql-5.5.46]#make ; make install
msyql安裝詳細說明
# -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ #安裝路徑
# -DMYSQL_DATADIR=/usr/local/mysql/data \ #數據文件存放位置
# -DSYSCONFDIR=/etc \ #my.cnf路徑
# -DWITH_MYISAM_STORAGE_ENGINE=1 \ #支持MyIASM引擎
# -DWITH_INNOBASE_STORAGE_ENGINE=1 \ #支持InnoDB引擎
# -DWITH_MEMORY_STORAGE_ENGINE=1 \ #支持Memory引擎
# -DWITH_READLINE=1 \ #快捷鍵功能(我沒用過)
# -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \ #連接數據庫socket路徑
# -DMYSQL_TCP_PORT=3306 \ #端口
# -DENABLED_LOCAL_INFILE=1 \ #允許從本地導入數據
# -DWITH_PARTITION_STORAGE_ENGINE=1 \ #安裝支持數據庫分區
# -DEXTRA_CHARSETS=all \ #安裝所有的字符集
# -DDEFAULT_CHARSET=utf8 \ #默認字符
# -DDEFAULT_COLLATION=utf8_general_ci \ #校驗字符
創建用戶及用戶組
[root@end mysql]# groupadd mysql 創建mysql組
[root@end mysql]# useradd -r -g mysql mysql 創建mysql用戶並添加到mysql組
修改目錄所有者和所有組
[root@end mysql]# chown -R mysql:mysql . 將mysql目錄下的所有文件的所有者和所有組改爲msyql
初始化數據庫
[root@end mysql]# scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data/
複製mysql服務啓動配置文件(注意:在CentOS 6.4版操作系統的最小安裝完成後,在/etc目錄下會存在一個my.cnf,需要將此文件更名爲其他的名字,如:/etc/my.cnf.bak,否則,該文件會干擾源碼安裝的MySQL的正確配置,造成無法啓動)
[root@end mysql]# cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf
註冊爲服務
將mysqld添加爲服務
[root@end mysql]# cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
讓chkconfig管理mysql服務
[root@end mysql]# chkconfig --add mysqld 將mysqld服務添加到chkconfig中
[root@end mysql]# chkconfig mysqld on 重啓系統後服務自動運行
設置環境變量
在文件/etc/profile末尾添加PATH=/usr/local/mysql/bin:$PATH
[root@end mysql]# source /etc/profile 使修改的環境變量立即生效
啓動mysql服務
[root@end mysql]# service mysqld start
Starting MySQL... [確定]
檢查mysql服務是否啓動
[root@end mysql]# netstat -tulnp |grep 3306
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 24351/mysqld
修改mysql用戶root密碼
[root@end mysql]# mysql -uroot 登錄到mysql,首次登陸無密碼
mysql> SET PASSWORD = PASSWORD('endmoon');
設置mysql密碼Query OK, 0 rows affected (0.00 sec)
用設置的密碼登錄到mysql數據庫
[root@end mysql]# mysql -u root -p
Enter password: endmoon
若要設置root用戶可以遠程訪問,執行
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.20' IDENTIFIED BY 'password' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)
配置防火牆
防火牆的3306端口默認沒有開啓,若要遠程訪問,需要開啓這個端口
打開/etc/sysconfig/iptables,在-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT後面添加:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
使更改的防火牆配置生效
[root@end mysql]# service iptables restart
iptables:將鏈設置爲政策 ACCEPT:filter [確定]
iptables:清除防火牆規則: [確定]
iptables:正在卸載模塊: [確定]
iptables:應用防火牆規則: [確定]
至此mysql數據庫的源碼安裝到這裏就結束了