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

永利平台娱乐:准备环境,新建mysql安装目录

2019-11-06 07:25 来源:未知

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、 LAM(M)P:

L:linux

A:apache (httpd)

M:mysql, mariadb

M:memcached 缓存

P:php, perl, python

 

WEB 资源类型:

静态资源:原始形式与响应内容一致

动态资源:原始形式通常为程序文件,需要在服务器端执行之后,将执行结果返回给客户端

 

Web 相关语言

客户端技术: javascript ,html

服务器端技术:php, jsp,python

 

 

2、LAMP的工作原理:

永利平台娱乐 4

cat /etc/mime.types 查看http默认支持的文件后缀,默认不支持PHP

 

 

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或者更高的版本

前言

   在我们使用Linux的过程中,可能会使用到数据库。那么,数据库的安装与配置就是我们需要掌握的了~所以呢,这篇博客小编就来给大家唠唠数据库的安装与配置。

    说到编译安装,小编脑海里浮现的第一个方法就是yum源安装(见实验一),毕竟,我们使用最多的安装方法就是这个了~当然,我们还有别的方法,比如二进制安装(见实验二),所以接下来我们就来详细说说这两种方法。

 

二、centos 6 编译安装LAMP,php基于FPM模式的应用WordPress

原理:实现LAMP的全过程,基于FPM模式:php以独立服务建立,且实现xcache加速

注意:一定要确保自己在纯净的环境,若有httpd、mysql、php请事先卸载

1.2 LAMP安装

实验一 yum源安装MySQL和开启设置服务

  首先,我们来看看使用yum源安装MySQL的优缺点:

  优点:安装方便快捷,安装方式简单

  缺点:太过于死板,定死了各个文件的位置

接下来,我们就开始我们的实验:

1、打开官方网站,上边有各种版本的yum源,找到自己想要的版本设置yum源

官网:https://downloads.mariadb.org/mariadb/repositories/

永利平台娱乐 5

    如果没有网络的话,就使用光盘里的yum源安装即可,都是一样的~

2、如果我们使用官网上的版本,就要按照官网的提示来配置我们的yum源,接下来,我们就以上图选择的版本来安装。

[root@centos7 ~]# vim /etc/yum.repos.d/centos7.repo [mariadb]

name = MariaDB

baseurl =

gpgcheck=0

    编辑好yum源以后,记得使用"yum clean all"清除缓存。

3、我们在此使用光盘中的yum源安装,如果大家有兴趣使用官网的源,可以参照上一步的配置,接下来的安装过程也都是一样的~

yum安装和开启服务

 1 [root@centos7 yum.repos.d]# yum install mariadb-server -y    //安装mariadb
 2 Loaded plugins: fastestmirror, langpacks
 3 Loading mirror speeds from cached hostfile
 4 Resolving Dependencies
 5 --> Running transaction check
 6 ---> Package mariadb-server.x86_64 1:5.5.52-1.el7 will be installed
 7 --> Finished Dependency Resolution
 8 
 9 Dependencies Resolved
