在linux环境下创建多实例mysql

1 篇文章 0 订阅
1 篇文章 0 订阅
背景:
服务器上已经有一个mysql实例,创建多实例mysql环境,用于构建mycat服务。
思路,通过复制mysql的应用地址与数据地址进行构建多实例。
cp -r /usr/local/mysql /usr/local/mysql_3304

更改用户组为mysql(如果没有),在使用mysql的时候,一般使用mysql用户与用户组

chown mysql:mysql -Rf  /usr/local/mysql_3304/

复制my.cnf文件到3304端口的文件夹下(构建端口设置为3304)

cp /etc/my.cnf  /usr/local/mysql_3304/my.cnf

进入配置文件,更改配置信息

vi /usr/local/mysql_3304/my.cnf

更改3304的端口下面的配置文件,更改配置文件中的pid-file,datadir,basedir server-id的属性

socket=/tmp/mysql_3304.sock
pid-file=/usr/local/mysql_3304/mysqld.pid
datadir=/usr/local/mysql_3304/data
basedir=/usr/local/mysql_3304

Server-id=2

– data为数据存储位置,在程序下为默认的数据位置
– 更改端口号为3304
server-id 与之前不同的id。如果3306端口的id为1,则3304的端口id为2。

初始化数据库

cd /usr/local/mysql_3304/scripts/

./mysql_install_db --basedir=/usr/local/mysql_3304 --datadir=/usr/local/mysql_3304/data --user=mysql

用mysqld_safe携带配置文件的方式,启动3304端口的mysql

/usr/local/mysql_3304/bin/mysqld_safe --defaults-file=/usr/local/mysql_3304/my.cnf &

查询mysql的端口状态

netstat -tlnap |grep mysql

Mysql登录测试

mysql -h127.0.0.1 -uroot -p -P3304

注意:
Pid如果没有配置,则会出现A mysqld process already exists 的错误情况,更改(添加)pid-file的配置(路径)可以解决问题

“Access denied for user ‘root’@‘localhost’ (using password: YES”)的处理方法
3304出现密码错误,重置3304的密码
更改my.cnf的配置,添加skip-grant-tables
[mysqld]
skip-grant-tables

mysql> use mysql;
mysql> update user set password=password(‘root用户的新密码’) where user=‘root’;
mysql> flush privileges;
mysql> exit

修改之后重新启动
停止mysql3304端口的数据库
mysqladmin -S /tmp/mysql_3304.sock shutdown
/usr/local/mysql_3304/bin/mysqld_safe --defaults-file=/usr/local/mysql_3304/my.cnf &

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux系统下,可以通过多个实例来运行多个MySQL服务器,每个实例可以拥有独立的配置文件、数据目录和日志文件等。这样可以方便地管理多个不同的MySQL实例,提高系统的可靠性和稳定性。下面简单介绍一下在LinuxMySQL实例安装的过程。 1. 安装MySQL 首先需要安装MySQL,可以通过命令行或者图形界面进行安装。以Ubuntu系统为例,可以使用以下命令进行安装: ``` sudo apt-get update sudo apt-get install mysql-server ``` 2. 创建新的MySQL实例目录 在Linux系统下,每个MySQL实例需要有独立的数据目录和日志文件等。可以使用以下命令创建一个新的MySQL实例目录: ``` sudo mkdir /var/lib/mysql2 ``` 3. 复制MySQL配置文件 每个MySQL实例需要有独立的配置文件,可以通过复制默认配置文件来创建新的配置文件。以Ubuntu系统为例,可以使用以下命令复制默认配置文件: ``` sudo cp /etc/mysql/my.cnf /etc/mysql/my2.cnf ``` 4. 修改新的配置文件 修改新的配置文件,使其指向新的数据目录和日志文件等。以Ubuntu系统为例,可以使用以下命令编辑新的配置文件: ``` sudo vi /etc/mysql/my2.cnf ``` 在文件修改以下内容: ``` [client] port = 3307 socket = /var/run/mysqld/mysqld2.sock [mysqld_safe] pid-file = /var/run/mysqld/mysqld2.pid socket = /var/run/mysqld/mysqld2.sock [mysqld] user = mysql pid-file = /var/run/mysqld/mysqld2.pid socket = /var/run/mysqld/mysqld2.sock port = 3307 basedir = /usr datadir = /var/lib/mysql2 tmpdir = /tmp log_error = /var/log/mysql/error2.log ``` 其,需要修改的内容主要是端口号、数据目录、日志文件等。 5. 初始化新的MySQL实例 使用以下命令初始化新的MySQL实例: ``` sudo mysqld --defaults-file=/etc/mysql/my2.cnf --initialize-insecure --user=mysql ``` 其,--defaults-file参数指定使用新的配置文件,--initialize-insecure参数表示不设置root密码,--user参数表示启动MySQL进程的用户。 6. 启动新的MySQL实例 使用以下命令启动新的MySQL实例: ``` sudo systemctl start mysql@2.service ``` 其,2表示新的MySQL实例的编号。 至此,多实例MySQL服务器已经成功安装。可以通过以下命令查看多个MySQL实例的状态: ``` sudo systemctl status mysql@*.service ``` 其,*表示所有的MySQL实例

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值