Centos7.1 for MySQL5.6.30源码安装及多实例配置

前端之家收集整理的这篇文章主要介绍了Centos7.1 for MySQL5.6.30源码安装及多实例配置前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

预备工作:

OS:

DATABASE:MysqL-

wget /MysqL/Downloads/MysqL-/MysqL-

1.创建MysqL帐号

创建用户用户

[root@localhost~]#groupaddMysqL
[root@localhost~]#useradd-gMysqLMysqL
[root@localhost~]#passwdMysqL

2.验证安装包

解压MysqL源码包MysqL-

[root@localhost~]#mkdir-p/opt/MysqL-/
[root@localhost~]#tarzxvfMysqL--C/opt/MysqL-
[root@localhost~]#cd/opt/MysqL-/

验证之前是否安装过MysqL,若存在MysqL相关包,则rpm -e逐个删除(建议先删devel包,再MysqL包,最后强制删除libs包,centos 7默认为中为mariadb.*,依次删除

[root@localhostMysqL-]#rpm-qa|grepMysqL

再验证以下编译必备安装包是否安装:

gcc* gcc-c++* cmake autoconf* automake* zlib* ncurses-devel* libtool* bison

当缺少相关安装包时,需要通过rpm -ivh ***.rpm或yum install RPM_NAME安装

3.源码编译过程

[root@localhostMysqL-]#cmake.
-DCMAKE_INSTALL_PREFIX=/usr/local/MysqL-#安装目录
-DWITH_INNOBASE_STORAGE_ENGINE=1#支持InnoDB引擎
-DWITH-READLINE=1#支持快捷键
-DEXTRA_CHARSETS=all#安装所有字符集
-DENABLED_LOCAL_INFILE=1#从本地导入数据
-DWITH_EMBEDDED_SERVER=1#编译EmbeddedMysqL库
-DWITH_SSL=bundled#
-DDEFAULT_CHARSET=utf8#默认字符集
[root@localhostMysqL-]#make
[root@localhostMysqL-]#makeinstall
[root@localhostMysqL-]#ln-s/usr/local/MysqL-/usr/local/MysqL


4.创建MysqL数据目录及/etc/

数据存放目录,默认为basedir下的data目录(实际场景下,建议mount专用盘作为data)

[root@localhostMysqL-]#cd/usr/local/MysqL
[root@localhostMysqL]#mkdir-p/opt/MysqL/data1
[root@localhostMysqL]#chown-RMysqL:MysqL/opt/MysqL
[root@localhostMysqL]#chown-RMysqL:MysqL/usr/local/MysqL
[root@localhostMysqL]#vi/etc/
[client]
port=3306
socket=/opt/MysqL/data1/

[MysqLd_safe]
user=MysqL
nice=0

[MysqLd]
port=3306
pid-file=/opt/MysqL/data1/
socket=/opt/MysqL/data1/
basedir=/usr/local/MysqL
datadir=/opt/MysqL/data1/
tmpdir=/opt/MysqL/data1/
log-error=/opt/MysqL/data1/
slow_query_log=1
slow_query_log_file=/opt/MysqL/data1/MysqL-
log_bin=/opt/MysqL/data1/MysqL-

[MysqLdump]
quick
quote-names
max_allowed_packet=16M
default-character-set=utf8

[MysqL]
default-character-set=utf8

4.初始化MysqL

建议进入/usr/local/MysqL目录下,通过以下方式进行初始化,否则可能会报错

[root@localhostMysqL]#./scripts/MysqL_install_db--defaults-file=/etc/
[root@localhostMysqL]#./bin/MysqL_secure_installation

5.将MysqL服务加入管理

建议进入/usr/local/MysqL目录下,通过以下方式进行初始化,否则可能会报错

[root@localhostMysqL]#cp./bin/MysqL/etc//MysqL
[root@localhostMysqL]#chkconfig--addMysqL
[root@localhostMysqL]#chkconfigMysqLon
[root@localhostMysqL]#chkconfig--list

同时更改环境变量 vi ~/.bash_profile,在PATH变量后添加:/usr/local/MysqL/bin

6.启动MysqL服务的几种方式

MysqLd与MysqLd_safe的区别在于MysqLd_safe宕机后仍能重启

[root@localhostMysqL]#serviceMysqLstart
[root@localhostMysqL]#MysqLd_safe--defaults-file=/etc/&
[root@localhostMysqL]#MysqLd--defaults-file=/etc/&


MysqL多实例安装

多实例的几个好处:MysqL多实例共用同一个MysqL程序,但是使用不同的配置文件(可以相同)及端口(必须不同)来启动程序,数据文件存放在不同的文件夹中。这些多实例任务相互独立,可以有效的利用资源,实现资源的逻辑隔离。


上述1-6歩主要安装了使用3306端口的实例,我们同样可以生成其他端口的实例。这里我们通过以下步骤安装3310端口的MysqL实例。

1.创建使用3310端口的MysqL数据目录及/etc/


[root@localhostMysqL-]#cd/usr/local/MysqL
[root@localhostMysqL]#mkdir-p/opt/MysqL/data2
[root@localhostMysqL]#vi/etc/
[client]
port=3310
socket=/opt/MysqL/data2/

[MysqLd_safe]
user=MysqL
nice=0

[MysqLd]
port=3310
pid-file=/opt/MysqL/data2/
socket=/opt/MysqL/data2/
basedir=/usr/local/MysqL
datadir=/opt/MysqL/data2/
tmpdir=/opt/MysqL/data2/
log-error=/opt/MysqL/data2/
slow_query_log=1
slow_query_log_file=/opt/MysqL/data2/MysqL-
log_bin=/opt/MysqL/data2/MysqL-

[MysqLdump]
quick
quote-names
max_allowed_packet=16M
default-character-set=utf8

[MysqL]
default-character-set=utf8

2.初始化使用3310端口的MysqL

建议进入/usr/local/MysqL目录下,通过以下方式进行初始化,否则可能会报错

[root@localhostMysqL]#./scripts/MysqL_install_db--defaults-file=/etc/
[root@localhostMysqL]#./bin/MysqL_secure_installation--defaults-file=/etc/

3.编辑多实例MysqL配置文件

[root@localhostMysqL]#vi/etc/MysqL_

[MysqLd_multi]
MysqLd=/usr/local/MysqL/bin/MysqLd_safe
MysqLadmin=/usr/local/MysqL/bin/MysqLadmin

[MysqLd3306]

port=3306
pid-file=/opt/MysqL/data1/
socket=/opt/MysqL/data1/
basedir=/usr/local/MysqL
datadir=/opt/MysqL/data1/
tmpdir=/opt/MysqL/data1/
log-error=/opt/MysqL/data1/
slow_query_log=1
slow_query_log_file=/opt/MysqL/data1/MysqL-
log_bin=/opt/MysqL/data1/MysqL-

[MysqLd3310]
[client]
port=3310
socket=/opt/MysqL/data2/

[MysqLd_safe]
user=MysqL
nice=0

[MysqLd]
port=3310
pid-file=/opt/MysqL/data2/
socket=/opt/MysqL/data2/
basedir=/usr/local/MysqL
datadir=/opt/MysqL/data2/
tmpdir=/opt/MysqL/data2/
log-error=/opt/MysqL/data2/
slow_query_log=1
slow_query_log_file=/opt/MysqL/data2/MysqL-
log_bin=/opt/MysqL/data2/MysqL-

[MysqLdump]
quick
quote-names
max_allowed_packet=16M
default-character-set=utf8

[MysqL]
default-character-set=utf8

4.启动MysqL多实例

[root@localhostMysqL]#MysqLd_multi--defaults-file=/etc/MysqL_start3306
[root@localhostMysqL]#MysqLd_multi--defaults-file=/etc/MysqL_start3310

猜你在找的CentOS相关文章