10 
11 =====================================================================================================================================
12  Package                             Arch                        Version                             Repository                 Size
13 =====================================================================================================================================
14 Installing:
15  mariadb-server                      x86_64                      1:5.5.52-1.el7                      base                       11 M
16 
17 Transaction Summary
18 =====================================================================================================================================
19 Install  1 Package
20 
21 Total download size: 11 M
22 Installed size: 56 M
23 Downloading packages:
24 Running transaction check
25 Running transaction test
26 Transaction test succeeded
27 Running transaction
28   Installing : 1:mariadb-server-5.5.52-1.el7.x86_64                                                                              1/1 
29   Verifying  : 1:mariadb-server-5.5.52-1.el7.x86_64                                                                              1/1 
30 
31 Installed:
32   mariadb-server.x86_64 1:5.5.52-1.el7                                                                                               
33 
34 Complete!
35 [root@centos7 yum.repos.d]# systemctl start mariadb    //开启服务
36 [root@centos7 yum.repos.d]# ss -nutl        //查看服务端口开启状态
37 Netid State      Recv-Q Send-Q                   Local Address:Port                                  Peer Address:Port              
38 udp   UNCONN     0      0                                    *:5353                                             *:*                  
39 udp   UNCONN     0      0                            127.0.0.1:323                                              *:*                  
40 udp   UNCONN     0      0                                    *:60083                                            *:*                  
41 udp   UNCONN     0      0                                  ::1:323                                             :::*                  
42 tcp   LISTEN     0      50                                   *:3306                                             *:*                  
43 tcp   LISTEN     0      128                                  *:111                                              *:*                  
44 tcp   LISTEN     0      128                                  *:22                                               *:*                  
45 tcp   LISTEN     0      128                          127.0.0.1:631                                              *:*                  
46 tcp   LISTEN     0      100                          127.0.0.1:25                                               *:*                  
47 tcp   LISTEN     0      128                                 :::111                                             :::*                  
48 tcp   LISTEN     0      128                                 :::22                                              :::*                  
49 tcp   LISTEN     0      128                                ::1:631                                             :::*                  
50 tcp   LISTEN     0      100                                ::1:25                                              :::*  

永利平台娱乐 6

查询端口对应的进程信息 lsof -i :3306 或 netstat -tnlp | grep 3306

永利平台娱乐 7

开启服务后,会多一个mysql的用户,我们可以查询一下,它的家目录的作用是存放数据库,也就是存放数据库中的每个表:

永利平台娱乐 8

之所以会生成这个用户,是因为在安装maria包时,执行了一个脚本,所以,如果我们使用二进制安装,则需手动创建用户

rpm -q --scripts mariadb-server 查看这个脚本

永利平台娱乐 9

    截图只截取了一小部分,主要是为了告诉大家有创建用户的这个过程

4、执行"mysql"命令来运行数据库

    首先我们将用户切换至任一普通用户:su

  • keer

    然后执行"mysql"命令来运行数据库:

永利平台娱乐 10

    我们可以看出,我们可以匿名登录,而且即使我们切换成了普通用户,我们运行数据库以后,依然默认是root登录,可以对数据库进行查看以及删除等操作,这样无疑是很不安全的,所以就需要进行我们的下一步操作:

5、运行安全脚本

/usr/bin/mysql_secure_installation

永利平台娱乐 11

永利平台娱乐 12

    运行过安全脚本以后,我们在用普通用户来登录试试看:

永利平台娱乐 13

    我们再来使用root登录一次,命令为:

    mysql -u root -p (passwd) 密码可以直接加在后面,也可以运行后再输入

永利平台娱乐 14

    我们可以看出,这样就可以登录至数据库了,以后我们还可以创建其他账户来登录,我们的安全机制已经实现!

    实验完成!

1、准备各个包,软件+相关的包

mkdir /root/src 准备个目录放包

① 软件包

apr-1.6.2.tar.gz

apr-util-1.6.0.tar.gz

httpd-2.4.28.tar.bz2

mariadb-5.5.57-linux-x86_64.tar.gz

php-5.6.31.tar.xz

wordpress-4.8.1-zh_CN.tar.gz

xcache-3.2.0.tar.gz

永利平台娱乐 15

 

② 所依赖的相关包

openssl-devel expat-devel pcre-devel   http所依赖的

bzip2-devel libxml2-devel libmcrypt-devel   php所依赖的,注意:需epel扩展源

 

1.2.1 yum安装httpd

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

#yum -y install httpd httpd-devel

 

 

实验二:二进制安装mariadb和开启设置服务

注意:安装之前要确保自己系统上没有mariadb服务,有老版本可以先卸掉

1、rpm -qi mariadb 可以查询官网

永利平台娱乐 16

去官网下载自己想要的版本 http://mariadb.org

在虚拟机中把下好的包上传(rz),并对其进行解包解压缩:

tar xvf mariadb-10.2.8-linux-x86_64.tar.gz -C /usr/local/

