Centos6.3下单系统多mysql实例配置

本文涉及的产品
RDS AI 助手,专业版
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
简介:

   最近因为单位项目扩充,需要在原线上数据库服务器上加装一个mysql实例(实际上就是从新编译安装一个非3306的自定义端口,不同目录的mysql),研究了一天,终于顺利搞定,这里把配置步骤发给大家,供大家学习使用.


注:本文档做了两个MYSQL实例,多个实例方法以此类推


LINUX操作系统:centOS6.3 64bit(安装了系统默认开发包)

实例一:

MYSQL版本:mysql-5.0.56

PORT:3306

系统目录:/usr/local/mysql3306


实例二:

MYSQL版本:mysql-5.1.72

PORT:3307

系统目录:/usr/local/mysql3307


一.安装开发包(使用默认CENTOS更新源):

# yum -y install wget gcc-c++ ncurses ncurses-devel cmake make perl bison openssl openssl-devel gcc* libxml2 libxml2-devel curl-devel libjpeg* libpng* freetype*


二.关闭iptables和SELINUX

# service iptables stop

# setenforce 0

# vi /etc/sysconfig/selinux

---------------

SELINUX=disabled

---------------


三.安装mysql数据库实例

1.下载编译包:

# su -

# mkdir ~/src

# cd src

# wget http://mysql.cdpa.nsysu.edu.tw/Downloads/MySQL-5.1/mysql-5.1.73.tar.gz

# wget http://down1.chinaunix.net/distfiles/mysql-5.0.56.tar.gz


2.安装前的初始配置工作:

1).创建一个Mysql用户

# useradd mysql  

2).新建mysql下data和log子目录

# mkdir /usr/local/mysql{3306,3307}/data          

# mkdir /usr/local/mysql{3306,3307}/log

3).修改目录的所属者以及所属组权限          

# chown -R mysql:mysql /usr/local/mysql{3306,3307}/data/

# chown -R mysql:mysql /usr/local/mysql{3306,3307}/log/

# chmod 750 /usr/local/mysql{3306,3307}/data      

# chmod 750 /usr/local/mysql{3306,3307}/log  

4).创建mysql相关目录并配置权限

# mkdir -p /usr/local/mysql{3306,3307}/etc

# chown -R mysql.mysql /usr/local/mysql{3306,3307}/etc

# mkdir -p /var/run/mysqld{3306,3307}

# chown -R mysql.mysql /var/run/mysqld{3306,3307}

# mkdir -p /var/lib/mysqld{3306,3307}

# chown -R mysql.mysql /var/lib/mysqld{3306,3307}

# cp /etc/my.cnf /usr/local/mysql{3306,3307}/etc


3.解包编译安装

编译实例一:

# cd ~/src

# tar -zxvf mysql-5.0.56.tar.gz    

# cd mysql-5.0.56  

./configure --prefix=/usr/local/mysql3306 --with-mysqld-user=mysql --sysconfdir=/usr/local/mysql3306/etc  --localstatedir=/usr/local/mysql3306/data --with-tcp-port=3306 -enable-assembler --with-mysqld-ldflags=-all-static --with-charset=utf8 --with-extra-charsets=gbk -with-extra-charsets=all --with-plugins=csv,innobase,myisam,heap --with-unix-socket-path=/tmp/mysql3306.sock

# make

# make install

编译实例二:

# cd ~/src

# tar -zxvf mysql-5.1.71.tar.gz    

# cd mysql-5.1.71

./configure --prefix=/usr/local/mysql3307 --with-mysqld-user=mysql --sysconfdir=/usr/local/mysql3307/etc  --localstatedir=/usr/local/mysql3307/data --with-tcp-port=3307 -enable-assembler --with-mysqld-ldflags=-all-static --with-charset=utf8 --with-extra-charsets=gbk -with-extra-charsets=all --with-plugins=csv,innobase,myisam,heap --with-unix-socket-path=/tmp/mysql3307.sock

# make

# make install


4.编写mysql配置项:

实例一:

# vi /usr/local/mysql3306/etc/my.cnf

-------------------------------------------------------

[mysqld]

datadir=/usr/local/mysql3306/data

socket=/tmp/mysql3306.sock

user=mysql

port=3306

pid-file=/var/lib/mysqld3306/mysql.pid

# Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0


max_connections= 16384

skip-name-resolve

skip-locking

key_buffer = 256M


max_allowed_packet = 32M

table_cache = 3072

thread_cache_size = 256

sort_buffer_size = 16M

read_buffer_size = 4M

read_rnd_buffer_size = 16M

net_buffer_length = 256M

thread_stack = 8M

query_cache_size = 128M

query_cache_limit = 2M

wait_timeout=7200

interactive_timeout=7200


#log

log-error=/usr/local/mysql3306/log/error.log

