怎么进入网站后台图片,jsp获取网站域名,wordpress 分类目录 seo,wordpress 优秀一.基本概念MySQL多实例就是#xff0c;在一台机器上开启多个不同的服务端口(如#xff1a;3306,3307,3308...)#xff0c;运行多个MySQL服务进程#xff0c;这些服务进程通过不同的socket监听不同的端口提供服务。MySQL可以共用一套安全程序#xff0c;使用不同的my.cnf配…一.基本概念MySQL多实例就是在一台机器上开启多个不同的服务端口(如3306,3307,3308...)运行多个MySQL服务进程这些服务进程通过不同的socket监听不同的端口提供服务。MySQL可以共用一套安全程序使用不同的my.cnf配置文件启动程序数据文件。逻辑上是独立的但是一个实例过载过高的时候会对其他造成影响。MySQL多实例的作用与问题1.有效利用服务器资源2.节约服务器资源3.资源互相抢占问题当某个服务实现并发生很高的或者有慢查询的时候这个实例会消耗很多的内存。二.MySQL常见的配置方案1.多个配置文件多个启动程序2.单一配置文件部署方案三.开始安装1.安装依赖包yum -y install ncurses-devel libaio-devel2.杀掉之前的MySQL进程pkill mysqldnetstat -ntlpps -ef | grep mysqlrm -f /etc/init.d/mysqld3.创建多实例的目录结构mkdir -p /data/{3306,3307}/datatree /data4.创建多实例的配置文件多实例启动文件的启动MySQL服务实质mysql_safe--defaults-file/data/3306/my.cnf 21 /dev/null 多实例启动文件的关闭MySQL服务实质mysqladmin -uroot -p*** -S /data/3306/mysql.sock shutdownmy.cnf[client]port 3306socket /data/3306/mysql.sock[mysql]no-auto-rehash[mysqld]user mysqlport 3306socket /data/3306/mysql.sockbasedir /application/mysqldatadir /data/3306/dataopen_files_limit 1024back_log 600max_connections 800max_connect_errors 3000table_cache 614external-locking FALSEmax_allowed_packet 8Msort_buffer_size 1Mjoin_buffer_size 1Mthread_cache_size 100thread_concurrency 2query_cache_size 2Mquery_cache_limit 1Mquery_cache_min_res_unit 2k#default_table_type InnoDBthread_stack 192K#transaction_isolation READ-COMMITTEDtmp_table_size 2Mmax_heap_table_size 2Mlong_query_time 1#log_long_format#log-error /data/3306/error.log#log-slow-queries /data/3306/slow.logpid-file /data/3306/mysql.pidlog-bin /data/3306/mysql-binrelay-log /data/3306/relay-binrelay-log-info-file /data/3306/relay-log.infobinlog_cache_size 1Mmax_binlog_cache_size 1Mmax_binlog_size 2Mexpire_logs_days 7key_buffer_size 16Mread_buffer_size 1Mread_rnd_buffer_size 1Mbulk_insert_buffer_size 1M#myisam_sort_buffer_size 1M#myisam_max_sort_file_size 10G#myisam_max_extra_sort_file_size 10G#myisam_repair_threads 1#myisam_recoverlower_case_table_names 1skip-name-resolveslave-skip-errors 1032,1062replicate-ignore-dbmysqlserver-id 1innodb_additional_mem_pool_size 4Minnodb_buffer_pool_size 32Minnodb_data_file_path ibdata1:128M:autoextendinnodb_file_io_threads 4innodb_thread_concurrency 8innodb_flush_log_at_trx_commit 2innodb_log_buffer_size 2Minnodb_log_file_size 4Minnodb_log_files_in_group 3innodb_max_dirty_pages_pct 90innodb_lock_wait_timeout 120innodb_file_per_table 0[mysqldump]quickmax_allowed_packet 2M[mysqld_safe]log-error/data/3306/mysql_qb3306.errpid-file/data/3306/mysqld.pid配置的时候需要注意端口还有***的日志需要自己知道在哪方便排错;再有就是有一个server-id 1***每个实例的id不要一样。mysql(启动关闭服务的脚本)#!/bin/sh#initport3306mysql_userrootmysql_pwdqb123CmdPath/application/mysql/binmysql_sock/data/${port}/mysql.sock#startup functionfunction_start_mysql(){if [ ! -e $mysql_sock];thenprintf Starting MySQL...\n/bin/sh ${CmdPath}/mysqld_safe --defaults-file/data/${port}/my.cnf 21 /dev/null elseprintf MySQL is running...\nexitfi}#stop functionfunction_stop_mysql(){if [ ! -e $mysql_sock];thenprintf MySQL is stopped...\nexitelseprintf Stoping MySQL...\n${CmdPath}/mysqladmin -u ${mysql_user} -p${mysql_pwd} -S /data/${port}/mysql.sock shutdownfi}#restart functionfunction_restart_mysql(){printf Restarting MySQL...\nfunction_stop_mysqlsleep 2function_start_mysql}case$1instart)function_start_mysql;;stop)function_stop_mysql;;restart)function_restart_mysql;;*)printf Usage: /data/${port}/mysql {start|stop|restart}\nesac5.授权chown -R mysql.mysql /data/find /data/ -type f -namemysql| xargs ls -lfind /data/ -type f -namemysql| xargs chmod x如果没做会出现文件找不见问题希望遇到想到这里。6.配置mysql命令的全局使用路径(PATH)7.初始化(每个端口都做这里做3306)cd mysql/scripts/./mysql_install_db --basedir/application/mysql --datadir/data/3306/data/ --usermysql(看见两个OK即为初始化成功)(这样做是为了创建基本的数据文件)8.启动服务/data/3306/mysql start/data/3307/mysql startnetstat -ntlup | grep 330如果端口没有起来排查办法如下等几十秒可能起来比较慢看日志tail /data/3306/mysql_qb3306.err细看执行命令的屏幕返回输出查看系统日志/var/log/messages注由于脚本不是很完善重启命令***是/data/3306/mysql stop/data/3306/mysql start9.多实例登录mysql -S /data/3306/mysql.sockmysql -S /data/3307/mysql.sock四.MySQL安全配置1.为root添加密码mysqladmin -u root -S /data/3306/mysql.sockpassword***注在/data/3306/下的mysql里面也需要改成这个密码,是mysqladmin不是mysql需要mysql服务起来要不然没有mysql.sock文件正因为上面的原因由于密码是在一个文件里面需要设置授权设置只能root用户操作;find /data/ -type f -namemysql-execchmod 700 {} \;find /data/ -type f -namemysql-execchown root.root {} \;find /data/ -type f -namemysql-execls -l {} \;然后pkill mysqld/data/3306/mysql stop/data/3307/mysql stop/data/3307/mysql start/data/3306/mysql startnetstat -ntlup|grep 3302.查询并清理多余用户(安装MySQL的时候已经操作多)3.登录mysql -uroot -p*** -S /data/3306/mysql.sock4.修改密码先登录mysqlalteruserrootlocalhostidentifiedbynew password;五.增加一个MySQL实例mkdir -p /data/3308/datacp /data/3306/my.cnf /data/3308/cp /data/3306/mysql /data/3308/cd /data/3308lschown -R mysql.mysql /data/3308vim my.cnf:g/3306/s//3308/g-----改端口再改了server_idvim mysql改端口cd /application/mysql/scripts/./mysql_install_db --usermysql --basedir/application/mysql --datadir/data/3308/data//data/3308/mysql startmysqladmin -u root -S /data/3308/mysql.sock password***mysql -uroot -p*** -S /data/3308/mysql.sock(将/data/3308/mysql文件里面的密码也改成一样的)find /data/ -type f -namemysql-execchmod 700 {} \;find /data/ -type f -namemysql-execchown root.root {} \;find /data/ -type f -namemysql-execls -l {} \;【编辑推荐】【责任编辑武晓燕 TEL(010)68476606】点赞 0