1,從官方網址下載MySQL5.7.19源碼包
2,安裝好CentOS6.7 64位操作系統。
3. 預先安裝依賴軟件包:yum -y install gcc gcc-c++ autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel* make cmake libaio libaio-devel autoconf bzr bison libtool //相關依賴包
4
1 查看是否安裝過mysql
rpm -qa | grep mysql
如果安裝了,那就停止MySQL服務并且將其卸載
service mysqld stop
如果是rpm包安裝的就用rpm -e 卸載,如果yum安裝就用yum -y remove卸載。并且刪除安裝目錄等
正式安裝MySQL
2 添加MySQL用戶和所屬組(要先查看是否已經存在mysql用戶和組)
cat /etc/passwd | grep mysql //查看是否已存在mysql用戶
cat /etc/group | grep mysql //查看是否已存在mysql組
groupadd mysql //如果先執行下面的命令會提示沒有mysql這個組
useradd -r -g mysql mysql
3 創建mysql安裝目錄和數據目錄
cd /home
mkdir mysql //創建目錄作為MySQL5.7.19安裝路徑
mkdir data //創建目錄作為MySQL5.7.19數據路徑
4、 修改MySQL目錄所有者
chown -R mysql:mysql /home/mysql
5 解壓源碼包
把兩個包放到/home目錄下
tar -zxvf mysql-5.7.11.tar.gz
tar –zxvf boost_1_59_0.tar.gz boost會自動解壓到mysql目錄
編譯安裝
cmake \
-DCMAKE_INSTALL_PREFIX=/home/mysql \
-DMYSQL_DATADIR=/home/data/ \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_BOOST=./boost/
make
make install
再次確認,返回 0 說明安裝成功沒有問題
echo $?
切換到安裝目錄:
cd /home/mysql/bin
初始化數據庫:
./mysqld --initialize --user=mysql --datadir=/home/data/ --basedir=/home/mysql --socket=/tmp/mysql.sock
版本初始化以后會給root用戶一個初始密碼
添加MySQL服務,拷貝mysql配置文件
cd /home/mysql/support-files/
cp -a mysql.server /etc/init.d/mysql
// 添加下面的,這里為了簡潔,省去其他的,都是按照默認的
[root@Allen support-files]# vim /etc/my.cnf
[mysqld]
port=3306
basedir=/home/mysql
datadir=/home/data
socket=/tmp/mysql.sock
user=mysql
6、 重啟MySQL、并設置開機自啟
[root@Allen support-files]# service mysql start
Starting MySQL. SUCCESS!
[root@Allen support-files]#chkconfig mysql on //設置開機自啟,要養成一個好習慣
注意:親測mysql5.7.17 設置服務啟動是mysql 而不是mysqld,上面沒有打錯。可能是因為版本的原因。本人一開始就是編譯mysql5.7.17的。
[root@Allen support-files]# ps -ef //查看是啟動
7、 登錄MySQL
[root@Allen ~]#cd /home/mysql/bin
[root@Allen bin]# ./mysql -uroot –p
mysql> SET PASSWORD = PASSWORD('qwe12345');
mysql 新設置用戶或更改密碼后需用flush privileges刷新MySQL的系統權限相關表,否則會出現拒絕訪問,還有一種方法,就是重新啟動mysql服務器,來使新設置生效
mysql> flush privileges;
mysql> quit;
允許mysql遠程訪問
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
http://www.oracle.com/technetwork/java/javase/downloads/index.html
浙公網安備 33010602011771號