CentOS6.5下源碼安裝MySQL5.6.35


上一篇文章使用RPM包安裝MySQL,確實很方便。但是安裝后卻不知道各文件保存在哪個文件夾下!嘗試使用源碼安裝~
本文主要參考:CentOS 6.4下編譯安裝MySQL 5.6.14
一、卸載舊版本

1、使用下面的命令檢查是否安裝有mysql
[root@localhost tools]# rpm -qa|grep -i mysql
2、有的話就卸載
[root@localhost tools]# yum remove MySQL-server-5.6.35-1.el6.i686
[root@localhost tools]# yum remove MySQL-devel-5.6.35-1.el6.i686
[root@localhost tools]# yum remove MySQL-client-5.6.35-1.el6.i686
[root@localhost tools]# yum remove mysql-utilities-1.6.5-1.el6.noarch
[root@localhost tools]# yum remove mysql-connector-python-2.1.5-1.el6.i686
3、刪除相關目錄
[root@localhost tools]# whereis mysql
[root@localhost tools]# rm -rf /usr/share/mysql 
[root@localhost tools]# rm -rf /var/lib/mysql
[root@localhost mysql]# mv /usr/lib/mysql /usr/lib/mysql.bak   #這個當時不確定是rmp包所創建,暫時改名

二、安裝MySQL

4、安裝編譯代碼需要的包
[root@localhost tools]# yum list|grep ncurses-devel
[root@localhost tools]# yum -y install make gcc-c++ cmake bison-devel ncurses-devel

5、下載MySQL 5.6.35
[root@localhost tools]# wget https://cdn.mysql.com//Downloads/MySQL-5.6/mysql-5.6.35.tar.gz
[root@localhost tools]# tar zxvf mysql-5.6.35.tar.gz
[root@localhost tools]# cd mysql-5.6.35
第一次下載錯了(mysql-5.6.35-linux-glibc2.5-i686.tar.gz),編譯時總是報錯
CMake Error: The source directory “*” does not appear to contain CMakeLists.txt.
要選擇的是 MySQL Community Server 下的 Source Code!!!

6、目錄創建(-p父目錄不存在則創建此目錄)
[root@localhost mysql-5.6.35]# mkdir -p /usr/local/mysql/data

7、編譯安裝
[root@localhost mysql-5.6.35]# 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=/usr/local/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
[root@localhost mysql-5.6.35]# make && make install
[root@localhost mysql-5.6.35]# make clean

三、配置MySQL

8、設置權限
查看是否有mysql用戶及用戶組
[root@localhost mysql-5.6.35]# cat /etc/passwd
[root@localhost mysql-5.6.35]# cat /etc/group
如果沒有就添加mysql用戶和組
[root@localhost mysql-5.6.35]# groupadd mysql
[root@localhost mysql-5.6.35]# useradd -g mysql mysql
修改/usr/local/mysql權限
[root@localhost mysql-5.6.35]# chown -R mysql:mysql /usr/local/mysql

9、初始化配置
進入安裝路徑
[root@localhost mysql-5.6.35]# cd /usr/local/mysql
執行初始化配置腳本,創建系統自帶的數據庫和表
[root@localhost mysql]# scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql

10、啟動MySQL
添加服務,拷貝服務腳本到init.d目錄
如果/etc目錄有之前存在的my.cnf文件,將其重命名。啟動MySQL服務時,會優先在/etc目錄下查找
[root@localhost mysql]# mv /etc/my.cnf /etc/my.cnf.bak
[root@localhost mysql]# cp support-files/mysql.server /etc/init.d/mysql
[root@localhost mysql]# chkconfig mysql on
[root@localhost mysql]# service mysql start  --啟動MySQL

11、配置用戶
設置PATH
[root@localhost mysql]# echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
[root@localhost mysql]# source /etc/profile
[root@localhost mysql]# echo $PATH
修改root密碼
[root@localhost mysql]# mysql -uroot
mysql> SET PASSWORD = PASSWORD('mysql5635');
設置mydba用戶可以遠程訪問
mysql> GRANT ALL PRIVILEGES ON *.* TO 'mydba'@'%' IDENTIFIED BY 'mysql5635' WITH GRANT OPTION;
防火牆設置可參考 http://www.cnblogs.com/ShanFish/p/6519950.html

12、補充
退出后重新在終端登錄
[root@localhost ~]# mysql -uroot -p
bash: mysql: command not found
使用完整的路徑可以登錄
[root@localhost ~]# /usr/local/mysql/bin/mysql -uroot -p
Enter password:
最后建立一個軟鏈接,其它常用命令mysqladmin、mysqldump等不可用時候都可按用此方法解決
[root@localhost ~]# ln -s /usr/local/mysql/bin/mysql /usr/bin

Add 2017-03-13 關於環境變量第一次使用的是臨時的

#直接運行export命令定義變量【只對當前shell有效(臨時的)】
[root@VMUest ~]# export PATH=/usr/local/mysql/bin:$PATH
[root@VMUest ~]# echo $PATH

它只對當前的shell有效,因此剛配置時可以使用mysql,退出登錄就不能使用。后來將export寫入到文件/etc/profile,就可以永久有效,當然也不需要軟鏈接啦

[root@VMUest ~]# ll /usr/bin |grep mysql
lrwxrwxrwx. 1 root root         26 Mar 10 16:23 mysql -> /usr/local/mysql/bin/mysql
[root@VMUest ~]# rm -f /usr/bin/mysql
[root@VMUest ~]# mysql -uroot -p
Enter password: 

然后就可以安心的玩MySQL啦~,我們可以導入示例數據,安裝MySQL Utilities等等~~~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM