zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

Centos中安装多个mysql数据的配置实例

2023-06-13 09:15:24 时间

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

LINUX操作系统:centOS6.364bit(安装了系统默认开发包)
数据库一:
MYSQL版本:mysql-5.0.56
PORT:3306
系统目录:/usr/local/mysql3306
数据库二:
MYSQL版本:mysql-5.1.72
PORT:3307
系统目录:/usr/local/mysql3307

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

复制代码代码如下:
#yum-yinstallwgetgcc-c++ncursesncurses-develcmakemakeperlbisonopensslopenssl-develgcc*libxml2libxml2-develcurl-devellibjpeg*libpng*freetype*

二.关闭iptables和SELINUX
复制代码代码如下:
#serviceiptablesstop
#setenforce0
#vi/etc/sysconfig/selinux
---------------
SELINUX=disabled

---------------
三.安装mysql数据库实例
1.下载编译包:
复制代码代码如下:#su-
#mkdir~/src
#cdsrc
#wgethttp://mysql.cdpa.nsysu.edu.tw/Downloads/MySQL-5.1/mysql-5.1.73.tar.gz
#wgethttp://down1.chinaunix.net/distfiles/mysql-5.0.56.tar.gz
2.安装前的初始配置工作:
1).创建一个Mysql用户
复制代码代码如下:#useraddmysql 
2).新建mysql下data和log子目录
复制代码代码如下:#mkdir/usr/local/mysql{3306,3307}/data         
#mkdir/usr/local/mysql{3306,3307}/log
3).修改目录的所属者以及所属组权限         
复制代码代码如下:#chown-Rmysql:mysql/usr/local/mysql{3306,3307}/data/
#chown-Rmysql:mysql/usr/local/mysql{3306,3307}/log/
#chmod750/usr/local/mysql{3306,3307}/data     
#chmod750/usr/local/mysql{3306,3307}/log 
4).创建mysql相关目录并配置权限
复制代码代码如下:#mkdir-p/usr/local/mysql{3306,3307}/etc
#chown-Rmysql.mysql/usr/local/mysql{3306,3307}/etc
#mkdir-p/var/run/mysqld{3306,3307}
#chown-Rmysql.mysql/var/run/mysqld{3306,3307}
#mkdir-p/var/lib/mysqld{3306,3307}
#chown-Rmysql.mysql/var/lib/mysqld{3306,3307}
#cp/etc/my.cnf/usr/local/mysql{3306,3307}/etc
3.解包编译安装
编译数据库一:
复制代码代码如下:#cd~/src
#tar-zxvfmysql-5.0.56.tar.gz   
#cdmysql-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
#makeinstall
编译数据库二:
复制代码代码如下:#cd~/src
#tar-zxvfmysql-5.1.71.tar.gz   
#cdmysql-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
#makeinstall


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
#Disablingsymbolic-linksisrecommendedtopreventassortedsecurityrisks
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
#Disablingsymbolic-linksisrecommendedtopreventassortedsecurityrisks
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/null2>&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/null2>&1&
--------------------------------------------


9.系统启动项相关配置
数据库一配置:

复制代码代码如下:#chkconfig--addmysqld3306 #添加开机启动服务
#chkconfig--level35mysqld3306on #设置mysql启动
数据库二配置:
复制代码代码如下:#chkconfig--addmysqld3307 
#chkconfig--level35mysqld3307on
10.启动mysql
数据库一启动:
复制代码代码如下:#servicemysqld3306start 
数据库二启动:
复制代码代码如下:#servicemysqld3307start 
11添加mysql命令集到系统全局变量
注:如果系统之前未安装mysql客户端,可以将编译好的mysql命令集导入系统全局变量
以后就可以直接使用mysql命令集,而不需要使用绝对路径访问.
复制代码代码如下:#echo"PATH=$PATH:/usr/local/mysql3306/bin;exportPATH">>/etc/profile
#source/etc/profile
12.设置初始账户,并登陆后台:
数据库一:
复制代码代码如下:#/usr/local/mysql3306/bin/mysqladmin-urootpassword123456  #设置超级管理员密码
#/usr/local/mysql3306/bin/mysql-P3306-S/tmp/mysql3306.sock-uroot-p123456#连接数据库

数据库二:
#/usr/local/mysql3307/bin/mysqladmin-urootpassword123456  #设置超级管理员密码
#/usr/local/mysql3307/bin/mysql-P3307-S/tmp/mysql3307.sock-uroot-p123456#连接数据库

注:因为加了mysql环境变量,以后系统后台可以直接使用mysql命令登录,这里使用绝对路径是为了规范操作
#mysql-P3307-S/tmp/mysql3307.sock-uroot-p123456

13.端口测试:

复制代码代码如下:#lsof-i:3306
#lsof-i:3307

OK,大功告成!