部署時間有限,故我踩坑的地方颅痊,下面會先安裝好相關(guān)依賴殖熟,按此去安裝即可。不然后面可能會存在缺一些依賴斑响。
環(huán)境交代:
首先要準(zhǔn)備cmake的包和mysql的源碼包菱属。可以去官網(wǎng)下載舰罚,不懂怎么下載的可以問度娘纽门。
我已準(zhǔn)備cmake-2.8.12.2.tar.gz 和mysql-5.6.22.tar.gz 。下面直接進行安裝营罢。
第一步 cmake
# yum install cmake -y
# tar xf cmake-2.8.12.2.tar.gz
# cd cmake-2.8.12.2
# yum install -y gcc*
#./configure
# make -j 8 (根據(jù)電腦的內(nèi)核數(shù) 寫對應(yīng)的數(shù)字)
附:最簡單的CPU核數(shù)查看 先Top 再按1赏陵,就可以看到。
# make install
第二步 創(chuàng)建mysql用戶及目錄
考慮眾多安全問題以mysql用戶的身份來運行mysql服務(wù)饲漾。
# useradd -M -r -s /sbin/nologin mysql
# mkdir -p /mysql/data
# chown -R mysql.mysql /mysql/
第三步 mysql安裝
# yum install ncurses-devel -y
# yum install openssl-devel -y
# yum install perl-Module-Build -y
// 因為大多數(shù)服務(wù)器最小化安裝蝙搔,故需要安裝此項。
# tar xf mysql-5.6.22.tar.gz
# cd mysql-5.6.22
# rm -rf CMakeCache.txt
// cmake的緩存清理考传,失敗后每次都需要刪除此文件吃型。
# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/mysql/data \
-DDEFAULT_CHARSET=utf8 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_SSL=system \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1
編譯選項根據(jù)需求來選擇
# make -j 8 (根據(jù)電腦的內(nèi)核數(shù) 寫對應(yīng)的數(shù)字)
# make install
第四步 mysql初始化
# cd /usr/local/mysql/
# ./scripts/mysql_install_db --user=mysql --datadir=/mysql/data/
# cd /usr/local/mysql/
# vim /etc/my.cnf(可先只留最后一行,后續(xù)有相應(yīng)需求再添加)
# ./bin/mysqld_safe --user=mysql &
# ./bin/mysql
第五步 mysql環(huán)境變量的設(shè)置
# vim /etc/profile.d/mysql.sh(新建)
# export PATH=/usr/local/mysql/bin:$PATH
# source /etc/profile.d/mysql.sh
# mysql(可直接進入數(shù)據(jù)庫)
第六步 執(zhí)行mysql_secure_installation
mysql_secure_installation 初次安裝數(shù)據(jù)庫后安全相關(guān)設(shè)置命令
相關(guān)內(nèi)容
設(shè)置 root 密碼
enter-->yes-->password
匿名用戶
是否移除匿名用戶(y/n) y
不允許遠(yuǎn)程(y/n)
刪除test庫(y/n)
重載權(quán)限(y/n)
第七步 開機自啟
# cp -p /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
# chkconfig --add mysqld
將mysqld添加到chkconfig管理的開機啟動中
# chkconfig --list |grep mysqld
查看mysqld在各運行級別中是否開機啟動
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
常見問題及需求的整理
常見報錯處理
報錯信息1
# remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu,
# package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel.
解決方法1
# yum install ncurses-devel
# rm -rf CMakeCache.txt
報錯信息2
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
OPENSSL_INCLUDE_DIR
解決方法2
# yum install openssl-devel -y
報錯及處理
報錯:C compiler(編譯器) 解決:安裝 #yum install gcc* -y
授權(quán)問題
權(quán)限:(權(quán)限相關(guān)文件都存放于mysql數(shù)據(jù)庫中)
全局權(quán)限存放在 mysql.user中僚楞,此表聯(lián)合主鍵host+user勤晚。
授權(quán) : grant 存在授權(quán),不存在創(chuàng)建镜硕。
grant 權(quán)限列表 on 庫名.表名 to 用戶@'主機' identified by '密碼字符串';
全局權(quán)限:(user)*.* 所有庫所有表
grant select on *.* to x@'%' identified by 'pwd'; x@localhost
//具有全局的select用戶,可任何主機登錄
flush privileges;
庫級權(quán)限: (db) 庫名.*
表級權(quán)限:(tables_priv) 庫名.表名
grant select on qianfeng.pass to xtable@'%' identified by 'pwd';
列級權(quán)限:(colummns_priv) (列) on 指定庫.表
grant select(username) on qianfeng.passwd to xc@'%';
要求授權(quán)一個用戶运翼,該用戶要有創(chuàng)建庫的權(quán)限
grant all privileges on *.* to x@localhost identified by 'pwd';
要求mysql表不區(qū)分大小寫
# vim /etc/my.cnf
[mysqld]
lower_case_table_names=1 #1為不區(qū)分大小寫返干,0區(qū)分大小寫
重啟mysql服務(wù)
# /usr/local/mysql/bin/mysqladmin shutdown
# /usr/local/mysql/bin/mysqld_safe --user=mysql &