欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL數(shù)據(jù)庫入門之多實例配置方法詳解

 更新時間:2020年05月11日 10:58:54   作者:民工哥  
這篇文章主要介紹了MySQL數(shù)據(jù)庫入門之多實例配置方法,結(jié)合實例形式分析了MySQL數(shù)據(jù)庫多實例配置相關(guān)概念、原理、操作方法與注意事項,需要的朋友可以參考下

本文實例講述了MySQL數(shù)據(jù)庫入門之多實例配置方法。分享給大家供大家參考,具體如下:

前面介紹了相關(guān)的基礎(chǔ)命令操作:MySQL數(shù)據(jù)庫基礎(chǔ)篇之入門基礎(chǔ)命令

所有的操作都是基于單實例的,mysql多實例在實際生產(chǎn)環(huán)境也是非常實用的,因為必須要掌握。

1、什么是多實例

多實例就是一臺服務(wù)器上開啟多個不同的服務(wù)端口(默認3306),運行多個mysql的服務(wù)進程,這此服務(wù)進程通過不同的socket監(jiān)聽不同的服務(wù)端口來提供各在的服務(wù),所有實例之間共同使用一套MYSQL的安裝程序,但各自使用不同的配置文件、啟動程序、數(shù)據(jù)文件,在邏輯上是相對獨立的。

多實例主要作用是:充分利用現(xiàn)有的服務(wù)器硬件資源,為不同的服務(wù)提供數(shù)據(jù)服務(wù),但是如果某個實例并發(fā)比較高的,同樣是會影響到其它實例的性能

2、安裝多實例環(huán)境準備

安裝前需要先安裝mysql,但是只需將安裝過程進行到make install即可(編譯安裝),如果使用免安裝程序,只需解壓軟件包即可,今天的環(huán)境是通過免安裝包來安裝mysql主程序(其它的安裝可以參考前面的安裝過程自行測試)

系統(tǒng)環(huán)境

[root@centos6 ~]# cat /etc/redhat-release 
CentOS release 6.5 (Final)
[root@centos6 ~]# uname -r
2.6.32-431.el6.x86_64

安裝程序

mysql-5.5.52-linux2.6-x86_64.tar.gz

首先將軟件下載到本地

wget http://mirrors.sohu.com/mysql/MySQL-5.5/mysql-5.5.52-linux2.6-x86_64.tar.gz

創(chuàng)建安裝用戶

[root@centos6 ~]#groupadd mysql
[root@centos6 ~]#useradd mysql -s /sbin/nologin -g mysql -M
[root@centos6 ~]#tail -1 /etc/passwd
mysql:x:500:500::/home/mysql:/sbin/nologin

創(chuàng)建多實例的數(shù)據(jù)目錄

[root@centos6 tools]# mkdir -p /data/{3306,3307}
[root@centos6 tools]# tree /data/
/data/
+-- 3306
+-- 3307
2 directories, 0 files

3、安裝MYSQL多實例

接下來進行安裝mysql的多實例操作

解壓軟件

[root@centos6 tools]# ll mysql-5.5.52-linux2.6-x86_64.tar.gz 
-rw-r--r--. 1 root root 185855000 Aug 26 21:38 mysql-5.5.52-linux2.6-x86_64.tar.gz
[root@centos6 tools]# tar zxf mysql-5.5.52-linux2.6-x86_64.tar.gz

拷貝配置文件

[root@centos6 mysql-5.5.52-linux2.6-x86_64]# cp support-files/my-small.cnf /data/3306/my.cnf

[root@centos6 mysql-5.5.52-linux2.6-x86_64]# cp support-files/mysql.server /data/3306/mysql

[root@centos6 mysql-5.5.52-linux2.6-x86_64]# cp support-files/my-small.cnf /data/3307/my.cnf

[root@centos6 mysql-5.5.52-linux2.6-x86_64]# cp support-files/mysql.server /data/3307/mysql

