CentOS7 实战源码安装mysql5.7.17数据库服务器
CentOS7 實戰源碼安裝mysql5.7.17數據庫服務器
簡介:實戰演練mysql數據庫服務器的搭建
mysql簡介:
mysql是一個開源的關系型數據庫管理系統,現在是oracle公司旗下的一款產品,由C和C++語言編寫,可移植性高。 支持在多種操作系統上安裝,最常見有AIX,linux,window。mysql因為開源免費,所以受到了目前互聯網行業的歡迎。
以mysql作為數據庫,linux系統作為操作系統,apache或者nginx作為web服務器,perl/php/python作為服務端的腳本解釋器,就可以搭建起一個免費的網站。被業界稱為LNMP或者LAMP。
準備工作:
強烈建議:
磁盤空間剩余量達到15GB
內存2G以上
步驟一致
確保依賴組件安裝完畢
安裝mysql5.7.17
centos 7
關閉selinux,關閉防火墻:
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
備注:若有個別組件安裝失敗或需要更新,則單獨安裝。
創建路徑:
mkdir -p /usr/local/mysql
mkdir -p /data/mydata
創建mysql用戶:
useradd -M -s /sbin/nologin mysql
使用cmake工具對mysql5.7.17進行環境收集檢驗與配置相關模塊:
下載地址:https://dev.mysql.com/downloads/mysql/5.7.html
解壓mysql源碼包,并進入解壓后的路徑
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 放在同一路徑;復制后注意各個參數間是否有空格。
參數詳細信息解釋:
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ #指定mysql數據庫安裝目錄
-DMYSQL_DATADIR=/data/mydata \ #指定數據庫文件路徑
-DSYSCONFDIR=/etc \ #指定配置文件目錄
-DWITH_INNOBASE_STORAGE_ENGINE=1 \ #安裝INNOBASE存儲引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \ #安裝ARCHIVE存儲引擎
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ #安裝BLACKHOLE存儲引擎
-DWITH_READLINE=1 \ #使用readline功能
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \ #連接文件位置
-DWITH_SSL=system \ #表示使用系統上的自帶的SSL庫
-DWITH_ZLIB=system \ #表示使用系統上的自帶的ZLIB庫
-DDEFAULT_CHARSET=utf8 \ #指定默認使用的字符集編碼
-DDEFAULT_COLLATION=utf8_general_ci \ #指定默認使用的字符集校對規則
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=../boost_1_59_0 \ #指定Boost庫的位置,mysql5.7必須添加該參數
-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
備注:記下臨時密碼。
對mysql的相關路徑進行更改權限:
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
啟動:
/usr/local/mysql/support-files/mysql.server start
關閉:
/usr/local/mysql/support-files/mysql.server stop
登錄mysql:
/usr/local/mysql/bin/mysql -uroot -p臨時密碼
修改mysql密碼:
set password for 'root'@'localhost'=password('密碼');
mysql> flush privileges;
ERROR 1146 (42S02): Table 'mysql.servers' doesn't exist
備注:不報錯,無需創建。
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服務并設置mysql開機啟動:
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命令主要用來更新(啟動或停止)和查詢系統服務的運行級信息
等級0表示:表示關機
等級1表示:單用戶模式
等級2表示:無網絡連接的多用戶命令行模式
等級3表示:有網絡連接的多用戶命令行模式
等級4表示:不可用
等級5表示:帶圖形界面的多用戶模式
等級6表示:重新啟動
使用mysql服務的方式操作啟停mysql服務:
service mysql start #啟動mysql服務器
service mysql stop #關閉mysql服務器
service mysql restart #重啟mysql服務器
設置mysql環境變量:
ln -s /usr/local/mysql/bin/* /usr/sbin/
成功使用 mysql -uroot -p 登錄服務器
總結
以上是生活随笔為你收集整理的CentOS7 实战源码安装mysql5.7.17数据库服务器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 与app交互因异步造成的坑记录
- 下一篇: 读写锁 SRWLOCK