log=/usr/local/mysql3306/log/mysql.log

long_query_time=2

log-slow-queries= /usr/local/mysql3306/log/slowquery.log

log-bin= /usr/local/mysql3306/log/bin.log

expire_logs_days = 15

sync_binlog = 1

max_binlog_cache_size = 4294967295

local-infile=0


[mysqld_safe]

log-error=/var/log/mysqld3306.log

pid-file=/var/run/mysqld3306/mysqld.pid

-------------------------------------------------------


实例二:

# vi /usr/local/mysql3307/etc/my.cnf

-------------------------------------------------------

[mysqld]

datadir=/usr/local/mysql3307/data

socket=/tmp/mysql3307.sock

user=mysql

port=3307

pid-file=/var/lib/mysqld3307/mysql.pid

# Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0


max_connections= 16384

skip-name-resolve

skip-locking

key_buffer = 256M


max_allowed_packet = 32M

table_cache = 3072

thread_cache_size = 256

sort_buffer_size = 16M

read_buffer_size = 4M

read_rnd_buffer_size = 16M

net_buffer_length = 256M

thread_stack = 8M

query_cache_size = 128M

query_cache_limit = 2M

wait_timeout=7200

interactive_timeout=7200


#log

log-error=/usr/local/mysql3307/log/error.log

log=/usr/local/mysql3307/log/mysql.log

long_query_time=2

log-slow-queries= /usr/local/mysql3307/log/slowquery.log

log-bin= /usr/local/mysql3307/log/bin.log

expire_logs_days = 15

sync_binlog = 1

max_binlog_cache_size = 4294967295

local-infile=0


[mysqld_safe]

log-error=/var/log/mysqld3307.log

pid-file=/var/run/mysqld3307/mysqld.pid

-------------------------------------------------------


5.将mysql的库文件路径加入系统的库文件搜索路径中

方法一:直接做软链接

# ln -s /usr/local/mysql3306/lib/mysql /usr/lib/mysql

方法二:利用ldconfig导入系统库

# echo "/usr/local/mysql3306/lib" >> /etc/ld.so.conf.d/mysql.conf

# ldconfig


6.输出mysql的头文件到系统头文件

# ln -s /usr/local/mysql3306/include/mysql /usr/include/mysql

注: 此处只需将一个mysql实例的库文件添加到系统库,无需多次添加


7.进入相应实例的安装路径,初始化各自配置脚本

实例一:

# cd /usr/local/mysql3306

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

实例二:

# cd /usr/local/mysql3307

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


8.复制mysql启动脚本到系统服务目录,并更改脚本配置

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

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

实例一:

# vi /etc/init.d/mysqld3006

搜索如下行,红色标注的为添加的参数:

---------------------------------------------

basedir=/usr/local/mysql3306

datadir=/usr/local/mysql3306/data

conf=/usr/local/mysql3306/etc/my.cnf

$bindir/mysqld_safe --defaults-file=$conf --datadir=$datadir --pid-file=$server_pid_file $other_args >/dev/null 2>&1 &

--------------------------------------------


实例二:

# vi /etc/init.d/mysqld3007

搜索如下行,红色标注的为添加的参数:

---------------------------------------------

basedir=/usr/local/mysql3307

datadir=/usr/local/mysql3307/data

conf=/usr/local/mysql3307/etc/my.cnf

$bindir/mysqld_safe --defaults-file=$conf --datadir=$datadir --pid-file=$server_pid_file $other_args >/dev/null 2>&1 &

--------------------------------------------


9.系统启动项相关配置

实例一:

# chkconfig --add mysqld3306  #添加开机启动服务

# chkconfig --level 35 mysqld3306 on  #设置mysql启动


实例二:

# chkconfig --add mysqld3307  

# chkconfig --level 35 mysqld3307 on


10.启动mysql

实例一:

# service mysqld3306 start  

实例二:

# service mysqld3307 start  


11 添加mysql命令集到系统全局变量

注:如果系统之前未安装mysql客户端,可以将编译好的mysql命令集导入系统全局变量

以后就可以直接使用mysql命令集,而不需要使用绝对路径访问.

# echo "PATH=$PATH:/usr/local/mysql3306/bin;export PATH" >> /etc/profile

# source /etc/profile


12. 设置初始账户,并登陆后台:

实例一:

# /usr/local/mysql3306/bin/mysqladmin -u root password 123456   #设置超级管理员密码

# /usr/local/mysql3306/bin/mysql -P3306 -S/tmp/mysql3306.sock -uroot -p123456 #连接数据库

wKiom1Mn8ZiA_mTlAADxcsKLR5k148.jpg


实例二:

# /usr/local/mysql3307/bin/mysqladmin -u root password 123456   #设置超级管理员密码