為一規(guī)范安裝路徑,將免安裝包拷貝到應(yīng)用程序目錄下

[root@centos6 tools]# mv mysql-5.5.52-linux2.6-x86_64 /application/mysql

[root@centos6 tools]# ll /application/mysql
total 72
drwxr-xr-x. 2 root root 4096 Dec 9 17:15 bin
-rw-r--r--. 1 7161 31415 17987 Aug 26 19:24 COPYING
drwxr-xr-x. 3 root root 4096 Dec 9 17:15 data
drwxr-xr-x. 2 root root 4096 Dec 9 17:15 docs
drwxr-xr-x. 3 root root 4096 Dec 9 17:15 include
-rw-r--r--. 1 7161 31415 301 Aug 26 19:24 INSTALL-BINARY
drwxr-xr-x. 3 root root 4096 Dec 9 17:15 lib
drwxr-xr-x. 4 root root 4096 Dec 9 17:15 man
drwxr-xr-x. 10 root root 4096 Dec 9 17:15 mysql-test
-rw-r--r--. 1 7161 31415 2496 Aug 26 19:24 README
drwxr-xr-x. 2 root root 4096 Dec 9 17:15 scripts
drwxr-xr-x. 27 root root 4096 Dec 9 17:15 share
drwxr-xr-x. 4 root root 4096 Dec 9 17:15 sql-bench
drwxr-xr-x. 2 root root 4096 Dec 9 17:15 support-files

修改配置文件與啟動文件

因為是多實例,其中參數(shù)需要修改,修改后的配置文件如下:配置文件my.cnf

[client]
port = 3307
socket = /data/3307/mysql.sock

[mysql]
no-auto-rehash

[mysqld] user = mysql
port = 3307
socket = /data/3307/mysql.sock
basedir = /application/mysql
datadir = /data/3307/data
#log_long_format
#log-error = /data/3307/error.log
#log-slow-queries = /data/3307/slow.log
pid-file = /data/3307/mysql.pid
server-id = 3 

[mysqld_safe]
log-error=/data/3307/mysql3307.err
pid-file=/data/3307/mysqld.pid

啟動程序文件mysql

[root@backup 3307]# cat mysql
#!/bin/sh
init port=3307
mysql_user="root"
mysql_pwd="migongge"
CmdPath="/application/mysql/bin"
mysql_sock="/data/${port}/mysql.sock"
#startup
function_start_mysql() {
if [ ! -e "$mysql_sock" ];then
 printf "Starting MySQL...\n"
/bin/sh ${CmdPath}/mysqld_safe --defaults-file=/data/${port}/my.cnf 2>&1 > /dev/null &
else
 printf "MySQL is running...\n"
exit
fi
}
#stop function
function_stop_mysql() {
if [ ! -e "$mysql_sock" ];then
printf "MySQL is stopped...\n"
exit
else
printf "Stoping MySQL...\n"
${CmdPath}/mysqladmin -u ${mysql_user} -p${mysql_pwd} -S /data/${port}/mysql.sock shutdown
fi
}
#restart function
function_restart_mysql() {
 printf "Restarting MySQL...\n"
 function_stop_mysql
 sleep 2
 function_start_mysql
}
case $1 in
start)
function_start_mysql
;;
stop)
function_stop_mysql
;;
restart)
function_restart_mysql
;;
*)
printf "Usage: /data/${port}/mysql {start|stop|restart}\n"
esac

其它的配置可參考配置文件進行修改即可

多實例初始化操作

