Mysql cmake 編譯安裝、

基于cmake的mysql安裝

1.1 前言

從mysql5.5起,mysql源碼安裝的編譯工具configure開始向cmake過渡。安裝方式和之前的略有不同。在這里簡單介紹總結下。
安裝之前,檢查下GNU make, GCC, Perl, libncurses5-dev,cmake-2.8.4是否都已經安裝,如果沒有安裝,用yum install 安裝補全

1.2 安裝Cmake

進入源代碼目錄

tar zxvf cmake-2.8.4.tar.gz

安裝

cd cmake-2.8.4
./bootstrap
gmake
gmake install

1.3 cmake簡介

CMake 是"cross platform make"的縮寫。它是一個跨平臺的安裝(編譯)工具,可以用簡單的語句來描述所有平臺的安裝(編譯過程)。他能夠輸出各種各樣的makefile或者project文件,能測試編譯器所支持的C++特性,類似UNIX下的automake。和之前configure的語法對比如下重新編譯時,需要清除舊的對象文件和緩存信息
對于configure 需要執行如下命令
make clean
對于cmake,則需要執行如下命令
rm -f CMakeCache.txt

安裝選項的對比如下:

CMAKE_INSTALL_PREFIX值是安裝的基本目錄,其他cmake選項值是不包括前綴,是相對路徑名,絕對路徑包括CMAKE_INSTALL_PREFIX路徑。

configure編譯插件選項

--with-plugins=csv,myisam,myisammrg,heap,innobase, archive,blackhole

在cmake中沒有直接對應的相同選項。對于csv,myisam,myisammrg,heap在cmake中是不需要明確指定存儲引擎的名稱,因為它們是強制性安裝。

可以使用以下選擇來安裝innodb,archive,blackhole存儲引擎

-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
(1可以使用on代替)

1.4 安裝bison-2.5

進入源代碼目錄

解壓縮

tar zxvf bison-2.5.tar.gz

安裝

cd bison-2.5
./configure
make
make install

1.5 Mysql安裝

創建mysql用戶和組

/usr/sbin/groupadd mysql
/usr/sbin/useradd -g mysql mysql
mkdir /usr/local/mysql
mkdir /usr/local/mysql/data

解壓縮進入安裝目錄

tar xvf mysql-5.5.27.tar.gz
cd mysql-5.5.27

編譯

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/data/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS:STRING=utf8 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DMYSQL_USER=mysql

安裝

Make&&make install

1.6 安裝后

1.6.1 鏈接文件

ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64/

不執行這一步,運行時可能如下錯誤

error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory

1.6.2 設置PATH環境變量

Vi  /etc/profile

在profile最后加上

export PATH=”/usr/local/mysql/bin:$PATH”

保存后

source  /etc/profile

1.6.3 配置參數文件

cd support-files 
cp my-large.cnf /etc/my.cnf

編輯my.cnf,加入以下內容

basedir         = /usr/local/mysql
datadir         = /usr/local/mysql/data
log-error       = /usr/local/mysql/data/mysql_error.log
pid-file        = /usr/local/mysql/data/mysql.pid
socket         =/usr/local/mysql/data/mysql.socket //如果已經有,則修改目錄為mysql的數據目錄,此處是/usr/local/mysql/data

1.6.4 設置權限

cd /usr/local/mysql
chown –R mysql .
chgrp –R mysql .

1.6.5 mysql 初始化安裝

cd /usr/local/mysql/
scripts/mysql_install_db \
--defaults-file=/etc/my.cnf \
--basedir=/usr/local/mysql \
--user=mysql \
如果產生錯誤like:‘WARNING: The host ‘*‘ could not be looked up with resolveip’
執行時加上 –force 選項

1.6.6 修改權限

將安裝目錄所有權改為root,數據目錄的所有權改為你運行mysqld的用戶

cd /usr/local/mysql
chown -R root .
chown -R mysql data

1.7 配置服務

配置服務

cd  /usr/local/mysql/support-files
cp mysql.server  /etc/init.d/mysqld
chmod +x  /etc/init.d/mysqld
chkconfig  --add mysqld
chkconfig  --level 345 mysqld on

