Heim > Datenbank > MySQL-Tutorial > MYSQL 多实例运作

MYSQL 多实例运作

WBOY
Freigeben: 2016-06-07 16:24:57
Original
876 Leute haben es durchsucht

MYSQL 多实例运行 mysql可以以多实例的方式,实现一台服务器,运行在不同端口不同数据文件的mysql,它们是相互独立的。 1、关闭原有的默认端口3306的mysql:service mysqd stop 2、拷贝或创建数据文件 ? #拷贝现有的mysql数据库文件#我的在/var/lib/mysql,拷

MYSQL 多实例运行

mysql可以以多实例的方式,实现一台服务器,运行在不同端口不同数据文件的mysql,它们是相互独立的。

1、关闭原有的默认端口3306的mysql:service mysqd stop

2、拷贝或创建数据文件

?

#拷贝现有的mysql数据库文件
#我的在/var/lib/mysql,拷贝一份至mysql_3307文件夹
[root@test-206 ~]# cp -r /var/lib/mysql /var/lib/mysql_3307
Nach dem Login kopieren

?

#创建一个新的空数据库
[root@test-206 ~]# mkdir /var/lib/mysql_3307
[root@test-206 ~]# mysql_install_db --datadir=/var/lib/mysql_3307 --user=mysql
Nach dem Login kopieren

?3、给数据文件赋予mysql用户与用户组

[root@test-206 ~]# chown -R mysql.mysql /var/lib/mysql_3307
Nach dem Login kopieren

?4、创建multi的配置cnf文件,用于启动这个mysql实例(如3307)载入执行

[root@test-206 ~]# touch /usr/local/my_multi.cnf
Nach dem Login kopieren

?文件中写入你想要的配置,如下为典型配置

[mysqld_multi]
mysqld     = /usr/bin/mysqld_safe
mysqladmin = /usr/bin/mysqladmin
user       = root    #用于登陆和关闭此服务
password   = 123456   #同上

[mysqld3307]
socket     = /tmp/mysql_3307.sock
port       = 3307
pid-file   = /var/lib/mysql_3307/3307.pid
datadir    = /var/lib/mysql_3307/
log        = /var/lib/mysql_3307/3307.log
character-set-server    = utf8
user       = mysql
Nach dem Login kopieren

?5、启动你的多实例

[root@test-206 ~]# mysqld_multi --defaults-extra-file=/usr/local/my_multi.cnf start 3307
Nach dem Login kopieren

?6、检查是否启动成功

[root@test-206 ~]# netstat -ntlp
tcp        0      0 :::3306                     :::*                       LISTEN      3919/mysqld
tcp        0      0 :::3307                     :::*                        LISTEN      15027/mysqld
Nach dem Login kopieren

?

如果没有发现你要的端口号mysql实例,可以检查下/var/lib/mysql_3307/3307.log文件,排除问题

7、设置新的密码

[root@test-206 ~]#  mysqladmin -uroot -S /tmp/mysql_3307.sock password 123456
Nach dem Login kopieren

?8、登入你的新实例

[root@test-206 ~]# mysql -uroot -S /tmp/mysql_3307.sock -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.5.20-log Distributed by The IUS Community Project

Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>
Nach dem Login kopieren

?再次确认下,你的这个实例,是不是用的mysql_3307这个文件夹的数据

mysql> show variables like '%datadir%';
+---------------+----------------------+
| Variable_name | Value                |
+---------------+----------------------+
| datadir       | /var/lib/mysql_3307/ |
+---------------+----------------------+
row in set (0.00 sec)

mysql>
Nach dem Login kopieren

?恩,没有错!最后,搞搞权限、用户之类。收工!

#查用户
mysql> select user,host from mysql.user;
+------+-----------+
| user | host      |
+------+-----------+
| root | 127.0.0.1 |
| root | ::1       |
|      | localhost |
| root | localhost |
|      | test-206  |
| root | test-206  |
+------+-----------+
rows in set (0.00 sec)

#设权限
mysql> grant all on *.* to root@'%' identified by 'root' with grant option;
Query OK, 0 rows affected (0.00 sec)

##查权限
mysql> show grants for root;

##创用户
mysql> grant select on *.* to backup@'%' identified by 'backup';
Query OK, 0 rows affected (0.00 sec)
Nach dem Login kopieren

?

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage