接上一篇文章使用RPM包安裝MySQL,確實很方便。可是安裝後殊不知道各文件保存在哪一個文件夾下!嘗試使用源碼安裝~
本文主要參考:CentOS 6.4下編譯安裝MySQL 5.6.14
1、卸載舊版本html
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包所建立,暫時更名
2、安裝MySQLpython
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
3、配置MySQLmysql
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 關於環境變量第一次使用的是臨時的linux
#直接運行export命令定義變量【只對當前shell有效(臨時的)】 [root@VMUest ~]# export PATH=/usr/local/mysql/bin:$PATH [root@VMUest ~]# echo $PATH
它只對當前的shell有效,所以剛配置時能夠使用mysql,退出登陸就不能使用。後來將export寫入到文件/etc/profile,就能夠永久有效,固然也不須要軟連接啦c++
[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等等~~~sql