# /usr/local/mysql3307/bin/mysql -P3307 -S/tmp/mysql3307.sock -uroot -p123456 #连接数据库

wKiom1Mn8mSB5C49AADmRTmPQ3g181.jpg

注: 因为加了mysql环境变量,以后系统后台可以直接使用mysql命令登录,这里使用绝对路径是为了规范操作

# mysql -P3307 -S/tmp/mysql3307.sock -uroot -p123456


13.端口测试:

wKioL1Mn8ujS5RnHAAF08bZNePs425.jpg


大功告成.....O(∩_∩)O~

     本文转自 showerlee 51CTO博客,原文链接:http://blog.51cto.com/showerlee/1378606,如需转载请自行联系原作者




相关实践学习
自建数据库迁移到云数据库
本场景将引导您将网站的自建数据库平滑迁移至云数据库RDS。通过使用RDS,您可以获得稳定、可靠和安全的企业级数据库服务,可以更加专注于发展核心业务,无需过多担心数据库的管理和维护。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
6月前
|
监控 关系型数据库 MySQL
在CentOS系统中,如何统计哪个进程打开了文件描述符?
利用上述方法,你可以有效地监控和统计CentOS系统中的进程打开的文件描述符数量,以帮助排查错误或优化系统配置。通过组合使用各种工具和命令,可以获得对系统状态和行为的深入了解,进而做出相应的调整和
288 5
|
7月前
|
Ubuntu 安全 关系型数据库
安装与配置MySQL 8 on Ubuntu,包括权限授予、数据库备份及远程连接指南
以上步骤提供了在Ubuntu上从头开始设置、配置、授权、备份及恢复一个基础但完整的MySQL环境所需知识点。
773 7
|
7月前
|
SQL 监控 关系型数据库
查寻MySQL或SQL Server的连接数,并配置超时时间和最大连接量
以上步骤提供了直观、实用且易于理解且执行的指导方针来监管和优化数据库服务器配置。务必记得,在做任何重要变更前备份相关配置文件,并确保理解每个参数对系统性能可能产生影响后再做出调节。
699 11
|
8月前
|
缓存 监控 Linux
CentOS系统如何查看当前内存容量。
以上方法都不需要特殊软件或者复杂配置即可执行,在CentOS或其他Linux发行版中都适合运行,并且它们各自透露出不同角度对待问题解答方式:从简单快速到深入详尽;从用户态到核心态;从操作层数到硬件层数;满足不同用户需求与偏好。
584 8
|
8月前
|
存储 Linux 数据安全/隐私保护
确定CentOS系统分区表类型(MBR或GPT)
以上方法均能够帮助用户准确地识别出CentOS下连接硬件所应用得具体磁盘标准,并根据实际需求做进一步处理与管理工作。
773 0
|
8月前
|
Ubuntu Linux 云计算
CentOS与Ubuntu:Linux系统的双璧
选择Ubuntu还是CentOS,取决于用户的具体需求,如是否需要图形化界面、对稳定性的要求、软件包管理的偏好以及对商业支持的需求等。两者都是优秀的Linux发行版,只是在设计理念和目标用户群体上有所不同。#深度好文计划#
|
8月前
|
存储 Ubuntu Linux
VMware-安装CentOS系统教程及安装包
虚拟机相当于是一个独立于你电脑的环境,在这个环境上面,你可以安装Linux、Windows、Ubuntu等各个类型各个版本的系统,在这个系统里面你不用担心有病读等,不用担心文件误删导致系统崩溃。 虚拟机也和正常的电脑系统是一样的,也可以开关机,不用的时候,你关机就可以了,也不会占用你的系统资源,使用起来还是比较方便 这里也有已经做好的CentOS 7系统,下载下来解压后直接用VMware打开就可以使用
1405 69
|
8月前
|
Ubuntu Linux 索引
Centos 7、Debian及Ubuntu系统中安装和验证tree命令的指南。
通过上述步骤,我们可以在CentOS 7、Debian和Ubuntu系统中安装并验证 `tree`命令。在命令行界面中执行安装命令,然后通过版本检查确认安装成功。这保证了在多个平台上 `tree`命令的一致性和可用性,使得用户无论在哪种Linux发行版上都能使用此工具浏览目录结构。
682 78
|
9月前
|
缓存 NoSQL Linux
在CentOS 7系统中彻底移除MongoDB数据库的步骤
以上步骤完成后,MongoDB应该会从您的CentOS 7系统中被彻底移除。在执行上述操作前,请确保已经备份好所有重要数据以防丢失。这些步骤操作需要一些基本的Linux系统管理知识,若您对某一步骤不是非常清楚,请先进行必要的学习或咨询专业人士。在执行系统级操作时,推荐在实施前创建系统快照或备份,以便在出现问题时能够恢复到原先的状态。
889 79