且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

LINUX上多MYSQL服务安装试验

更新时间:2022-09-15 19:24:06

1、按照常规安装。
[root@ff_girl mysql5122]# chown -R root .
[root@ff_girl mysql5122]# chown -R mysql data
[root@ff_girl mysql5122]# chgrp -R mysql .
[root@ff_girl mysql5122]# cp support-files/my-small.cnf /etc/my5122.cnf
[root@ff_girl mysql5122]# scripts/mysql_install_db --basedir=/usr/local/mysql5122/ --datadir=/usr/local/mysql5122/data/ --user=mysql
Installing MySQL system tables...
OK
Filling help tables...
OK

To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system

。。。
首次启动MYSQL
[root@ff_girl mysql5122]# bin/mysqld_safe --defaults-file=/etc/my5122.cnf &
[1] 13700
[root@ff_girl mysql5122]# 080124 15:01:46 mysqld_safe Logging to '/usr/local/mysql5122/data/localhost.localdomain.err'.
080124 15:01:46 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql5122/data

[root@ff_girl mysql5122]# bin/mysql -uroot -p -S/tmp/mysql5122.sock
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.1.22-rc MySQL Community Server (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema | 
| mysql              | 
| test               | 
+--------------------+
3 rows in set (0.00 sec)
给MYSQLD_MULTI赋SHUTDOWN权限。
mysql> grant shutdown on *.* to multi_admin@'localhost' identified by '123456';
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> exit
Bye
停掉MYSQL服务。
[root@ff_girl ~]# /usr/local/mysql5122/bin/mysqladmin -uroot -p -S/tmp/mysql5122.sock shutdown
Enter password: 
[root@ff_girl ~]# 
拷贝元数据。
[root@ff_girl mysql5122]# cp data data2
[root@ff_girl mysql5122]# mv data data1
[root@ff_girl mysql5122]# chown -R mysql data2
[root@ff_girl mysql5122]# chgrp -R mysql .

示例配置文件

[root@ff_girl mysql5122]# cat /etc/my5122.cnf 
[mysqld_multi]
mysqld     = /usr/local/mysql5122/bin/mysqld_safe
mysqladmin = /usr/local/mysql5122/bin/mysqladmin
user       = multi_admin
password   = 123456
# The MySQL server
[mysqld1]
socket     = /tmp/mysql1.sock
port       = 3307
pid-file   = /usr/local/mysql5122/data1/david_yeung.pid1
datadir    = /usr/local/mysql5122/data1
language   = /usr/local/mysql5122/share/mysql/english
user       = mysql
# The MySQL server
[mysqld2]
port            = 3308
socket          = /tmp/mysql2.sock
pid-file   = /usr/local/mysql5122/data2/david_yeung.pid2
datadir    = /usr/local/mysql5122/data2
language   = /usr/local/mysql5122/share/mysql/english
user       = mysql
。。。
[isamchk]
key_buffer = 8M
sort_buffer_size = 8M

[myisamchk]
key_buffer = 8M
sort_buffer_size = 8M

[mysqlhotcopy]
interactive-timeout
[root@ff_girl mysql5122]# 

启动两个MYSQL服务
[root@ff_girl mysql5122]# /usr/local/mysql5122/bin/mysqld_multi --config-file=/etc/my5122.cnf start 1-2
[root@ff_girl mysql5122]# netstat -an | grep 3307
tcp        0      0 0.0.0.0:3307                0.0.0.0:*                   LISTEN      
[root@ff_girl mysql5122]# netstat -an | grep 3308
tcp        0      0 0.0.0.0:3308                0.0.0.0:*                   LISTEN      
[root@ff_girl mysql5122]# /usr/local/mysql/bin/mysql -uroot -p -S/tmp/mysql1.sock
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.1.22-rc-log MySQL Community Server (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> \q
Bye
[root@ff_girl mysql5122]# /usr/local/mysql/bin/mysql -uroot -p -S/tmp/mysql2.sock
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.1.22-rc-log MySQL Community Server (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> \q
Bye
[root@ff_girl mysql5122]# 


2、另外一种。
[root@ff_girl mysql512]# chown -R root .
[root@ff_girl mysql512]# chown -R mysql data
[root@ff_girl mysql512]# chgrp -R mysql .
[root@ff_girl mysql512]# scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql512/ --datadir=/usr/local/mysql512/data/ 
[root@ff_girl mysql512]# cp support-files/my-huge.cnf /etc/my512.cnf
并且修改如下部分。
[client]
port            = 3308
socket          = /tmp/mysql512.sock

# The MySQL server
[mysqld]
user=mysql
basedir=/usr/local/mysql512
datadir=/usr/local/mysql512/data
port            = 3308
socket          = /tmp/mysql512.sock

[root@ff_girl mysql512]# /usr/local/mysql512/bin/mysqld_safe --defaults-file=/etc/my512.cnf &
[root@ff_girl mysql512]# /usr/local/mysql/bin/mysql -uroot -p -S/tmp/mysql512.sock
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.1.22-rc-log MySQL Community Server (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema | 
| mysql              | 
| test               | 
+--------------------+
3 rows in set (0.00 sec)

mysql> \q
Bye
确定3308端口是否在运行。
[root@ff_girl mysql512]# netstat -an |grep 3308
tcp        0      0 0.0.0.0:3308                0.0.0.0:*                   LISTEN   
把脚本写到启动文件里:

/usr/local/mysql512/bin/mysqld_safe --defaults-file=/etc/my512.cnf







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