Mysql多实例常见配置方法:
安装mysql依赖的包
yum install ncurses-devel libaio-devel -y
mysql的配置文件:拉到服务器
[root@MySql ~]# tree
.
|-- 3306
| |-- my.cnf
| `-- mysql
|-- 3307
| |-- my.cnf
| `-- mysql
拷贝配置文件
[root@MySql ~]# mkdir -p /data/3306
[root@MySql ~]# mkdir -p /data/3307
[root@MySql ~]# cp 3306/my.cnf /data/3306
[root@MySql ~]# cp 3306/mysql /data/3306
[root@MySql ~]# cp 3307/my.cnf /data/3307
[root@MySql ~]# cp 3307/mysql /data/3307
[root@MySql 3306]# vi my.cnf
server-id = 1 两个配置文件的server-id要不一样
授权:
[root@MySql 3306]# chmod +x /data/3306/mysql
[root@MySql 3306]# chmod +x /data/3307/mysql
[root@MySql ~]# chown -R mysql.mysql /data
[root@MySql 3306]# pwd
/data/3306
[root@MySql 3306]# ll
total 12
drwxr-xr-x 2 mysql mysql 4096 Mar 21 22:28 data
-rw-r--r-- 1 mysql mysql 1899 Mar 20 04:15 my.cnf
-rw-r--r-- 1 mysql mysql 1307 Mar 20 04:15 mysql
多实例启动文件的启动mysql服务实质:
mysqld_safe --defaults-file=/data/3306/my.cnf >/dev/null 2&>1
mysqld_safe --defaults-file=/data/3307/my.cnf >/dev/null 2&>1
多实例启动文件的停止mysql服务实质:
mysqladmin -uroot -p123456 -S /data/3306/mysql.sock shutdown
mysqladmin -uroot -p123456 -S /data/3307/mysql.sock shutdown
设置mysql启动命令环境变量,可以使用which mysql,然后使用cp
初始化mysql多实例的数据库文件
第一:初始化命令为:
Mysql5.1.X初始化命令:
mysql_install_db --basedir=/usr/local/mysql --datadir=/data/3306/data --user=mysql
Mysql5.5.X初始化命令:
cd /usr/local/mysql/scripts ?和5.1的路径不同,不在mysql bin路径下了。
./ mysql_install_db --basedir=/usr/local/mysql --datadir=/data/3306/data --user=mysql
操作
[root@MySql ~]# cd /usr/local/mysql/scripts/
[root@MySql scripts]# ll
total 16
-rwxr-xr-x 1 7161 wheel 14816 Jun 19 2013 mysql_install_db
[root@MySql scripts]# ./mysql_install_db --basedir=/usr/local/mysql --datadir=/data/3306/data --user=mysql
[root@MySql scripts]# ./mysql_install_db --basedir=/usr/local/mysql --datadir=/data/3307/data --user=mysql
第二:启动数据库
[root@MySql scripts]# /data/3306/mysql start
Starting MySQL...
[root@MySql scripts]# /data/3307/mysql start
Starting MySQL...
[root@MySql scripts]# netstat -lnptu |grep 330 tcp 0 0 0.0.0.0:3307 0.0.0.0:* LISTEN 6668/mysqld
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 1367/mysqld
启动后查看目录
[root@MySql 3306]# ll
total 36
drwxr-xr-x 5 mysql mysql 4096 Mar 21 23:11 data
-rw-r--r-- 1 mysql mysql 1891 Mar 21 23:05 my.cnf
-rwxr-xr-x 1 mysql mysql 1305 Mar 21 22:51 mysql
-rw-rw---- 1 mysql mysql 126 Mar 21 23:07 mysql-bin.000001
-rw-rw---- 1 mysql mysql 107 Mar 21 23:11 mysql-bin.000002
-rw-rw---- 1 mysql mysql 56 Mar 21 23:11 mysql-bin.index
srwxrwxrwx 1 mysql mysql 0 Mar 21 23:11 mysql.sock
-rw-r----- 1 mysql root 2792 Mar 21 23:11 mysql_3306.err
-rw-rw---- 1 mysql mysql 5 Mar 21 23:11 mysqld.pid
[root@MySql 3307]# ll
total 28
drwxr-xr-x 5 mysql mysql 4096 Mar 21 23:07 data
-rw-r--r-- 1 mysql mysql 1893 Mar 21 23:04 my.cnf
-rwxr-xr-x 1 mysql mysql 1305 Mar 21 22:52 mysql
srwxrwxrwx 1 mysql mysql 0 Mar 21 23:07 mysql.sock
-rw-r----- 1 mysql root 1403 Mar 21 23:07 mysql_3307.err
-rw-rw---- 1 mysql mysql 5 Mar 21 23:07 mysqld.pid
登录数据库
Mysql数据库安装完后,默认情况下,管理员账号是五密码的。
[root@MySql 3306]# mysql -S /data/3306/mysql.sock
mysql> system ls ==》不退出执行命令
data mysql mysql-bin.000002 mysql.sock mysql_oldboy3306.err
my.cnf mysql-bin.000001 mysql-bin.index mysql_3306.err mysqld.pid
system mysql -S /data/3307/mysql.sock; 直接登录到另外一个数据库
重启数据库
[root@MySql scripts]# /data/3306/mysql stop
[root@MySql scripts]# /data/3306/mysql start
mysql多实例配置完成