CentOS7 实战源码安装mysql5.7.17数据库服务器
CentOS7 實(shí)戰(zhàn)源碼安裝mysql5.7.17數(shù)據(jù)庫(kù)服務(wù)器
簡(jiǎn)介:實(shí)戰(zhàn)演練mysql數(shù)據(jù)庫(kù)服務(wù)器的搭建
mysql簡(jiǎn)介:
mysql是一個(gè)開(kāi)源的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),現(xiàn)在是oracle公司旗下的一款產(chǎn)品,由C和C++語(yǔ)言編寫(xiě),可移植性高。 支持在多種操作系統(tǒng)上安裝,最常見(jiàn)有AIX,linux,window。mysql因?yàn)殚_(kāi)源免費(fèi),所以受到了目前互聯(lián)網(wǎng)行業(yè)的歡迎。
以mysql作為數(shù)據(jù)庫(kù),linux系統(tǒng)作為操作系統(tǒng),apache或者nginx作為web服務(wù)器,perl/php/python作為服務(wù)端的腳本解釋器,就可以搭建起一個(gè)免費(fèi)的網(wǎng)站。被業(yè)界稱為L(zhǎng)NMP或者LAMP。
準(zhǔn)備工作:
強(qiáng)烈建議:
磁盤(pán)空間剩余量達(dá)到15GB
內(nèi)存2G以上
步驟一致
確保依賴組件安裝完畢
安裝mysql5.7.17
centos 7
關(guān)閉selinux,關(guān)閉防火墻:
systemctl stop firewalld.service
vi /etc/selinux/config
SELINUX=disabled
安裝cmake工具:
yum -y install cmake
下載boost路徑(mysql5.7.17的必需依賴組件):
下載:http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz
tar -xf boost_1_59_0.tar.gz
yum安裝其它依賴組件:
yum -y install gcc gcc-c++ bzip2 bzip2-devel bzip2-libs python-devel ncurses
ncurses-devel openssl openssl-devel
備注:若有個(gè)別組件安裝失敗或需要更新,則單獨(dú)安裝。
創(chuàng)建路徑:
mkdir -p /usr/local/mysql
mkdir -p /data/mydata
創(chuàng)建mysql用戶:
useradd -M -s /sbin/nologin mysql
使用cmake工具對(duì)mysql5.7.17進(jìn)行環(huán)境收集檢驗(yàn)與配置相關(guān)模塊:
下載地址:https://dev.mysql.com/downloads/mysql/5.7.html
解壓mysql源碼包,并進(jìn)入解壓后的路徑
tar -xf mysql-5.7.17.tar.gz
cd mysql-5.7.17
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \-DMYSQL_DATADIR=/data/mydata \-
DSYSCONFDIR=/etc \-DWITH_INNOBASE_STORAGE_ENGINE=1 \-DWITH_ARCHIVE_STORAGE_ENGINE=1 \-
DWITH_BLACKHOLE_STORAGE_ENGINE=1 \-DWITH_READLINE=1 \-DMYSQL_UNIX_ADDR=/tmp/mysql.sock
\-DWITH_SSL=system \-DWITH_ZLIB=system \-DDEFAULT_CHARSET=utf8 \-
DDEFAULT_COLLATION=utf8_general_ci \-DDOWNLOAD_BOOST=1 \-DWITH_BOOST=../boost_1_59_0
\-DENABLE_DOWNLOADS=1
備注: boost_1_59_0 與mysql-5.7.17 放在同一路徑;復(fù)制后注意各個(gè)參數(shù)間是否有空格。
參數(shù)詳細(xì)信息解釋:
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ #指定mysql數(shù)據(jù)庫(kù)安裝目錄
-DMYSQL_DATADIR=/data/mydata \ #指定數(shù)據(jù)庫(kù)文件路徑
-DSYSCONFDIR=/etc \ #指定配置文件目錄
-DWITH_INNOBASE_STORAGE_ENGINE=1 \ #安裝INNOBASE存儲(chǔ)引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \ #安裝ARCHIVE存儲(chǔ)引擎
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ #安裝BLACKHOLE存儲(chǔ)引擎
-DWITH_READLINE=1 \ #使用readline功能
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \ #連接文件位置
-DWITH_SSL=system \ #表示使用系統(tǒng)上的自帶的SSL庫(kù)
-DWITH_ZLIB=system \ #表示使用系統(tǒng)上的自帶的ZLIB庫(kù)
-DDEFAULT_CHARSET=utf8 \ #指定默認(rèn)使用的字符集編碼
-DDEFAULT_COLLATION=utf8_general_ci \ #指定默認(rèn)使用的字符集校對(duì)規(guī)則
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=../boost_1_59_0 \ #指定Boost庫(kù)的位置,mysql5.7必須添加該參數(shù)
-DENABLE_DOWNLOADS=1 #支持下載可選文件
編譯并安裝:
make -j 4 && make install
初始化mysql:
/usr/local/mysql/bin/mysqld \--initialize \--user=mysql \--basedir=/usr/local/mysql \--datadir=/data/mydata \--socket=/tmp/mysql.sock
備注:記下臨時(shí)密碼。
對(duì)mysql的相關(guān)路徑進(jìn)行更改權(quán)限:
chown -R mysql:mysql /usr/local/mysql /data/mydata
修改配置文件:
vi /etc/my.cnf
[mysqld]
datadir=/data/mydata
socket=/tmp/mysql.sock
symbolic-links=0
[mysqld_safe]
log-error=/usr/local/mysql/log/mysql.errlog
pid-file=/data/mydata/$hostname.pid
啟停mysql:
[root@localhost support-files]# ./mysql.server start
Starting MySQL.2019-08-03T14:19:37.028727Z mysqld_safe error: log-error set to
'/usr/local/mysql/log/mysql.errlog', however file don't exists. Create writable for
user 'mysql'.
ERROR! The server quit without updating PID file
(/data/mydata/localhost.localdomain.pid).
解決:
mkdir -p /usr/local/mysql/log/
touch /usr/local/mysql/log/mysql.errlog
chown -R mysql:mysql /usr/local/mysql/log/mysql.errlog
啟動(dòng):
/usr/local/mysql/support-files/mysql.server start
關(guān)閉:
/usr/local/mysql/support-files/mysql.server stop
登錄mysql:
/usr/local/mysql/bin/mysql -uroot -p臨時(shí)密碼
修改mysql密碼:
set password for 'root'@'localhost'=password('密碼');
mysql> flush privileges;
ERROR 1146 (42S02): Table 'mysql.servers' doesn't exist
備注:不報(bào)錯(cuò),無(wú)需創(chuàng)建。
use mysql;
drop table if exists mysql.servers;
CREATE TABLE `servers` (
`Server_name` char(64) NOT NULL,
`Host` char(64) NOT NULL,`Db` char(64) NOT NULL,
`Username` char(64) NOT NULL,
`Password` char(64) NOT NULL,
`Port` int(4) DEFAULT NULL,
`Socket` char(64) DEFAULT NULL,
`Wrapper` char(64) NOT NULL,
`Owner` char(64) NOT NULL,
PRIMARY KEY (`Server_name`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='MySQL Foreign Servers table';
添加MySQL服務(wù)并設(shè)置mysql開(kāi)機(jī)啟動(dòng):
cp -a /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysql
chkconfig --add mysql
chkconfig --list mysql
mysql 0:off 1:off 2:on 3:on 4:on 5:on 6:off
chkconfig命令主要用來(lái)更新(啟動(dòng)或停止)和查詢系統(tǒng)服務(wù)的運(yùn)行級(jí)信息
等級(jí)0表示:表示關(guān)機(jī)
等級(jí)1表示:?jiǎn)斡脩裟J?/p>
等級(jí)2表示:無(wú)網(wǎng)絡(luò)連接的多用戶命令行模式
等級(jí)3表示:有網(wǎng)絡(luò)連接的多用戶命令行模式
等級(jí)4表示:不可用
等級(jí)5表示:帶圖形界面的多用戶模式
等級(jí)6表示:重新啟動(dòng)
使用mysql服務(wù)的方式操作啟停mysql服務(wù):
service mysql start #啟動(dòng)mysql服務(wù)器
service mysql stop #關(guān)閉mysql服務(wù)器
service mysql restart #重啟mysql服務(wù)器
設(shè)置mysql環(huán)境變量:
ln -s /usr/local/mysql/bin/* /usr/sbin/
成功使用 mysql -uroot -p 登錄服務(wù)器
總結(jié)
以上是生活随笔為你收集整理的CentOS7 实战源码安装mysql5.7.17数据库服务器的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 与app交互因异步造成的坑记录
- 下一篇: 读写锁 SRWLOCK