1.8 啟動與停止 mysql

systemctl start mysqld
systemctl stop mysqld

1.9 設置Mysql用戶賬號密碼

mysql安裝后默認生成兩個帳號:一個是root,未設置密碼,可以從本機登錄到mysql;另一個是匿名帳號,無帳號名、無密碼,可以從本機登錄,未提供用戶名的連接都將假定為此帳號。這樣的設置存在著安全隱患,按下面的步驟進行更改。

1) 修改root的密碼

執行命令:/usr/local/mysql/bin/mysqladmin –u root –p舊密碼 password 新密碼或者用root登錄數據庫
 mysql –u root
登錄以后執行
Mysql>set password for ‘root’@’hostname’=password(‘新密碼’);或者執行
Mysql>update mysql.user set password=password(‘新密碼’)  
—>where user = ‘root’ and host =’hostname’;
如果不知道hostname,可先執行select host,user from mysql.user where user=’root’

2) 刪除匿名用戶

Root 登錄后執行

mysql> delete from mysql.user where user=’’ ; 刪除用戶名為空的記錄
mysql> delete from mysql.user where password=’’ ; 刪除密碼為空的記錄

3) 修改完用戶權限以后,執行

Mysql> flush privileges;
因為MySQL啟動后,所有用戶權限都是加載到內存中的;但有些權限更新操作不會刷新到內存中,這樣只有下次啟動時才生效,如果直接update mysql.user來修改密碼等;flush privileges 強制讓MySQL重新加載權限,這樣剛才修改的就馬上生效了。

4) 添加用

1.10 my.cnf 配置文件修改

在my.cnf文件client下增加user, password。
修改socket路徑,為真實路徑。

原創文章,作者:N27_Danry,如若轉載,請注明出處:http://www.www58058.com/85636

(2)
N27_DanryN27_Danry
上一篇 2017-08-29 17:27
下一篇 2017-08-30 15:25

相關推薦

  • DNS中view的實現

    [root@localhost /var/named]# ll total 32 -rw-r–r–. 1 root ?root ??173 Jan 20 14:46 magedu.com.zone -rw-r–r–. 1 root ?root ??173 Jan 20 14:46 magedu.com.zone…

    2018-01-22
  • 使用mysql-mmm實現高可用mysql讀寫分離

    MMM介紹:  MMM全稱為Multi-Master Replication Manager for MySQL,即為主主復制管理器;根據MMM官網介紹,其工作原理類似于lvs,都是利用vip地址;但lvs只有一個組件便可以正常工作,而MMM則使用三個組件,分別是mysql-mmm、mysql-mmm-agent、mysql-mmm-monitor…

    Linux干貨 2015-08-04
  • jenkins+gitlab構建安卓自動編譯環境

        因工作關系接觸到接觸到安卓自動編譯環境,網上的資料都推薦了jenkins,因為第一次接觸安卓和jenkins,踩了不少的坑,有總結才有進步。    gitlab環境之前已經安裝完成可用,具體步驟另外詳解吧。本例目標是在gitlab可用前提下,通過jenkins將git倉庫的代碼自行編譯打包,生成可用的apk安裝…

    Linux干貨 2016-07-16
  • vim

    VIM常用操作命令 模式轉換 1、ESC鍵:編輯模式 --> 一般模式;2、從一般模式?。尽【庉嬆J?i:在光標所在處的前方轉換為編輯模式 a:在光標所在處的后方轉換為編輯模式 o:在光標所在行的下方新建一個空行并轉換為編輯模式 I:在光標所在行的行首輸入 A:在光標所在行的行尾輸入 O:在光標所在行的上方新建一個空白行 3、一般模式?。尽∧┬心J剑骸?/p>

    Linux干貨 2017-04-06
  • Android必備的Java知識點

     Android應用程序開發是以Java語言為基礎的,所以需要有扎實的Java基礎知識。首先熟悉java基本語法,然后熟悉設計模式等。         a) Java基礎語法:看下面的《Java知識點列表》       b)設計模式:由于在Android系統的框架層當中,使用了大…

    Linux干貨 2015-04-08
欧美性久久久久