在一台物理机中需要多个测试环境,那么就需要用到了搭建数据库的多个实例,多个实例的意思就是运行多份程序,实例与实例之间" />

威尼斯人棋牌编译安装zabbix3.2,编译zabbix3.2

MySQL的多实例配置

style="font-family: 黑体; font-size: 16px">在一台物理机中需要多个测试环境,那么就需要用到了搭建数据库的多个实例,多个实例的意思就是运行多份程序,实例与实例之间没有影响。要注意监听的端口需要不同。也就是在一台主机上跑好多个mysql实例数据库,每个数据库自己管理自己独立的数据库文件。

准备环境:centos7.4,关闭防火墙,关闭SElinux,yum安装实现多实例   yum install mariadb-server

1:创建运行的目录环境

[root@centos7 ~]# mkdir /mysqldb/{3306,3307,3308}/{etc,socket,pid,log,data} -pv
[root@centos7 ~]# chown -R mysql.mysql /mysqldb/  指定文件夹的所有者,所属组 ,这样mysql对所有的文件夹起到控制的作用
[root@centos7 ~]# tree /mysqldb/

威尼斯人棋牌 1

2:(创建数据库)生成三个不用的数据库文件放到各自的data文件夹中

[root@centos7 ~]# mysql_install_db --datadir=/mysqldb/3306/data/ --user=mysql

[root@centos7 ~]# mysql_install_db --datadir=/mysqldb/3307/data/ --user=mysql

[root@centos7 ~]# mysql_install_db --datadir=/mysqldb/3308/data/ --user=mysql

3、复制模板配置文件,并进行修改配置文件

[root@centos7 ~]# cp /etc/my.cnf /mysqldb/3306/etc/
[root@centos7 ~]# cp /etc/my.cnf /mysqldb/3307/etc/
[root@centos7 ~]# cp /etc/my.cnf /mysqldb/3308/etc/
[root@centos7 ~]# vim  /mysqldb/3308/etc/my.cnf 
[mysqld]
port=3308
datadir=/mysqldb/3308/data
socket=/mysqldb/3308/socket/mysql.sock
symbolic-links=0
[mysqld_safe]
log-error=/mysqldb/3308/log/mariadb.log
pid-file=/mysqldb/3308/pid/mariadb.pid
[root@centos7 ~]# cp /mysqldb/3308/etc/my.cnf  /mysqldb/3306/etc/my.cnf
[root@centos7 ~]# cp /mysqldb/3308/etc/my.cnf  /mysqldb/3307/etc/my.cnf
:%s /3308/3307/g 脚本搜索全局替换

4:准备启动服务脚本

[root@centos7 ~]# vim mysql
#!bin/bash/
port=3306   #需要修改为当前实例的端口号
mysql_user="root"
mysql_pwd=""
cmd_path="/usr/bin"  #安装目录下的bin
mysql_basedir="/mysqldb"  #实例数据库文件所在目录,根目录
mysql_sock="${mysql_basedir}/${port}/socket/mysql.sock"

function_start_mysql()
{
if [ ! -e "$mysql_sock" ];then
printf "Starting MySQL...n"
${cmd_path}/mysqld_safe --defaults-file=${mysql_basedir}/${port}/etc/my.cnf &> /dev/null &
else
printf "MySQL is running...n"
exit
fi
}


