標籤:楓雨
1.MySQL介紹
MySQL是一種關係型資料庫管理系統,將資料庫儲存在不同的表中,再將這些表放入不同的庫中,而不是將所有資料統一放在一個大倉庫中。
2.MySQL多執行個體介紹
2.1概念
在一台伺服器上同時開啟多個不同的伺服器連接埠,同時運行多個MySQL服務進程,這些服務進程通過不同的socket監聽不同的服務連接埠來提供服務。
2.2作用
1)有效利用伺服器資源
2)節約伺服器資源
2.3應用情境
1)資金緊張型的公司選擇
2)並發訪問不是特別大的業務
3)門戶網站應用程式MySQL多執行個體情境
3.系統內容
[[email protected] ~]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
[[email protected] ~]# uname -r
3.10.0-327.el7.x86_64
[[email protected] ~]# getenforce
Disabled
[[email protected] ~]# systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
[[email protected] ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:2b:8f:d6 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.202/24 brd 10.0.0.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe2b:8fd6/64 scope link
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:2b:8f:e0 brd ff:ff:ff:ff:ff:ff
inet 172.16.1.202/24 brd 172.16.1.255 scope global eth1
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe2b:8fe0/64 scope link
valid_lft forever preferred_lft forever
4.安裝MySQL資料庫(MySQL資料庫版本:5.6.36)
4.1安裝依賴包
[[email protected] ~]# yum install -y gcc gcc-c++ automake autoconf git make cmake bison-devel ncurses-devel libaio-devel
4.2修改/tmp的許可權
[[email protected] ~]# chmod 1777 /tmp
4.3建立軟體目錄
[[email protected] ~]# mkdir -p /server/tools
4.4下載MySQL軟體包
[[email protected] tools]# wget https://downloads.mysql.com/archives/get/file/mysql-5.6.36.tar.gz
4.5編譯安裝
[[email protected] mysql-5.6.36]# cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.6.36 -DMYSQL_DATADIR=/application/mysql-5.6.36/data -DMYSQL_UNIX_ADDR=/application/mysql-5.6.36/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 -DWITH_ZLIB=bundled -DWITH_SSL=bundled -DENABLED_LOCAL_INFILE=1 -DWITH_EMBEDDED_SERVER=1 -DENABLE_DOWNLOADS=1 -DWITH_DEBUG=0 && make && make install
4.6建立系統管理使用者
[[email protected] tools]# useradd -s /sbin/nologin -M mysql
4.7建立軟連結
[[email protected] tools]# ln -s /application/mysql-5.6.36 /application/mysql
4.8修改/application。mysql/data的系統管理使用者
[[email protected] tools]# chown -R mysql.mysql /application/mysql/data/
4.9初始化資料庫
[[email protected] tools]# /application/mysql/scripts/mysql_install_db --user=mysql --basedir=/application/mysql --datadir=/application/mysql/data
4.10建立MySQL的設定檔
[[email protected] tools]# cp /application/mysql/support-files/my-default.cnf /etc/my.cnf
4.11建立MySQL的開機檔案
[[email protected] tools]# cp /application/mysql/support-files/mysql.server /etc/init.d/mysqld
[[email protected] tools]# chmod +x /etc/init.d/mysqld
4.12最佳化資料庫操作
[[email protected] tools]# echo 'export=/ PATHapplication/mysql/bin:$PATH' >> /etc/profile
[[email protected] tools]# . /etc/profile
4.13這時啟動資料庫,會報錯(源於-DMYSQL_UNIX_ADDR=/application/mysql-5.6.36/tmp/mysql.sock)
mkdir /application/mysql/tmp
chown -R mysql.mysql /application/tmp
4.14啟動服務
5.部署MySQL資料庫多執行個體
5.1建立多執行個體目錄
[[email protected] ~]# mkdir -p /data/330{7,8,9}
5.2初始化(有多少多執行個體資料庫,初始化多少次)
[[email protected] ~]# /application/mysql/scripts/mysql_install_db --user=mysql --basedir=/application/mysql --datadir=/data/3307
[[email protected] ~]# /application/mysql/scripts/mysql_install_db --user=mysql --basedir=/application/mysql --datadir=/data/3308
[[email protected] ~]# /application/mysql/scripts/mysql_install_db --user=mysql --basedir=/application/mysql --datadir=/data/3309
5.3修改MySQL多執行個體的設定檔
[[email protected] ~]# cat /data/3307/my.cnf
[mysqld]
basedir=/application/mysql
datadir=/data/3307
socket=/data/3307/mysql.sock
log-error=/data/3307/mysql.log
log_bin=/data/3307/mysql-bin
binlog_format=row
skip_name_resolve=1
server_id=3307
port=3307
[[email protected] ~]# cat /data/3308/my.cnf
[mysqld]
basedir=/application/mysql
datadir=/data/3308
socket=/data/3308/mysql.sock
log-error=/data/3308/mysql.log
log_bin=/data/3308/mysql-bin
binlog_format=row
skip_name_resolve=1
server_id=3308
port=3308
[[email protected] ~]# cat /data/3309/my.cnf
[mysqld]
basedir=/application/mysql
datadir=/data/3309
socket=/data/3309/mysql.sock
log-error=/data/3309/mysql.log
log_bin=/data/3309/mysql-bin
binlog_format=row
skip_name_resolve=1
server_id=3309
port=3309
5.4啟動多執行個體
[[email protected] ~]# mysqld_safe --defaults-file=/data/3307/my.cnf &
[[email protected] ~]# mysqld_safe --defaults-file=/data/3308/my.cnf &
[[email protected] ~]# mysqld_safe --defaults-file=/data/3309/my.cnf &
5.5登入資料庫
[[email protected] ~]# mysql -S /data/3307/mysql.sock
[[email protected] ~]# mysql -S /data/3308/mysql.sock
[[email protected] ~]# mysql -S /data/3309/mysql.sock
安裝並配置多執行個體MySQL資料庫