(不像编译安装一样,解包可以放在任何目录,这个二进制安装必须指定在这个目录

解压的过程略久,大家耐心等待~

2、去查看文件

cd /usr/local/ 进入解开压缩包的目录,发现mariadb的目录名字不符合要求,所以我们可以直接修改名字,也可以创建一个软连接,创建软连接命令如下:

ln -s mariadb-10.2.8-linux-x86_64/ mysql

永利平台娱乐 17

3、创建mysql用户(很重要!一定不能忘!)

useradd -d /app/mysqldb -r -m -s /sbin/nologin mysql

4、创建修改配置文件

    进入mysql文件夹,查看support-files文件夹中的内容,发现里面有我们的配置文件,但是配置文件不应该在这个目录下,应该放在/etc/mysql/下,所以,我们要创建这个目录,并把配置文件复制进去,具体的操作如下:

 1 [root@centos7 local]# cd mysql/
 2 [root@centos7 mysql]# ls
 3 bin      COPYING.thirdparty  data               include         lib  mysql-test  README-wsrep  share      support-files
 4 COPYING  CREDITS             EXCEPTIONS-CLIENT  INSTALL-BINARY  man  README.md   scripts       sql-bench
 5 [root@centos7 mysql]# ls support-files/
 6 binary-configure  my-huge.cnf             my-large.cnf   my-small.cnf         mysql-log-rotate  policy     wsrep_notify
 7 magic             my-innodb-heavy-4G.cnf  my-medium.cnf  mysqld_multi.server  mysql.server      wsrep.cnf
 8 [root@centos7 mysql]# mkdir /etc/mysql
 9 mkdir: cannot create directory ‘/etc/mysql’: File exists
10 [root@centos7 mysql]# cp support-files/my-huge.cnf /etc/mysql/my.cnf

    接下来我们来修改配置文件:

vim /etc/mysql/my.cnf

[mysqld]

datadir = /app/mysqldb          //指定总目录,必须的

innodb_file_per_table = on         //让每一个表数据库都是一个文件,方便管理

skip_name_resolve = on             //忽略名字的反向解析,加快速度

永利平台娱乐 18

5、执行脚本,创建系统数据库

cd /usr/local/mysql 一定要在这个目录下执行脚本,因为脚本写死了

./scripts/mysql_install_db --user=mysql --datadir=/app/mysqldb 执行脚本

完成后就会在/app/mysqldb/ 生成mysql系统数据库

 

6、把服务脚本复制过去

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

chkconfig --add mysqld 设置服务在哪个运行级别

chkconfig --list mysqld

永利平台娱乐 19

    设置完毕后,我们开启服务:

永利平台娱乐 20

开启服务失败,我们通过提示的命令来查看失败原因:

systemctl status mysqld.service

journalctl -xe

查看过后发现,是因为我们缺少日志文件,而且这个日志文件须有读写权限,接下来我们就来创建:

7、创建配置文件

1 [root@centos7 mysql]# mkdir /var/log/mariadb/
2 [root@centos7 mysql]# touch /var/log/mariadb/mariadb.log
3 [root@centos7 mysql]# chown mysql /var/log/mariadb/mariadb.log

 

创建完文件以后,我们再来开启一次试试看:

永利平台娱乐 21

服务开启成功

接下来,我们来设置一下PATH:

1 [root@centos7 mysql]# vim /etc/profile.d/mysql.sh
2 PATH=/usr/local/mysql/bin:$PATH
3 [root@centos7 mysql]# . /etc/profile.d/mysql.sh 

8、运行安全初始化脚本,同上实验,注意路径发生了改变,现在的安全脚本路径为:/usr/local/mysql/bin/mysql_secure_installation

永利平台娱乐 22

永利平台娱乐 23

    实验完成~

2、编译httpd2.4(用方法二)

① 解包解压缩,把3个都放到统一目录httpd-2.4.28下

tar xvf apr-1.6.2.tar.gz

tar xvf apr-util-1.6.0.tar.gz

tar xvf httpd-2.4.28.tar.bz2

mv apr-1.6.2 httpd-2.4.28/srclib/apr

mv apr-util-1.6.0 httpd-2.4.28/srclib/apr-util

 

② 执行脚本

cd /root/src/httpd-2.4.28

./configure --prefix=/app/httpd24

--enable-so

--enable-ssl

--enable-cgi

--enable-rewrite

--with-zlib

--with-pcre

--with-included-apr

--enable-modules=most

--enable-mpms-shared=all

--with-mpm=prefork

 

③ 并行、多线程编译安装

make -j 4 && make install

 

1.2.2 编译安装mysql5.6

3、编译安装http 后的设置

① 修改PATH路径,因为是编译安装

vim /etc/profile.d/lamp.sh

PATH=/app/httpd24/bin:/usr/local/mysql/bin/:/app/php/bin/:$PATH 顺便把后边的mysql和php的也设置进去

 

. /etc/profile.d/lamp.sh   让设置生效

 

② 设置开机自启

cp /etc/init.d/httpd /etc/init.d/httpd24   拷个服务脚本,没有的话去其他机器拷一个

vim /etc/init.d/httpd24 修改路径

永利平台娱乐 24

chkconfig --add httpd24 设置开机启动,哪个级别

service httpd24 start 开启服务

 

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

yum install 

make 

gcc 

gcc-c++ 

ncurses-devel 

cmake

 

4、二进制安装mariadb-5.5.57

新增mysql用户组:

groupadd mysql  

(1) 解包解压缩

tar xvf mariadb-5.5.57-linux-x86_永利平台娱乐,64.tar.gz -C /usr/local/

 

新增mysql用户:

useradd  -g mysql mysql  -s /sbin/nologin

chmod 755 /home/mysql/

(2) 创建mysql用户

① 加硬盘,创建逻辑卷,存放数据库

以为要存放数据库,最好空间越大越好,这里用一个硬盘作为逻辑卷,不够可以加空间

echo '- - -' > /sys/class/scsi_host/host2/scan    同步硬盘,虚拟机才能用,host2不行就host0

② 创建逻辑卷

pvcreate /dev/sdb 创建pv

vgcreate vg_mysqldb /dev/sdb 创建vg

lvcreate -n lv_mysqldb -l +100%FREE vg_mysqldb 创建lv

mkfs.ext4 /dev/vg_mysqldb/lv_mysqldb -L /data/mysqldb  文件系统格式化

③ 挂载

mkdir /data/mysqldb -p   创建挂载点,就是数据库存放的地方

vim /etc/fstab   设置开机自动挂载

/dev/vg_mysqldb/lv_mysqldb /data/mysqldb ext4 defaults,acl 0 0

永利平台娱乐 25

mount -a 挂载

 

④ 创建用户

useradd -d /data/mysqldb -r -m -s /sbin/nologin mysql

chown mysql /data/mysqldb/

 

新建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

 

(3) cd /usr/local/ 发现mariadb的目录名字不符合要求

ln -s mariadb-5.5.57-linux-x86_64/ mysql   创建软连接也可以改名

 

初始化配置

进入安装路径

# 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将使用这个配置文件启动,可能造成无法正常启动等问题。

(4) 创建修改配置文件

① 拷贝配置文件

cd /usr/local/mysql/

ls support-files/   包里自带的有配置文件,但地方不对,要放在/etc/mysql/my.cnf

mkdir /etc/mysql

cp support-files/my-huge.cnf /etc/mysql/my.cnf

 

② 修改配置文件

vim /etc/mysql/my.cnf 修改配置文件

[mysqld]

datadir = /data/mysqldb   //指定总目录,必须的

innodb_file_per_table = on  //让每一个表数据库都是一个文件,方便管理

skip_name_resolve = on   //忽略名字的反向解析,加快速度

 

TAG标签:
版权声明:本文由永利平台娱乐发布于新闻动态,转载请注明出处:永利平台娱乐:准备环境,新建mysql安装目录