[root@centos6 3306]# /application/mysql/scripts/mysql_install_db --basedir=/application/mysql --datadir=/data/3306/data --user=mysql
Installing MySQL system tables...
161209 18:02:17 [Warning] 'THREAD_CONCURRENCY' is deprecated and will be removed in a future release.
161209 18:02:17 [Note] /application/mysql/bin/mysqld (mysqld 5.5.52-log) starting as process 3336 ...
OK
Filling help tables...
161209 18:02:17 [Warning] 'THREAD_CONCURRENCY' is deprecated and will be removed in a future release.
161209 18:02:17 [Note] /application/mysql/bin/mysqld (mysqld 5.5.52-log) starting as process 3343 ...
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 centos6 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 at http://bugs.mysql.com/

初始化成功后,會在數(shù)據(jù)目錄下產(chǎn)生一個數(shù)據(jù)目錄data和一些文件

[root@centos6 3306]# ll /data/3306/data/
total 1136
drwx------. 2 mysql root  4096 Dec 9 18:02 mysql
-rw-rw----. 1 mysql mysql 27693 Dec 9 18:02 mysql-bin.000001
-rw-rw----. 1 mysql mysql 1114546 Dec 9 18:02 mysql-bin.000002
-rw-rw----. 1 mysql mysql  38 Dec 9 18:02 mysql-bin.index
drwx------. 2 mysql mysql 4096 Dec 9 18:02 performance_schema
drwx------. 2 mysql root  4096 Dec 9 18:02 test

另一個實例的初始化請參考上述操作進行,操作過程不再一一介紹

[root@centos6 3307]# ll /data/3307/data/
total 1136
drwx------. 2 mysql root  4096 Dec 9 18:40 mysql
-rw-rw----. 1 mysql mysql 27693 Dec 9 18:40 mysql-bin.000001
-rw-rw----. 1 mysql mysql 1114546 Dec 9 18:40 mysql-bin.000002
-rw-rw----. 1 mysql mysql  38 Dec 9 18:40 mysql-bin.index
drwx------. 2 mysql mysql 4096 Dec 9 18:40 performance_schema
drwx------. 2 mysql root  4096 Dec 9 18:40 test

4 、啟動多實例并登錄

啟動服務(wù)

[root@backup 3307]# /data/3306/mysql start
Starting MySQL...
[root@backup 3307]# lsof -i :3306
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mysqld 19986 mysql 10u IPv4 90967 0t0 TCP *:mysql (LISTEN)
[root@backup 3307]# /data/3307/mysql
start Starting MySQL...
[root@backup 3307]# lsof -i :3307
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mysqld 21648 mysql 11u IPv4 92899 0t0 TCP *:opsession-prxy (LISTEN)

檢查端口

[root@backup 3307]# netstat -lntup|grep mysql
tcp 0 0 0.0.0.0:3307 0.0.0.0:* LISTEN 21648/mysqld
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 19986/mysqld

登陸多實例數(shù)據(jù)庫

