您好,登錄后才能下訂單哦!
小編給大家分享一下Mysql數據庫多實例配置的示例分析,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
二進制安裝: [root@lufengcentos ~]# mkdir /home/lufeng/tools -p [root@lufengcentos ~]# cd /home/lufeng/tools [root@lufengcentos tools]# rz [root@lufengcentos tools]# tar xf mysql-5.5.49-linux2.6-x86_64.tar.gz [root@lufengcentos tools]# mkdir -p /application/mysql-5.5.49 [root@lufengcentos tools]# mv mysql-5.5.49-linux2.6-x86_64 /application/mysql-5.5.49 創建mysql用戶|組 [root@lufengcentos tools]# groupadd mysql [root@lufengcentos tools]# useradd mysql -g mysql -s /sbin/nologin -M [root@lufengcentos tools]# ln -s /application/mysql-5.5.49/ /application/mysql root@lufengcentos mysql]# sed -i 's#/usr/local/mysql#/application/mysql#g' /application/mysql/bin/mysqld_safe 創建多實例數據文件目錄 [root@Mysql-server_2 ~]# mkdir -p /data/{3306,3307}/data 配置相應的配置文件: [root@Mysql-server_2 ~]# cat /data/3306/my.cnf #################################################### [client] #password = your_password port = 3306 socket = /data/3306/mysql.sock [mysqld] user = mysql port = 3306 socket = /data/3306/mysql.sock basedir = /application/mysql datadir = /data/3306/data pid-file = /data/3306/mysql.pid relay-log = /data/3306/relay-bin relay-log-info-file = /data/3306/relay-log.info skip-external-locking key_buffer_size = 16K max_allowed_packet = 1M table_open_cache = 4 sort_buffer_size = 64K read_buffer_size = 256K read_rnd_buffer_size = 256K net_buffer_length = 2K thread_stack = 128K server-id = 1 [mysqldump] quick max_allowed_packet = 2M [mysql] no-auto-rehash [mysql_safe] log-error=/data/3306/mysql_lufeng3306.err pid-file=/data/3306/mysqlf.pid ############################################## [root@Mysql-server_2 ~]# cat /data/3307/my.cnf ############################################# [client] #password = your_password port = 3307 socket = /data/3307/mysql.sock [mysqld] user = mysql port = 3307 socket = /data/3307/mysql.sock basedir = /application/mysql datadir = /data/3307/data pid-file = /data/3307/mysql.pid relay-log = /data/3307/relay-bin relay-log-info-file = /data/3307/relay-log.info skip-external-locking key_buffer_size = 16K max_allowed_packet = 1M table_open_cache = 4 sort_buffer_size = 64K read_buffer_size = 256K read_rnd_buffer_size = 256K net_buffer_length = 2K thread_stack = 128K server-id = 2 [mysqldump] quick max_allowed_packet = 2M [mysql] no-auto-rehash [mysql_safe] log-error=/data/3307/mysql_lufeng3307.err pid-file=/data/3307/mysqlf.pid ############################################## 創建啟動文件 [root@Mysql-server_2 ~]# cat /data/3306/mysql #!/bin/sh ################################ #mysql 3306 by lufeng @2017.4.3 ################################ #int port=3306 mysql_user="root" mysql_pwd="199429" CmdPath="/application/mysql/bin" mysql_sock="/data/${port}/mysql.sock" #startup function 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@Mysql-server_2 ~]# cat /data/3307/mysql #!/bin/sh ################################ #mysql 3307 by lufeng @2017.4.3 ################################ #int port=3307 mysql_user="root" mysql_pwd="199429" CmdPath="/application/mysql/bin" mysql_sock="/data/${port}/mysql.sock" #startup function 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@Mysql-server_2 ~]# chown -R mysql.mysql /data [root@Mysql-server_2 ~]# find /data -name mysql|xargs chmod 700 [root@Mysql-server_2 ~]# find /data -name mysql -exec ls -l {} \; -rwx------ 1 mysql mysql 999 4月 3 13:33 /data/3306/mysql -rwx------ 1 mysql mysql 1210 4月 3 13:35 /data/3307/mysql 全局變量: [root@Mysql-server_2 ~]# ls /application/mysql/bin/mysql /application/mysql/bin/mysql [root@Mysql-server_2 ~]# echo 'export PATH=/application/mysql/bin:$PATH' >>/etc/profile [root@Mysql-server_2 ~]# tail -1 /etc/profile export PATH=/application/mysql/bin:$PATH [root@Mysql-server_2 ~]# source /etc/profile [root@Mysql-server_2 ~]# echo $PATH /application/mysql/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin 初始化數據庫文件 [root@Mysql-server_2 scripts]# cd /application/mysql/scripts/ [root@Mysql-server_2 scripts]# ./mysql_install_db --basedir=/application/mysql --datadir=/data/3306/data --user=mysql [root@Mysql-server_2 scripts]# ./mysql_install_db --basedir=/application/mysql --datadir=/data/3307/data --user=mysql Installing MySQL system tables... 170403 13:47:58 [Note] /application/mysql/bin/mysqld (mysqld 5.5.49) starting as process 2971 ... OK Filling help tables... 170403 13:47:59 [Note] /application/mysql/bin/mysqld (mysqld 5.5.49) starting as process 2980 ... OK ============成功標志 啟動命令: [root@Mysql-server_2 ~]# /data/3306/mysql start Starting MySQL... [root@Mysql-server_2 ~]# /data/3307/mysql start Starting MySQL... [root@Mysql-server_2 ~]# netstat -lntup|grep mysql tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 3638/mysqld tcp 0 0 0.0.0.0:3307 0.0.0.0:* LISTEN 3962/mysqld 配置開機自啟動: [root@Mysql-server_2 ~]# echo "mysql multi instances" >>/etc/rc.local [root@Mysql-server_2 ~]# echo "/data/3306/mysql start" >>/etc/rc.local [root@Mysql-server_2 ~]# echo "/data/3307/mysql start" >>/etc/rc.local [root@Mysql-server_2 ~]# tail -3 /etc/rc.local mysql multi instances /data/3306/mysql start /data/3307/mysql start 登錄:[root@lufengcentos ~]# mysql -S /data/3306/mysql.sock 安全配置: [root@lufengcentos ~]# mysqladmin -u root -S /data/3307/mysql.sock password '199429' [root@lufengcentos ~]# mysql -S /data/3306/mysql.sock -uroot -p Enter password:
看完了這篇文章,相信你對“Mysql數據庫多實例配置的示例分析”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。