function_stop_mysql()
{
if [ ! -e "$mysql_sock" ];then
printf "MySQL is stopped...n"
exit
else
printf "Stoping MySQL...n"
${cmd_path}/mysqladmin -u ${mysql_user} -p${mysql_pwd} -S ${mysql_sock} shutdown

[root@centos7 ~]# cp mysql /mysqldb/3306/
[root@centos7 ~]# cp mysql /mysqldb/3307/
[root@centos7 ~]# cp mysql /mysqldb/3308/

5:修改脚本权限,安全保障,防止密码被人看到

[root@centos7 ~]# chmod 700 /mysqldb/3308/mysql
[root@centos7 ~]# chmod 700 /mysqldb/3307/mysql
[root@centos7 ~]# chmod 700 /mysqldb/3306/mysql 

6:启动服务

[root@centos7 /mysqldb]# service mysql stop  #保证自己原来的服务停止,释放3306端口
[root@centos7 /mysqldb]#sh /mysqldb/3306/mysqld start
[root@centos7 /mysqldb]#sh /mysqldb/3307/mysqld start
[root@centos7 /mysqldb]#sh /mysqldb/3308/mysqld start   

威尼斯人棋牌 2

#如果看到三个实例监听的端口都打开后说明服务启动正常

7:连接测试

[root@centos7 /mysqldb]# mysql -S /mysqldb/3308/socket/mysql.sock

威尼斯人棋牌 3

8:​多实例搭建成功!以下命令可用来停止实例

[root@centos7 /mysqldb]# sh /mysqldb/3308/mysqld stop

9:给root加密码

[root@centos7 /mysqldb]# mysql -S /mysqldb/3307/socket/mysql.sock 
Welcome to the MariaDB monitor.  Commands end with ; or g.
Your MariaDB connection id is 8
Server version: 10.2.16-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or 'h' for help. Type 'c' to clear the current input statem
ent.
MariaDB [(none)]> grant all on *.* to root@localhost  IDENTIFIED BY '111111';
MariaDB [(none)]> use mysql;
Database changed
MariaDB [mysql]> select user,host from user; 

MariaDB [mysql]> select user,host,password from user; 
 ------ ----------- ------------------------------------------- 
| user | host      | password                                  |
 ------ ----------- ------------------------------------------- 
| root | localhost | *FD571203974BA9AFE270FE62151AE967ECA5E0AA |
| root | centos7   |                                           |
| root | 127.0.0.1 |                                           |
| root | ::1       |                                           |
|      | localhost |                                           |
|      | centos7   |                                           |
 ------ ----------- ------------------------------------------- 

[root@centos7 /mysqldb]# mysql -uroot -S /mysqldb/3307/socket/mysql.sock -p111111
#指定密码,再次登录

 

 

 

 

编译安装zabbix3.2,编译zabbix3.2

1.1 环境准备

系统环境准备:
redhat 6.6 64位
mysql-5.6.34
php-5.6.28
zabbix-3.2.1

配置前先关闭iptables和SELINUX,避免安装过程中报错。

# service iptables stop

# setenforce 0

# vi /etc/sysconfig/selinux

SELINUX=disabled

zabbix3.2.0对环境的要求 :
MySQL 5.1以上最好是 5.6或者更高的版本
PHP 5.4或者更高的版本

1.2 LAMP安装

1.2.1 yum安装httpd

安装Apahce, PHP, MySQL以及php连接mysql库组件。

#yum -y install httpd httpd-devel

 

 

1.2.2 编译安装mysql5.6

安装编译源码所需的工具和库

yum install 

make 

gcc 

gcc-c   

ncurses-devel 

cmake

 

新增mysql用户组:

groupadd mysql  

新增mysql用户:

useradd  -g mysql mysql  -s /sbin/nologin

chmod 755 /home/mysql/

新建MySQL所需要的目录

新建mysql安装目录:

mkdir -p /usr/local/mysql  

新建mysql数据库数据文件目录:

mkdir -p /data/mysqldb 

 

编译安装:

cmake  

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql 

-DMYSQL_DATADIR=/data/mysqldb/ 

-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock 

-DWITH_MYISAM_STORAGE_ENGINE=1 

-DWITH_INNOBASE_STORAGE_ENGINE=1 

-DWITH_ARCHIVE_STORAGE_ENGINE=1 

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 

-DENABLED_LOCAL_INFILE=1 

-DDEFAULT_CHARSET=utf8 

-DDEFAULT_COLLATION=utf8_general_ci 

-DEXTRA_CHARSETS=all 

-DWITH_SSL=system 

-DMYSQL_TCP_PORT=3306 

--enable-proxy 

-DWITH_SSL=bundled

 

注:重新运行配置,需要删除CMakeCache.txt文件

rm -f CMakeCache.txt 

make

make install

 

修改mysql安装目录

chown -R mysql:mysql /usr/local/mysql

修改mysql数据库文件目录

chown -R mysql:mysql /data/mysqldb

 

初始化配置

进入安装路径

# cd /usr/local/mysql

进入安装路径,执行初始化配置脚本,创建系统自带的数据库和表

# scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/data/mysqldb --user=mysql

注:在启动MySQL服务时,会按照一定次序搜索my.cnf,先在/etc目录下找,找不到则会搜索"$basedir/my.cnf"

注意:若在/etc目录下会存在一个my.cnf,需要将此文件更名为其他的名字,如:/etc/my.cnf.bak,否则,该文件会干扰源码安装的MySQL的正确配置,造成无法启动。

在使用"yum update"更新系统后,需要检查下/etc目录下是否会多出一个my.cnf,如果多出,将它重命名成别的。否则,MySQL将使用这个配置文件启动,可能造成无法正常启动等问题。

复制mysql服务启动配置文件

# mv /etc/my.cnf /etc/my.cnf.bak

# cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf 

 

启动MySQL

添加服务,拷贝服务脚本到init.d目录,并设置开机启动

# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld 

设置开机启动

chkconfig mysqld on 

service mysqld start

配置用户

MySQL启动成功后,root默认没有密码,我们需要设置root密码。

设置之前,我们需要先设置PATH,要不不能直接调用mysql

修改/etc/profile文件,在文件末尾添加

PATH=/usr/local/mysql/bin:$PATH

export PATH

让配置立即生效

source /etc/profile

修改数据库的root密码:

mysql -uroot  

mysql> SET PASSWORD = PASSWORD('123abc');

或是

# mysqladmin -uroot -p password 123abc
Enter password:        这里直接回车
Warning: Using a password on the command line interface can be insecure.

若要设置root用户可以远程访问,执行

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'172.16.%' IDENTIFIED BY 'password' WITH GRANT OPTION;

红色的password为远程访问时,root用户的密码,可以和本地不同。

 

配置防火墙

防火墙的3306端口默认没有开启,若要远程访问,需要开启这个端口

打开/etc/sysconfig/iptables文件,在“-A INPUT –m state --state NEW –m tcp –p –dport 22 –j ACCEPT”,下添加:

-A INPUT -m state --state NEW -m tcp -p -dport 3306 -j ACCEPT

然后保存,并关闭该文件,在终端内运行下面的命令,刷新防火墙配置:

 service iptables restart 

OK,一切配置完毕,你可以访问你的MySQL了~

1.2.3编译安装PHP5.6

添加依赖应用

yum install -y gcc 

gcc-c   

autoconf 

libjpeg 

libjpeg-devel 

libpng 

libpng-devel 

freetype 

freetype-devel 

libpng 

libpng-devel 

libxml2 

libxml2-devel 

zlib 

zlib-devel 

glibc 

glibc-devel 

glib2 

glib2-devel 

bzip2 

bzip2-devel 

ncurses 

curl 

openssl-devel 

db4-devel 

libXpm-devel 

libX11-devel 

gmp-devel 

readline-devel 

libxslt-devel 

expat-devel 

xmlrpc-c 

libcurl 

libcurl-devel 

 

安装加密扩展库,先安装Libmcrypt

1 tar zxvf libmcrypt-2.5.8.tar.gz 
2 
3 cd libmcrypt-2.5.8
4 
5 ./configure
6 
7 make
8 
9 make install

 

编译安装

./configure 

--prefix=/usr/local/php 

--with-config-file-path=/etc 

--with-apxs2=/usr/sbin/apxs 

--with-mysql=/usr/local/mysql 

--with-mysqli=/usr/local/mysql/bin/mysql_config 

--enable-inline-optimization 

--enable-fpm 

--enable-soap 

--with-libxml-dir 

--with-xmlrpc 

--with-openssl 

--with-mcrypt 

--with-mhash 

--with-pcre-regex 

--with-sqlite3 

--with-zlib 

--enable-bcmath 

--with-iconv 

--with-bz2 

--enable-calendar 

--with-curl 

--with-cdb 

--enable-dom 

--enable-exif 

--enable-fileinfo 

--enable-filter 

--with-pcre-dir 

--enable-ftp 

--with-gd 

--with-openssl-dir 

--with-jpeg-dir 

--with-png-dir 

--with-zlib-dir  

--with-freetype-dir 

--enable-gd-native-ttf 

--with-gettext 

--with-gmp 

--with-mhash 

--enable-json 

--enable-mbstring 

--disable-mbregex 

--disable-mbregex-backtrack 

--with-libmbfl 

--with-onig 

--enable-pdo 

--with-pdo-mysql 

--with-zlib-dir 

--with-pdo-sqlite 

--with-readline 

--enable-session 

--enable-shmop 

--enable-simplexml 

--enable-sockets 

--enable-sysvmsg 

--enable-sysvsem 

--enable-sysvshm 

--enable-wddx 

--with-libxml-dir  

--with-xsl 

--enable-zip 

--enable-mysqlnd-compression-support 

--with-pear

其中--with-apxs2是用来生成Apache的PHP模块libphp5.so的,不需要可以去掉.

make
make install

php配置

php.ini是php运行核心配置文件

php-fpm.conf是php-fpm进程服务的配置文件

1 # cd php-5.6.28
2 
3 # cp php.ini-production /etc/php.ini
4 
5 # cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
6 
7 # cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
8 
9 # chmod  x /etc/init.d/php-fpm

 

 

fpm测试php配置

# /usr/local/php/sbin/php-fpm -t

[23-May-2016 20:03:52] NOTICE: 

configuration file /usr/local/php/etc/php-fpm.conf test is successful

 

 

本文由威尼斯人棋牌发布于计算机教程,转载请注明出处:威尼斯人棋牌编译安装zabbix3.2,编译zabbix3.2