1. 程式人生 > 實用技巧 >MySQL-安裝配置篇

MySQL-安裝配置篇

一、MySQL二進位制安裝包安裝

1、環境初始化

1)建立目錄
mkdir /app/database --安裝路徑 mkdir /data/3306 --存放資料路徑 mkdir /binlog/3306 --存放日誌路徑 將安裝包上傳至/app/database解壓,為方便使用可製作一個軟連線。 ln -s 檔名 mysql

2)清理安裝環境
rpm -qa|grep mariadb
yum remove filename

3)修改環境變數
vim /etc/profile
export PATH=/app/database/mysql/bin:$PATH
[root@db01 bin]# source /etc/profile

2、建立使用者及使用者組  

1)建立使用者及使用者組
useradd mysql -s /sbin/nologin 2)修改檔案屬主 chown -R mysql.mysql /app/ chown -R mysql.mysql /data/ chown -R mysql.mysql /binlog 

3、初始化系統庫表

yum install -y libaio-devel
mysqld --initialize-insecure  --user=mysql --basedir=/app/database/mysql  --datadir=/data/3306

4、配置檔案my.cnf

cat > /etc/my.cnf <<EOF
[mysqld]
user
=mysql basedir=/app/database/mysql datadir=/data/3306 server_id=6 port=3306 socket=/tmp/mysql.sock [mysql] socket=/tmp/mysql.sock EOF

5、準備啟動指令碼

cd ~/support-files/
cp mysql.server /etc/init.d/mysqld    --方便啟動
chkconfig -add mysqld                  --systemctl

6、啟動與關閉

1)啟動:/app/database/mysql/bin/mysqld 二進位制檔案

​                
/app/database/mysql/bin/mysqld_safe sh指令碼 ​ /support-files/mysql.server sh指令碼 ---> service/systemctl 由下往上呼叫 2)關閉:service mysqld stop ​ systemctl stop mysqld ​ /etc/init.d/mysql stop

7、my.cnf補充說明

1)使用locate my.cnf命令可以列出所有的my.cnf檔案    
locate my.cnf
2)檢視是否使用了指定目錄的my.cnf
ps aux|grep mysql|grep 'my.cnf'
3)檢視mysql預設讀取my.cnf的目錄的順序
mysql --help|grep 'my.cnf'
注:如果沒有設定使用指定目錄my.cnf檔案及預設讀取目錄沒有my.cnf檔案,表示mysql啟動時並沒有載入配置檔案,而是使用預設配置。

需要修改配置,可以在mysql預設讀取的目錄中,建立一個my.cnf檔案(例如:
/etc/my.cnf),把需要修改的配置內容寫入,重啟mysql後即可生效。

二、MySQL同版本多例項安裝

1、初始化資料、日誌目錄

mkdir -p /data/330{7..9}/data
mkdir -p /binlog/330{7..9}
chown -R mysql.mysql /data /binlog
mv /etc/my.cnf my.cnf.bak   --初始化時mysqld會讀取/etc下面的my.cnf
mysqld --initialize-insecure  --user=mysql --basedir=/app/database/mysql  --datadir=/data/3307/data
mysqld --initialize-insecure  --user=mysql --basedir=/app/database/mysql  --datadir=/data/3308/data
mysqld --initialize-insecure  --user=mysql --basedir=/app/database/mysql  --datadir=/data/3309/data
mv /etc/my.cnf.bak my.cnf

2、配置檔案my.cnf

cat > /data/3307(3308、3309)/my.cnf <<EOF
[mysqld]
user=mysql
basedir=/app/database/mysql
datadir=/data/3307(3308、3309)/data
log_error=/data/3307(3308、3309)/mysql.log
log_bin=/binlog/3307(3308、3309)/mysql-bin
server_id=7(8,9)
port=3307(3308、3309)
socket=/tmp/mysql3307(3308、3309).sock
EOF

3、準備啟動指令碼

cd /etc/systemd/system
cp mysqld.service mysqld3307.service
cp mysqld.service mysqld3308.service
cp mysqld.service mysqld3309.service

vim mysqld3307.service
ExecStart=/app/mysql/bin/mysqld  --defaults-file=/data/3307/my.cnf
vim mysqld3308.service
ExecStart=/app/mysql/bin/mysqld  --defaults-file=/data/3308/my.cnf
vim mysqld3309.service
ExecStart=/app/mysql/bin/mysqld  --defaults-file=/data/3309/my.cnf