千家信息网

原有MySQL数据库 ,安装多实例教程

发表于:2024-11-24 作者:千家信息网编辑
千家信息网最后更新 2024年11月24日,#mysql安装脚本安装好后mkdir -v /usr/share/mysql/mysql-filesmkdir -vp /data/mysql_data{1..4}* 修改 MySQL 二进制包目录
千家信息网最后更新 2024年11月24日原有MySQL数据库 ,安装多实例教程

#mysql安装脚本安装好后

mkdir -v /usr/share/mysql/mysql-files

mkdir -vp /data/mysql_data{1..4}

* 修改 MySQL 二进制包目录的所属用户与所属组

chown root.mysql -R /usr/share/mysql

* 修改 MySQL 多实例数据目录与 数据导入/导出专放目录的所属用户与所属组

chown mysql.mysql -R /usr/share/mysql/mysql-files /data/mysql_data{1..4}

* 配置 MySQL 配置文件

cat>> /etc/multi.cnf<

[mysqld_multi]

mysqld = /usr/sbin/mysqld

mysqladmin = /usr/bin/mysqladmin

log = /tmp/mysql_multi.log

[mysqld1]

datadir = /data/mysql_data1

socket = /tmp/mysql.sock1

port = 3307

user = mysql

performance_schema = off

innodb_buffer_pool_size = 32M

bind_address = 0.0.0.0

skip-name-resolve = 0

[mysqld2]

datadir = /data/mysql_data2

socket = /tmp/mysql.sock2

port = 3308

user = mysql

performance_schema = off

innodb_buffer_pool_size = 32M

bind_address = 0.0.0.0

skip-name-resolve = 0

[mysqld3]

datadir = /data/mysql_data3

socket = /tmp/mysql.sock3

port = 3309

user = mysql

performance_schema = off

innodb_buffer_pool_size = 32M

bind_address = 0.0.0.0

skip-name-resolve = 0

EOF

* 初始化各个实例 [ 初始化完成后会自带随机密码在输出日志中 ] /var/log/mysqld.log

/usr/sbin/mysqld --initialize --user=mysql --datadir=/data/mysql_data1

/usr/sbin/mysqld --initialize --user=mysql --datadir=/data/mysql_data2

/usr/sbin/mysqld --initialize --user=mysql --datadir=/data/mysql_data3

* 实例开启

mysqld_multi --defaults-extra-file=/etc/multi.cnf start

测试

mysql -uroot -S /tmp/mysql.sock1 -p 密码在初始化的时候会给root随机密码

grep 'temporary password' /var/log/mysqld.log| awk -F: '{print $4}'|awk 'NR==2{print}'

scok2 就将NR==3

rep 'temporary password' /var/log/mysqld.log| awk -F: '{print $4}'|awk 'NR==3{print}'

依次类推

ALTER USER 'root'@'localhost' IDENTIFIED BY 'abc123'; 先改密码

增删点数据对比下另一个实例的内容就可以

create database test3306;

show databases;

默认情况下,mysql只允许本地登录,如果要开启远程连接,则需要修改/etc/mysql/my.conf文件。

一、修改/etc/mysql/my.conf
找到bind-address = 127.0.0.1这一行
改为bind-address = 0.0.0.0即可

为需要远程登录的用户赋予权限
支持root用户允许远程连接mysql数据库
grant all privileges on *.* to 'root'@'%' identified by 'abc123' with grant option;
flush privileges;

use mysql;

select user, host from user;


0