[root@backup ~]# mysql -S /data/3306/mysql.sock
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.5.51-log Source distribution
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> create database data3306;
Query OK, 1 row affected (0.00 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| data3306 |
| mysql |
| performance_schema |
| test |
+--------------------+
5 rows in set (0.00 sec)
mysql> quit
Bye

[root@backup ~]# mysql -S /data/3307/mysql.sock
Welcome to the MySQL monitor.
Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.5.51 Source distribution
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
4 rows in set (0.05 sec)

成功登陸,并在3306實例中創(chuàng)建數(shù)據(jù)庫,但是3307實例上查看并沒有創(chuàng)建過的數(shù)據(jù),說明兩個實例是獨立的

注:如果再需要新增一個實例,基本的配置步驟同上述一樣,只需要相應(yīng)修改配置文件與啟動程序文件中的端口號與數(shù)據(jù)目錄的路徑即可,最后可以將多實例數(shù)據(jù)庫啟動命令加入開機自啟動。

更多關(guān)于MySQL相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《MySQL查詢技巧大全》、《MySQL常用函數(shù)大匯總》、《MySQL日志操作技巧大全》、《MySQL事務(wù)操作技巧匯總》、《MySQL存儲過程技巧大全》及《MySQL數(shù)據(jù)庫鎖相關(guān)技巧匯總

希望本文所述對大家MySQL數(shù)據(jù)庫計有所幫助。

相關(guān)文章

  • MySQL的表空間是什么

    MySQL的表空間是什么

    這篇文章主要介紹了MySQL的表空間是什么,幫助大家更好的理解和使用MySQL表的相關(guān)知識,感興趣的朋友可以了解下
    2020-11-11
  • Mysql 5.6添加修改用戶名和密碼的方法

    Mysql 5.6添加修改用戶名和密碼的方法

    這篇文章主要介紹了Mysql 5.6添加修改用戶名和密碼的方法,需要的朋友可以參考下
    2017-07-07
  • Mysql中json類型數(shù)據(jù)查詢的實現(xiàn)

    Mysql中json類型數(shù)據(jù)查詢的實現(xiàn)

    MySQL5.7開始支持JSON格式的數(shù)據(jù)類型,可以存儲和處理JSON類型的數(shù)據(jù),本文主要介紹一些關(guān)于json數(shù)據(jù)類型的查詢操作,具有一定的參考價值,感興趣的可以了解一下
    2023-10-10
  • Finished with error:Navicat運行SQL文件報錯的解決

    Finished with error:Navicat運行SQL文件報錯的解決

    這篇文章主要介紹了Finished with error:Navicat運行SQL文件報錯的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • SUSE Linux下源碼編譯方式安裝MySQL 5.6過程分享

    SUSE Linux下源碼編譯方式安裝MySQL 5.6過程分享

    這篇文章主要介紹了SUSE Linux下源碼編譯方式安裝MySQL 5.6過程分享,本文使用SUSE Linux Enterprise Server 10 SP3 (x86_64)系統(tǒng),需要的朋友可以參考下
    2014-09-09
  • mysql 5.7.18 免安裝版window配置方法

    mysql 5.7.18 免安裝版window配置方法

    這篇文章主要為大家詳細介紹了mysql 5.7.18 免安裝版window配置方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • 詳解MySQL kill 指令的執(zhí)行原理

    詳解MySQL kill 指令的執(zhí)行原理

    這篇文章主要介紹了詳解MySQL kill 指令的執(zhí)行原理,幫助大家更好的理解和學(xué)習(xí)使用MySQL,感興趣的朋友可以了解下
    2021-03-03
  • MySQL存儲過程中變量的定義以及應(yīng)用詳解

    MySQL存儲過程中變量的定義以及應(yīng)用詳解

    MySQL變量定義和應(yīng)用是我們經(jīng)常會遇到的問題,下面這篇文章主要給大家介紹了關(guān)于MySQL存儲過程中變量的定義以及應(yīng)用的相關(guān)資料,文章通過圖文介紹的非常詳細,需要的朋友可以參考下
    2023-06-06
  • MySQL流程控制函數(shù)匯總分析講解

    MySQL流程控制函數(shù)匯總分析講解

    MySQL流程控制函數(shù)包括if、case、while、repeat、loop、leave、iterate等,可以在SQL語句中實現(xiàn)條件判斷、循環(huán)、跳出等功能,提高了SQL語句的靈活性和功能性
    2023-04-04
  • MySQL/Oracle數(shù)據(jù)庫的字符串轉(zhuǎn)日期、日期轉(zhuǎn)字符串

    MySQL/Oracle數(shù)據(jù)庫的字符串轉(zhuǎn)日期、日期轉(zhuǎn)字符串

    在許多數(shù)據(jù)庫中,你可以使用內(nèi)置的函數(shù)或操作符來進行字符串和日期之間的相互轉(zhuǎn)換,這篇文章主要給大家介紹了關(guān)于MySQL/Oracle數(shù)據(jù)庫的字符串轉(zhuǎn)日期、日期轉(zhuǎn)字符串的相關(guān)資料,需要的朋友可以參考下
    2024-07-07

最新評論