標籤:二進位 mysql 軟體 使用者
yum 安裝 : yum install mysql-server
編譯安裝 5.0-5.1
二進位免編譯安裝
cmake方式編譯 5.5-5.6
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方式的安裝就算成功了。
初始化
cp support-files/my-small.cnf /etc/my.cnf
echo ‘export PATH=/application/mysql/bin:$PATH‘ >> /etc/profile
. /etc/profile
chown -R mysql.mysql /application/mysql/data/
chmod -R 1777 /tmp/
cd /application/mysql/scripts/
./mysql_install_db --basedir=/application/mysql/ --datadir=/application/mysql/data/ --user=mysql
cp support-files/mysql.server /etc/init.d/mysqld
/etc/init.d/mysqld start
netstat -lntup | grep 3306
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 24072/mysqld
/application/mysql//bin/mysqladmin -u root password ‘new-password‘
mysql多執行個體
就是一個伺服器開啟多個不同的服務連接埠,運行多個進程。共用一套安裝程式,可以是一個相同的設定檔,啟動程式,資料檔案。在邏輯上是獨立的。利用剩餘的資源。節約伺服器資源,資源互相搶佔問題。
應用情境
資源緊張型公司 並發訪問不是特別大 門戶網站應用程式
多設定檔部署方案 單一設定檔部署方案(mysql_multi)
/data
├── 3306 //執行個體目錄
│ └── data //資料檔案
└── 3307 //執行個體目錄
└── data //資料檔案
650) this.width=650;" src="/e/u261/themes/default/images/spacer.gif" style="background:url("/e/u261/lang/zh-cn/images/localimage.png") no-repeat center;border:1px solid #ddd;" alt="spacer.gif" /> // 上傳上去
/data
├── 3306
│ ├── data
│ └── my.cnf
└── 3307
├── data
└── my.cnf
pkill mysqld
多執行個體開機檔案的啟動MySQL服務實質:
mysql_safe --default-file=/data/3306/my.cnf 2&1 > /dev/null &
mysql_safe --default-file=/data/3307/my.cnf 2&1 > /dev/null &
停止 平滑關閉
mysqladmin -u root -p123456 -S /data/3306/mysql.sock shutdown
mysqladmin -u root -p123456 -S /data/3307/mysql.sock shutdown
/data
├── 3306
│ ├── data
│ ├── my.cnf
│ └── mysql
└── 3307
├── data
├── my.cnf
└── mysql
chown -R mysql.mysql /data
find /data/ -type f -name "mysql" | xargs chmod +x
初始化mysql資料庫檔案:建立基礎的資料庫檔案
cd /application/mysql/scripts/
./mysql_install_db --basedir=/application/mysql --datadir=/data/3306/data --user=mysql
./mysql_install_db --basedir=/application/mysql --datadir=/data/3307/data --user=mysql
啟動
/data/3306/mysql start
/data/3307/mysql start
netstat -lntup | grep 330
tail -l /data/3306/mysql_oldboy3306.err
cd /data/3307
vim mysql //開機檔案
mysql_user="root"
mysql_pwd="123456"
mysql -S /data/3306/mysql.sock //進入mysql
mysql> system mysql -S /data/3306/mysql.sock // 在mysql裡面切換
mysqladmin -u root -S /data/3306/mysql.sock password ‘123123‘
mysqladmin -u root -S /data/3306/mysql.sock -p‘123123‘ password ‘123456‘
find /data/ -type f -name "mysql" -exec chmod 700 {} \;
find /data/ -type f -name "mysql" -exec chown root.root {} \;
pkill mysqld
/data/3306/mysql start
/data/3307/mysql start
ps -ef | grep mysql
root 6780 1 0 05:05 pts/0 00:00:00 /bin/sh /application/mysql/bin/mysqld_safe --defaults-file=/data/3306/my.cnf
root 6824 1 0 05:05 pts/0 00:00:00 /bin/sh /application/mysql/bin/mysqld_safe --defaults-file=/data/3307/my.cnf
mysql 8186 6780 0 05:05 pts/0 00:00:00 /application/mysql-5.5.32/bin/mysqld --defaults-file=/data/3306/my.cnf --basedir=/application/mysql --datadir=/data/3306/data --plugin-dir=/application/mysql/lib/plugin --user=mysql --log-error=/data/3306/mysql_oldboy3306.err --open-files-limit=1024 --pid-file=/data/3306/mysqld.pid --socket=/data/3306/mysql.sock --port=3306
mysql 8203 6824 0 05:05 pts/0 00:00:00 /application/mysql-5.5.32/bin/mysqld --defaults-file=/data/3307/my.cnf --basedir=/application/mysql --datadir=/data/3307/data --plugin-dir=/application/mysql/lib/plugin --user=mysql --log-error=/data/3307/mysql_oldboy3307.err --open-files-limit=1024 --pid-file=/data/3307/mysqld.pid --socket=/data/3307/mysql.sock --port=3307
增加3308
mkdir /data/3308/data/ -p
cp /data/3306/my.cnf /data/3308/
cp /data/3306/mysql /data/3308/
chown -R mysql.mysql /data/3308/
cd /data/3308/
vim my.cnf
server-id = 4
:%s/3306/3308/g
vim mysql
cd /application/mysql/scripts/
[[email protected] scripts]# ./mysql_install_db --user=mysql --basedir=/application/mysql --datadir=/data/3308/data/
Installing MySQL system tables...
OK
Filling help tables...
OK
To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
/application/mysql/bin/mysqladmin -u root password ‘new-password‘
/application/mysql/bin/mysqladmin -u root -h localhost.localdomain password ‘new-password‘
Alternatively you can run:
/application/mysql/bin/mysql_secure_installation
which will also give you the option of removing the test
databases and anonymous user created by default. This is
strongly recommended for production servers.
See the manual for more instructions.
You can start the MySQL daemon with:
cd /application/mysql ; /application/mysql/bin/mysqld_safe &
You can test the MySQL daemon with mysql-test-run.pl
cd /application/mysql/mysql-test ; perl mysql-test-run.pl
Please report any problems with the /application/mysql/scripts/mysqlbug script!
/data/3308/mysql start
mysqladmin -u root -S /data/3308/mysql.sock password ‘123456‘
本文出自 “何全” 部落格,請務必保留此出處http://hequan.blog.51cto.com/5701886/1771596
MySQL安裝+多執行個體