介紹
軟件應用最重要的就是數據庫了,可是還有小伙伴不會在Linux上安裝MySQL數據庫,今天就來講講如何在CentOS7環境使用源碼進行安裝MySQL5.7.30。
選擇自己合適的版本號,選擇.tar.gz文件下載。
下載
下面使用mysql-boost5.7.30.tar.gz進行安裝,選擇源碼Source Code,選擇帶Boost的版本,點擊Download開始下載。
注:Mysql5.7版本更新后有很多變化,連編譯安裝都有變化,而MySQL5.7的安裝必須要boost庫,不過MySQL的官網源碼有帶boost庫的源碼和不帶boost庫的源碼兩種,因此有兩種安裝方式,其實都是一樣的,如果選擇不帶boost庫源碼的需要在安裝MySQL之前單獨安裝boost,並在編譯時指定boost的安裝目錄,選擇帶boost的版本,則不需要提前安裝boost,只需要在cmake編譯時帶上參數-DWITH_BOOST=boost即可。
安裝環境
安裝 libaio, libaio 包的作用是為了支持同步I/O,對於數據庫之類的系統特別重要。
yum install -y libaio
安裝 cmake,CMake是一個跨平台的安裝(編譯)工具。
yum install -y cmake
安裝依賴
yum install -y gcc-c++ bison-devel ncurses-devel bison perl perl-devel perl perl-devel
安裝
創建一個資源目錄把 MySQL 安裝包 上傳到這個目錄下
mkdir /usr/local/resource
解壓安裝包
tar -zxvf mysql-boost5.7.30.tar.gz
添加mysql組及用戶
groupadd mysql
useradd -r -g mysql mysql
若提示已存在說明已經添加好了
新建MySQL的安裝目錄
mkdir /usr/local/mysql
新建MySQL的數據存儲目錄
mkdir /usr/local/mysql/data
編譯安裝
進入解壓的目錄
cd /usr/local/resource/mysql-5.7.30
cmake編譯
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_BOOST=boost -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
這里再寫一份換行版方便查看參數,執行時選擇上面這行命令
cmake \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DMYSQL_DATADIR=/usr/local/mysql/data \ -DSYSCONFDIR=/etc \ -DWITH_BOOST=boost -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
make編譯,此處時間比較長,約半小時,耐心等待
make
make安裝
make install
設置權限
chown -R root /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql
chown -R mysql /usr/local/mysql/data
初始化MySQL
cd /usr/local/mysql/bin
./mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/ --initialize
初始化完成,並給root用戶生成了臨時密碼,這里要把密碼記錄下來,稍后需要
復制mysql服務啟動腳本
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
啟動MySQL服務
service mysqld start
登錄
cd /usr/local/mysql/bin
./mysql -u root -p
輸入剛剛的密碼
0pLszS33sD>w
登錄成功
修改MySQL用戶root的密碼為root
mysql> set password for root@localhost = password('root');
賦予權限並設置可以遠程訪問
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
刷新權限
mysql> FLUSH PRIVILEGES;
查看權限
mysql> select user,host from mysql.user;
輸入exit退出
遠程測試連接成功
至此,MySQL5.7.30已經安裝成功!
命令
啟動
service mysqld start
重啟
service mysqld restart
停止
service mysqld stop
推薦閱讀:CentOS7源碼安裝JDK
推薦閱讀:CentOS7源碼安裝Nginx
喜歡的話記得推薦並收藏哦~~~