1. 程式人生 > >mysql編譯安裝及常用操作

mysql編譯安裝及常用操作

1.3 安裝相關包
1.3.1 cmake軟體
cd /home/oldboy/tools/
tar xf cmake-2.8.8.tar.gz
cd cmake-2.8.8
./configure
#CMake has bootstrapped.  Now run gmake.
gmake
gmake install
cd ../

1.3.2 依賴包
yum install ncurses-devel -y

1.4 開始安裝mysql
1.4.1 建立使用者和組
groupadd mysql
useradd mysql -s /sbin/nologin -M -g mysql

1.4.2 解壓編譯MySQL
tar zxf mysql-5.5.32.tar.gz
cd mysql-5.5.32
cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.5.32 \
-DMYSQL_DATADIR=/application/mysql-5.5.32/data \
-DMYSQL_UNIX_ADDR=/application/mysql-5.5.32/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=gbk,gb2312,utf8,ascii \
-DENABLED_LOCAL_INFILE=ON \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITHOUT_PARTITION_STORAGE_ENGINE=1 \
-DWITH_FAST_MUTEXES=1 \
-DWITH_ZLIB=bundled \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_READLINE=1 \
-DWITH_EMBEDDED_SERVER=1 \
-DWITH_DEBUG=0

#-- Build files have been written to: /home/oldboy/tools/mysql-5.5.32
提示,編譯時可配置的選項很多,具體可參考結尾附錄或官方文件:
make
#[100%] Built target my_safe_process
make install
ln -s /application/mysql-5.5.32/ /application/mysql
如果上述操作未出現錯誤,則MySQL5.5.32軟體cmake方式的安裝就算成功了。


配置環境變數
echo 'export PATH=/u01/application/mysql/bin:$PATH'>>/etc/profile
tail -1 /etc/profile
source /etc/profile
ll /u01/application/mysql/data/
資料檔案授權
chown -R mysql.mysql /u01/application/mysql/data/
chmod -R 1777 /tmp/
複製mysql的配置檔案my-medium.cnf檔案到/etc/my.cnf
cp ~/tools/mysql-5.5.32/support-files/my-medium.cnf /etc/my.cnf
初始化資料庫 basedirmysql的安裝目錄,datadir資料庫檔案存放路徑
/u01/application/mysql/scripts/mysql_install_db  --basedir=/u01/application/mysql --datadir=/u01/application/mysql/data/ --user=mysql

將啟動指令碼新增到init.d目錄下
cp ~/tools/mysql-5.5.32/support-files/mysql.server /etc/init.d/mysqld
設定mysql啟動指令碼許可權,新增執行許可權
chmod +x /etc/init.d/mysqld
啟動mysql資料庫
/etc/init.d/mysqld start
查詢埠3306,檢查mysql資料庫是否正常啟動
netstat -lntup|grep 3306

進入mysql客戶端,在命令列輸入
mysql
select user,host from mysql.user;

修改root使用者密碼
/u01/application/mysql/bin/mysqladmin -u root password 'root123'

設定開機啟動mysql,檢視mysql啟動項
chkconfig mysqld on
chkconfig --list mysqld
########################################################
 如何啟動/停止/重啟MySQL
一、啟動方式
1、使用 service 啟動:service mysqld start
2、使用 mysqld 指令碼啟動:/etc/inint.d/mysqld start
3、使用 safe_mysqld 啟動:safe_mysqld&
二、停止
1、使用 service 啟動:service mysqld stop
2、使用 mysqld 指令碼啟動:/etc/inint.d/mysqld stop
3、mysqladmin shutdown
三、重啟
1、使用 service 啟動:service mysqld restart
2、使用 mysqld 指令碼啟動:/etc/inint.d/mysqld restart
提問 編輯摘要
如何啟動/停止/重啟MySQL
一、啟動方式
1、使用 service 啟動:service mysqld start
2、使用 mysqld 指令碼啟動:/etc/inint.d/mysqld start
3、使用 safe_mysqld 啟動:safe_mysqld&
二、停止
1、使用 service 啟動:service mysqld stop
2、使用 mysqld 指令碼啟動:/etc/inint.d/mysqld stop
3、mysqladmin shutdown
########################################################

安裝多例項的mysql資料庫。使用編譯的mysql安裝檔案,初始化多個mysql例項資料檔案。/data作為多例項的總目錄
目錄結構
    data
      3306     例項目錄
         data   資料檔案目錄
         my.cnf
         mysql
      3307    例項目錄
         data   資料檔案目錄
         my.cnf
         mysql
mkdir  -p /data/{3306,3307}/data
        

一般生產硬體配置 mem 32g 雙CPU 8核  磁碟6*600g  sas 15k  2-3個例項

對多例項的資料檔案目錄賦許可權,給啟動指令碼賦予執行許可權
chown -R mysql.mysql /u01/data
find |grep mysql|xargs chmod +x
啟動指令碼的原理
    啟動資料庫
    mysqld_safe --defaults-file=/data/3306/my.cnf 2>&1 > /dev/null &
    平滑關閉資料庫
    mysqladmin -u root -proot123 -S /data/3306/mysql.sock shutdown

初始化資料庫,目的建立基礎的資料庫檔案
./mysql_install_db  --basedir=/u01/application/mysql --datadir=/u01/data/3306/data --user=mysql
./mysql_install_db  --basedir=/u01/application/mysql --datadir=/u01/data/3307/data --user=mysql

啟動資料庫
/u01/data/3306/mysql start
/u01/data/3307/mysql start

檢視mysql資料庫是否啟動
netstat -lntup|grep 330
客戶端登陸mysql
mysql -S /u01/data/3306/mysql.sock
mysql -S /u01/data/3307/mysql.sock

修改mysql資料庫的root密碼
/u01/application/mysql/bin/mysqladmin -u root -S /u01/data/3306/mysql.sock password 'root123'
/u01/application/mysql/bin/mysqladmin -u root -S /u01/data/3307/mysql.sock password 'root123'

關閉mysql資料庫 停止資料庫需要系統root密碼,需要在mysql指令碼中修改系統密碼,這樣就會暴露系統管理員的密碼
/u01/data/3306/mysql stop
/u01/data/3307/mysql stop

修改mysql指令碼許可權,只能讓管理員看到
find ./ -type f -name "mysql"|xargs chmod 700
find ./ -type f -name "mysql"|xargs chown root.root