安裝前,先確保本地的mysql已經被卸載:
rpm -e mysql //普通刪除模式 rpm -e --nodeps mysql // 不解決依賴
安裝mysql:
安裝編譯代碼需要的包:
yum -y install make gcc-c++ cmake bison-devel ncurses-devel
下載解壓mysql:
tar xvf mysql-5.6.35.tar.gz
cd mysql-5.6.35
編譯安裝:
cmake \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ //安裝的目錄 -DMYSQL_DATADIR=/usr/local/mysql/data \ //數據存放目錄 -DSYSCONFDIR=/etc \ //配置文件目錄 -DWITH_MYISAM_STORAGE_ENGINE=1 \ //支持myisam存儲引擎 -DWITH_INNOBASE_STORAGE_ENGINE=1 \ //支持innodb存儲引擎 -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
配置mysql:
groupadd mysql useradd -g mysql mysql
修改/usr/local/mysql權限
chown -R mysql:mysql /usr/local/mysql
初始化mysql配置
cd /usr/local/mysql scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql mv /etc/my.cnf{,.bak}
注:在啓動MySQL服務時,會按照一定次序搜索my.cnf,先在/etc目錄下找,找不到則會搜索"$basedir/my.cnf",在本例中就是 /usr/local/mysql/my.cnf,這是新版MySQL的配置文件的默認位置!
注意:在CentOS 6.8版操作系統的最小安裝完成後,在/etc目錄下會存在一個my.cnf,需要將此文件更名爲其他的名字,如:/etc/my.cnf.bak,否則,該文件會干擾源碼安裝的MySQL的正確配置,造成無法啓動。
在使用"yum update"更新系統後,需要檢查下/etc目錄下是否會多出一個my.cnf,如果多出,將它重命名成別的。否則,MySQL將使用這個配置文件啓動,可能造成無法正常啓動等問題。
啓動mysql:
添加服務腳本到init.d目錄下,並設置開機啓動
cp support-files/mysql.server /etc/init.d/mysql chkconfig mysql on
新建mysql的sock目錄,並啓動
mkdir /var/lib/mysql chown -R mysql.mysql /var/lib/mysql service mysql start --啓動MySQL
設置PATH,要不不能直接調用mysql,修改/etc/profile.d/mysql.sh文件,在文件末尾添加
export PATH=/usr/local/mysql/bin:$PATH . /etc/profile.d/mysql.sh
修改root密碼:
mysql -uroot mysql> SET PASSWORD = PASSWORD('123456');
設置root用戶可以遠程訪問:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.%' IDENTIFIED BY 'password' WITH GRANT OPTION;
紅色的password爲遠程訪問時,root用戶的密碼,可以和本地不同。
至此,mysql編譯安裝完畢