设为首页 收藏本站
查看: 896|回复: 0

[经验分享] Mysql数据库多实例配置

[复制链接]

尚未签到

发表于 2018-10-10 06:57:20 | 显示全部楼层 |阅读模式
二进制安装:  
[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:



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-619681-1-1.html 上篇帖子: MySQL设计规范 下篇帖子: How to install Apache, PHP 7.1 and MySQL on CentOS 7.3 (LAMP)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表