源碼編譯安裝 MySQL 5.5.x 實踐html
MySQL從5.5版本開始,經過./configure進行編譯配置方式已經被取消,取而代之的是cmake工具。 所以,咱們首先要在系統中源碼編譯安裝cmake工具。 #wget http://www.cmake.org/files/v2.8/cmake-2.8.4.tar.gz #tar zxvf cmake-2.8.4.tar.gz #cd cmake-2.8.4 #./configure #make #make install
經過 rpm -qa | grep name 的方式驗證如下軟件包是否已所有安裝。 gcc* gcc-c++* autoconf* automake* zlib* libxml* ncurses-devel* libgcrypt* libtool* 若是缺乏相關的軟件包,可經過yum -y install 的方式在線安裝,或直接從系統安裝光盤中找到並經過rpm -ivh 的方式安裝。
創建mysql安裝目錄及數據存放目錄 #mkdir /opt/mysql #mkdir /opt/mysql/data 建立用戶和用戶組 #groupadd mysql #useradd -g mysql mysql 賦予數據存放目錄權限 #chown mysql:mysql -R /opt/mysql/data
我相信大多數人都已經習慣了以前的configure方式,而且所使用的參數也是比較個性化的,換成cmake以後,這一方面會帶來 很多的麻煩。還好,MySQL的官方網站提供了兩者的參數對照表,咱們能夠儘量的保留以前的參數,來編譯配置新的MySQL版本。 configure 與 cmake 參數對照指南: http://forge.mysql.com/wiki/Autotools_to_CMake_Transition_Guide 以我本身爲例,以前我一直使用的參數爲: ./configure --prefix=/opt/mysql/ \ --sysconfdir=/opt/mysql/etc \ --localstatedir=/opt/mysql/data \ --with-tcp-port=3306 \ --with-unix-socket-path=/tmp/mysqld.sock \ --with-mysqld-user=mysql \ --enable-assembler \ --with-extra-charsets=all \ --enable-thread-safe-client \ --with-big-tables \ --with-readline \ --with-ssl \ --with-embedded-server \ --enable-local-infile \ --with-plugins=partition,innobase,myisammrg 通過與cmake的參數對照以後,去除掉已經被取消的參數(大多數是由於新版本已經默認啓用),cmake的參數配置以下: cmake -DCMAKE_INSTALL_PREFIX=/opt/mysql \ -DSYSCONFDIR=/opt/mysql/etc \ -DMYSQL_DATADIR=/opt/mysql/data \ -DMYSQL_TCP_PORT=3306 \ -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \ -DMYSQL_USER=mysql \ -DEXTRA_CHARSETS=all \ -DWITH_READLINE=1 \ -DWITH_SSL=system \ -DWITH_EMBEDDED_SERVER=1 \ -DENABLED_LOCAL_INFILE=1 \ -DWITH_INNOBASE_STORAGE_ENGINE=1
經過http://www.mysql.com/downloads/mysql官方網址或國內的sohu鏡像下載軟件包,如目前最新的MySQL 5.5.13。 #wget http://mirrors.sohu.com/mysql/MySQL-5.5/mysql-5.5.13.tar.gz #tar zxvf mysql-5.5.13.tar.gz #cd mysql-5.5.13 #cmake -DCMAKE_INSTALL_PREFIX=/opt/mysql \ -DSYSCONFDIR=/opt/mysql/etc \ -DMYSQL_DATADIR=/opt/mysql/data \ -DMYSQL_TCP_PORT=3306 \ -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \ -DMYSQL_USER=mysql \ -DEXTRA_CHARSETS=all \ -DWITH_READLINE=1 \ -DWITH_SSL=system \ -DWITH_EMBEDDED_SERVER=1 \ -DENABLED_LOCAL_INFILE=1 \ -DWITH_INNOBASE_STORAGE_ENGINE=1 #make #make install 在make與make install的時候能夠看到進度百分比,感受這一點要比configure方式要好。
建立my.cnf配置文件 #mkdir /opt/mysql/log #mkdir /opt/mysql/etc #cp support-files/my-medium.cnf /opt/mysql/etc/my.cnf 初始化數據庫 執行前需賦給scripts/mysql_install_db文件執行權限 #chmod 755 scripts/mysql_install_db #scripts/mysql_install_db --user=mysql --basedir=/opt/mysql/ --datadir=/opt/mysql/data/ 建立管理MySQL數據庫的shell腳本 #mkdir /opt/mysql/init.d #cp support-files/mysql.server /opt/mysql/init.d/mysql 賦予shell腳本可執行權限: #chmod +x /opt/mysql/init.d/mysql 啓動MySQL: #/opt/mysql/init.d/mysql start 經過命令行登陸管理MySQL服務器(提示輸入密碼時直接回車): #/opt/mysql/bin/mysql -u root -p -S /tmp/mysql.sock 輸入如下SQL語句,建立一個具備root權限的用戶(admin)和密碼(12345678): GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' IDENTIFIED BY '12345678'; GRANT ALL PRIVILEGES ON *.* TO 'admin'@'127.0.0.1' IDENTIFIED BY '12345678'; 爲root賬戶設置初始密碼 #/opt/mysql/bin/mysqladmin -u root password 'new-password' 刪除本機匿名鏈接的空密碼賬號 /opt/mysql/bin/mysql -uroot -p'new-password' mysql>use mysql; //選擇系統數據庫mysql mysql>select Host,User,Password from user; //查看全部用戶 mysql>delete from user where password=""; mysql>flush privileges; mysql>select Host,User,Password from user; //確認密碼爲空的用戶是否已所有刪除 mysql>exit;
轉載地址:http://heylinux.com/archives/993.htmlmysql