(一)创建数据库实例
此为数据库内的操作
create database 数据库实例名称
(二)创建多服务实例
多实例是在一个服务器中配置多个MysqL服务端口,启动了多个MysqL服务。配置多实例时,每个实例的端口、配置文件和数据目录、socket还有日志都需要独立出来,但是共用一个MysqL软件。
实例之间的所有数据都是独立的,也就是说,在不同实例下进行的数据库操作不会互相影响。
(1)创建多实例
1)新建多实例所需要的数据目录
mkdir -p /data/3307/data
mkdir -p /data/3308/data
2)为新实例分别新建my.cnf配置文件,以下先为3307创建
vim /data/3307/my.cnf
[MysqLd]
basedir=/opt/MysqL
datadir=/data/3307/data
user=MysqL
socket=/data/3307/MysqL.sock
port=3307
server_id=3307
3)复制文件到其他实例目录下
cp /data/3307/my.cnf /data/3308
sed -i 's#3307#3308#g' /data/3308/my.cnf
5)初始化数据库
MysqLd --initialize-insecure --user=MysqL --datadir=/data/3307/data --basedir=/opt/MysqL
MysqLd --initialize-insecure --user=MysqL --datadir=/data/3308/data --basedir=/opt/MysqL
6)启动实例
① 先修改数据目录的使用权限
chown -R MysqL.MysqL /data/*
② 测试环境下的启动
MysqLd_safe --defaults-file=/data/3307/my.cnf &
MysqLd_safe --defaults-file=/data/3308/my.cnf &
③ 查看实例状态
netstat -lnp|grep 330
④ 通过测试后启动正式的数据库软件,即可查看到数据库已成功启动
MysqL -S /data/3307/MysqL.sock
MysqL -S /data/3308/MysqL.sock
7)配置systemd管理多实例
① 修改指定数据库服务端的服务配置文件
vim /etc/systemd/system/MysqLd3307.service
添加以下信息
[Unit]
Description=MysqL Server
Documentation=man:MysqLd(8)
Documentation=http://dev.MysqL.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=MysqL
Group=MysqL
ExecStart=/opt/MysqL/bin/MysqLd --defaults-file=/data/3307/my.cnf
LimitNOFILE = 5000
②拷贝给其他实例
cp /etc/systemd/system/MysqLd3307.service /etc/systemd/system/MysqLd3308.service
sed -i 's#3307#3308#g' /etc/systemd/system/MysqLd3308.service
④ 设置开机自动启动
systemctl enable MysqLd3307
systemctl enable MysqLd3308
以上参考博文https://blog.csdn.net/qq_33961117/article/details/86495883
(2)根据创建好的实例的 sock 登入对应的实例,初始密码为空,直接回车即可登入数据库
MysqL -uroot -p -S /data/3307/MysqL.sock
(3)关于远程连接问题(Dbeaver连接)
1)连接超时:linux 防火墙端口未开放
firewall-cmd --list-all #查看开放哪些服务端口
firewall-cmd --add-port=3306/tcp --permanent #开放端口号的命令
systemctl restart firewalld.service # 重启防火墙,使配置生效
2)主机不允许被连接:主机没有权限连接MysqL,更改MysqL连接权限
登入数据库,修改user表中的host栏位值,查询后看到,host为localhost,那么只支持本机连接MysqL,将host修改为‘%’,%为任意主机均可连接,刷新权限,连接成功。
select user,host from user
刷新权限
flush privileges
3)账号不允许:root 账号不允许用来作远程连接。需要重新创建新账号,host为’%’ ,并授予权限,此步需要在 root 账号下进行创建
原文地址:https://www.jb51.cc/wenti/3287549.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。