我们在本地搭建主从服务器,首先得启动多个Mysql实例
默认安装的Mysql配置再/etc/mysql/my.cnf,端口3306
那下面我们在启动一个3301端口的实例
- 复制一份配置
cp /etc/mysql/my.cnf my_3301.cnf
- 创建一个给3301实例使用的文件夹
mkdir /home/mysql/3301
chown mysql:mysql /home/mysql/ -R
- 修改配置
[client]
port = 3301
socket = /home/mysql/3301/mysqld.sock
[mysqld_safe]
socket = /home/mysql/3301/mysqld.sock
[mysqld]
user = mysql
pid-file = /home/mysql/3301/mysqld.pid
socket = /home/mysql/3301/mysqld.sock
port = 3301
basedir = /usr
datadir = /var/lib/mysql_3301
tmpdir = /tmp
- 初始化数据库
sudo mysql_install_db --defaults-file=/etc/mysql/my_3301.cnf --basedir=/usr/ --datadir=/var/lib/mysql_3301 --user=mysql
5.启动MySql, 要指定.cnf文件启动
sudo mysqld_safe --defaults-file=/etc/mysql/my_3301.cnf --user=mysql
看看我们的成果:
[/home/mysql]$ ps aux|grep 3301
root 14554 0.0 0.0 75556 1232 ? S 11:26 0:00 sudo mysqld_safe --defaults-file=/etc/mysql/my_3301.cnf --user=mysql
root 14555 0.0 0.0 4440 628 ? S 11:26 0:00 /bin/sh /usr/bin/mysqld_safe --defaults-file=/etc/mysql/my_3301.cnf --user=mysql
mysql 15159 0.0 0.2 698928 42592 ? Sl 11:28 0:14 /usr/sbin/mysqld --defaults-file=/etc/mysql/my_3301.cnf --basedir=/usr --datadir=/var/lib/mysql_3301 --plugin-dir=/usr/lib/mysql/plugin --user=mysql --log-error=/home/mysql/3301/log/error.log --pid-file=/home/mysql/3301/mysqld.pid --socket=/home/mysql/3301/mysqld.sock --port=3301
lidongw+ 15189 0.0 0.0 107352 1900 pts/1 S+ 11:28 0:00 mysql -S /home/mysql/3301/mysqld.sock -uroot -px xxxx
lidongw+ 27141 0.0 0.0 18304 1024 pts/13 S+ 18:42 0:00 grep --color=auto --exclude-dir=.bzr --exclude-dir=.cvs --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn 3301
- 登录mysql的shell
mysql -S /home/mysql/3301/mysqld.sock -uroot -p123456
远程的加上ip 端口
mysql -S /home/mysql/3301/mysqld.sock -uroot -p123456 -h localhost -P 3307
- 如果上面启动有问题,那就是apparmor的配置问题:
vim /etc/apparmor.d/usr.sbin.mysqld
添加新的Mysql实例上面配置的datadir目录进去,这样才能让实例正确找到目录
/var/lib/mysql_3301/ r,
/var/lib/mysql_3301/** rwk,
保存重启
service apparmor restart
至此,已经成功运行多一个监听3301的MySql实例,可以为Mysql复制做准备
网友评论