大连商城网站制作公司,今科云平台网站建设,360搜索引擎首页,网站建设的培训的感受一、基本概念mysql下载#xff1a;http://mirrors.sohu.com/mysql/MySQL-5.5/1、MySQL多实例就是在一台机器上面开启多个不同的端口#xff0c;运行多个MySQL服务进程。这些MySQL多实例公用一套安装程序#xff0c;使用不同的(也可以是相同的)配置文件#xff0c;启动程序http://mirrors.sohu.com/mysql/MySQL-5.5/1、MySQL多实例就是在一台机器上面开启多个不同的端口运行多个MySQL服务进程。这些MySQL多实例公用一套安装程序使用不同的(也可以是相同的)配置文件启动程序数据文件。在提供服务时候多实例MySQL在逻辑上看来是各自独立的多个实例的自身是根据配置文件对应的设定值来取得相关硬件资源的多少。2、应用场景1.采用了数据伪分布式架构的原因而项目启动初期又不一定有那多的用户量为此先一组物理数据库服务器但部署多个实例方便后续迁移 为规避mysql对SMP架构不支持的缺陷使用多实例绑定处理器的办法把不同的数据库分配到不同的实例上提供数据服务一台物理数据库服务器支撑多个数据库的数据服务为提高mysql复制的从机的恢复效率采用多实例部署已经为双主复制的mysql数据库服务器架构想部分重要业务的数据多一份异地机房的热备份而mysql复制暂不支持多主的复制模式且不给用户提供服务为有效控制成本会考虑异地机房部署一台性能超好的物理服务器甚至外加磁盘柜的方式为此也会部署多实例传统游戏行业的MMO/MMORPG以及Web Game每一个服都对应一个数据库而可能要做很多数据查询和数据订正的工作为减少维护而出错的概率也可能采用多实例部署的方式按区的概念分配数据库3、作用与问题1、有效利用服务器的资源单个服务器资源有剩余时可以充分利用剩余的资源提供更多的服务。2、资源互相争抢问题比如 内存 ,cpu 需要开启 numa并把 mysql 绑定到固定的核心上网卡的中断请求资源争用最重要的是磁盘 IO二、实战步骤1、同步时间2、准备mysql依赖包3、环境准备2.添加mysql用户#3.编译安装mysql我这里是mysql-5.5.33-linux2.6-x86_64.tar.gz4、安装MySQL多实例5、准备配置文件6、启动MySQL7、登录mysql与一些安全措施8、关闭MySQL9,、提供简易管理脚本10、为mysql的root用户创建密码 1同步时间yum install -y ntpntpdate 202.120.2.101hwclock -w2:准备mysql依赖包yum install -y autoconf automake zlib libxml ncurses-devel libgcrypt libtool opensslyum install -y3、环境准备3.1添加mysql用户groupadd mysqluseradd -g mysql mysql mkdir -pv /data/{3306,3307,3308}chown -R mysql.mysql /data/3.2: 解压mysql安装包并初始化mysql数据库cd /usr/localtar zxvf mysql-5.5.33-linux2.6-x86_64.tar.gz ln -sv mysql-5.5.33-linux2.6-x86_64 mysqlchown -R root.mysql mysql/*cd /usr/local/mysqlscripts/mysql_install_db --usermysql --basedir/usr/local/mysql --datadir/data/3306/scripts/mysql_install_db --usermysql --basedir/usr/local/mysql --datadir/data/3307/scripts/mysql_install_db --usermysql --basedir/usr/local/mysql --datadir/data/3308/3.3准备配置文件mysqld_multi --example /data/multi.cnf #提供多配置文件模板3.4修改模板vim /data/multi.cnf[mysqld_multi]mysqld /usr/local/mysql/bin/mysqld_safemysqladmin /usr/local/mysql/bin/mysqladminuser root#password my_password [mysqld1]socket /tmp/mysql1.sockport 3306pid-file /data/3306/mysql.piddatadir /data/3306/#language /usr/local/mysql/share/mysql/english#user unix_user1 [mysqld2]#mysqld /path/to/mysqld_safe#ledir /path/to/mysqld-binary/#mysqladmin /path/to/mysqladminsocket /tmp/mysql2.sockport 3307pid-file /data/3307/mysql.piddatadir /data/3307#language /usr/local/mysql/share/mysql/swedish#user unix_user2[mysqld3]socket /tmp/mysql3.sockport 3308pid-file /data/3308/mysql.piddatadir /data/3308/#language /usr/local/mysql/share/mysql/estonia#user unix_user3注释如果有一些配置需要改动请在[mysql#]下添加相应的值就好了改变配置文件cp /data/multi.cnf /etc/my.cnf启动mysql多实例mysqld_multi start 1,2,3ss -tnul #查看监听端口LISTEN 0 50 :3306 : LISTEN 0 50 :3307 : LISTEN 0 50 :3308 :*、登录mysql与一些安全措施 mysql -S /tmp/mysql.sock1 #指定socket登录 mysql show databases;--------------------| Database |--------------------| information_schema || mysql || performance_schema || test |--------------------4 rows in set (0.01 sec) mysql drop database test;Query OK, 0 rows affected (0.04 sec) mysql select User,Host from mysql.user;-----------------| User | Host |-----------------| root | 127.0.0.1 || root | ::1 || | localhost || root | localhost || | node1 || root | node1 |-----------------6 rows in set (0.01 sec) mysql delete from mysql.user where User;Query OK, 2 rows affected (0.00 sec) mysql delete from mysql.user where Host::1;Query OK, 1 row affected (0.00 sec) mysql delete from mysql.user where Hostnode1;Query OK, 1 row affected (0.00 sec)其余的操作类似就不在演示 8、关闭MySQL mysqladmin -S /tmp/mysql.sock1 shutdown 建议使用musqld_multi --defaults-file stop [#,#]killall mysqld 不建议使用9,、提供简易管理脚本 #!/bin/bash#basedir/usr/local/mysqlbindir/usr/local/mysql/binconf/data/multi.cnfexport PATH$bindir:/$PATHif test -x $bindir/mysqld_multi then mysqld_multi$bindir/mysqld_multi; else echo Cant execute $bindir/mysqld_multi from dir $basedir; exit; ficase $1 in start ) $mysqld_multi --defaults-extra-file$conf start $2 ;; stop ) $mysqld_multi --defaults-extra-file$conf stop $2 ;; report ) $mysqld_multi --defaults-extra-file$conf report $2 ;; restart ) $mysqld_multi --defaults-extra-file$conf stop $2 $mysqld_multi --defaults-extra-file$conf start $2 ;; *) echo Usage: $0 {start|stop|report|restart} 2 ;; esac10、为mysql的root用户创建密码 mysqladmin -uroot -S /tmp/mysql.sock2 password 123456 #指定socket文件位置即可转载于:https://blog.51cto.com/9025736/2061905