天天看點

MySQL安裝

安裝要求:

目錄安裝在/usr/local/mysql

資料目錄在/data/mysql/data

源碼編譯安裝

環境準備:

# yum -y install make cmake gcc-c++ bison-devel ncurses-devel readline-devel
# yum install openssl  openssl-devel  zlib-devel
# mv /etc/my.cnf{,_bak}      

下載下傳,解壓:

如果系統有安裝mysql,最好先處理

配置編譯安裝:

# pwd
/usr/local/src/mysql-5.6.15
# ccmake .   或 # cmake . -LH//檢視編譯可選項
# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.6.15 \
-DMYSQL_DATADIR=/data/mysql/data -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DSYSCONFDIR=/etc -DMYSQL_TCP_PORT=3306 -DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 -DWITH_READLINE=1 \
-DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_SSL=yes -DWIHT_ZLIB=yes      
MySQL安裝

以上是編譯成功的提示,但有幾個指定的功能未被使用,先安裝吧,要花費一些時間:

# make && make install      

如果出錯,要清除舊的編譯配置,再編譯:

# rm -f CMakeCache.txt      

初始化mysql:

# useradd -r -M -s /sbin/nologin mysql        //建立mysq系統使用者
# cd /usr/local
# ln -sv mysql-5.6.15 mysql
# mv  mysql/my.cnf{,_bak}
# cd mysql
# chown -R mysql:mysql .
# mkdir -p /data/mysql/data
# chown -R mysql:mysql /data/mysql/data
#./scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/data/mysql/data --user=mysql      //将在/usr/local/mysql/目錄下生成my.cnf配置檔案
 
# ln -sv /usr/local/mysql/bin/mysql /usr/bin/mysql      

也可以使用/usr/local/mysql/bin/mysql_secure_installation腳本做一些安全配置:root密碼,遠端登陸,匿名使用者删除,test庫删除

# /usr/local/mysql/bin/mysqladmin -u root password 'xxx'    //為root使用者設定密碼,預設沒有密碼
> DROP  USER  ‘’@localhost;//删除匿名使用者      

控制腳本及開機自啟動處理、啟動服務:

# pwd
/usr/local/mysql
# cp support-files/mysql.server  /etc/init.d/mysql
# chmod +x /etc/init.d/mysql
# chkconfig --add mysql
# service mysql start啟動成功      

注:1. mysql服務使用的配置檔案查找順序:/etc/my.cnf----->/etc/mysql/my.cnf------>安裝目錄下的my.cnf------->mysql使用者家目錄下my.cnf

2. 服務使用service控制啟動,實質上是執行bin/mysqld_safe指令

其他檔案處理(非必需):

//配置環境變量
# echo “export PATH=$PATH:/usr/local/mysql/bin” >> /etc/profile
# source /etc/profile
//庫檔案添加
# echo "/usr/local/mysql/lib/" > /etc/ld.so.conf.d/mysql.conf
# ldconfig
//頭檔案添加
# ln -sv /usr/local/mysql/include /usr/include/mysql
//man幫助檔案添加
# echo "MANDATORY_MANPATH /usr/local/mysql/man" >> /etc/man_db.conf      

檢視已編譯選項:

編譯安裝後會在安裝目錄下生成的bin/mysqlbug,檢視該檔案配置字段即可

# cat /usr/local/mysql/bin/mysqlbug |grep CONFIGURE_LINE      

或# mysql_config     指令直接檢視,主要是庫檔案檢視

常用編譯配置選項說明:

#cmke .  -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.6.15//軟體安裝位置

 -DMYSQL_DATADIR=/data/mysql/data//資料檔案位置

 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock//Unix socket檔案位置

 -DSYSCONFDIR=/etc//配置檔案my.cnf位置

 -DMYSQL_TCP_PORT=3306//服務端口,預設的也是3306

 -DWITH_MYISAM_STORAGE_ENGINE=1//啟用myisam存儲引擎

 -DWITH_INNOBASE_STORAGE_ENGINE=1//啟用innodb存儲引擎

 -DWITH_MEMORY_STORAGE_ENGINE=1//啟用memory存儲引擎

 -DWITH_ARCHIVE_STORAGE_ENGINE=1//啟用archive存儲引擎

 -DWITH_BLACKHOLE_STORAGE_ENGINE=1//啟用blackhole(黑洞)存儲引擎

 -DWITH_PARTITION_STORAGE_ENGINE=1//啟用支援資料庫分區

 -DENABLED_LOCAL_INFILE=1//允許從本地導入資料

 -DWITH_READLINE=1//批量導入資料

 -DEXTRA_CHARSETS=all//安裝所有字元集

 -DDEFAULT_CHARSET=utf8//預設字元

 -DDEFAULT_COLLATION=utf8_general_ci//校驗字元

 -DWITH_SSL=yes

 -DWIHT_ZLIB=yes

-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1//不啟用

-DWITH_LIBWRAP=0//不啟用基于wrap的通路控制

-DENABLE_PROFILING=1//啟用性能分析功能

-DWITH_DEBUG=0//不啟用DEBUG功能

cmake與configure編譯配置的對比

configure cmake
原理 執行configure腳本,生成Makefile檔案 根據CMakeLists.txt生成CMakeCache.txt檔案
執行方式 # ./configure # cmake .
配置選項檢視 # ./configure  --help #ccmake . 或 # cmake . -LH (先檢查後輸出)
常用選項對比 --prefix=/usr/local/xxxx -DCMAKE_INSTALL_PREFIX=/usr/local/xxxx
--with選項 -DWIHT_xxxxx=1和-DWIHTOUT_xxxx=1
--enable選項 -DENABLE_xxxx=1
二次配置處理 # make clean  # rm -f CMakeCace.txt
其他 使用#ccmake .  GUI界面配置選項和檢查

通用二進制包安裝

# mkdir -p /data/mysql/data
# useradd -r -M -s /sbin/nologin -d /data/mysql mysql
# chown -R mysql:mysql /data/mysql/data
# mv /etc/my.cnf{,_bak}      

二進制tar包處理

# tar xf /usr/local/src/mysql-5.6.21-linux-glibc2.5-x86_64.tar.gz -C /usr/local/
# cd /usr/local/
# ln -sv mysql-5.6.21-linux-glibc2.5-x86_64 mysql
# cd mysql
# chown -R mysql:mysql .      

資料庫初始化:

# pwd
/usr/local/mysql
# mv my.cnf{,_bak}
# ./scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/data/mysql/data --user=mysql      

其他操作和編譯安裝一樣,通用二進制包就是源碼編譯好的包,隻要修改成适合于系統環境的就可以了

修改配置檔案,加上基礎配置:

# vim /usr/local/mysql/my.cnf
    [mysqld]
    basedir=/usr/local/mysql
    datadir=/data/mysql/data
    port=3306
    server_id=1
    socket=/tmp/mysql.sock      

複制service控制檔案,啟動mysql時報錯:

MySQL安裝

造成以上原因可能有:

1.檔案權限不足

2.機器上之前安裝過mysql,找出mysql-bin.index檔案,删除即可

3.配置檔案問題,my.cnf沒有指定datadir或是啟用了skip-deferated字段,配置不正确也會出現這種問題

RPM包安裝

先檢查系統是否已安裝,有則解除安裝

#yum  list  installed |grep mysql
#rpm  -qa | grep mysql
#rpm  -e  --nodeps  mysql      
# yum install mysql mysql-server mysql-command mysql-devel      
# rpm -ivh mysql.5.6.12.rpm      

繼續閱讀