DBA第三天

初始化配置

1.作用
(1)影响数据库的启动
(2)影响到客户端的功能
2.初始化配置的方法
(1)初始化配置文件(/etc/my.cof)
(2)启动命令行上进行设置(mysqld_safe --skip -grand -tables --skip-networking)
(3)预编译时设置(仅限于编译安装)
*常用方法就是配置文件修改,然后重启.
3.初始化配置文件的书写格式
[标签]
xxx=xxx
[标签]
xxx=xxx
4.配置文件标签归类
服务器端:
[mysqld]
[mysqld_safe]
[server]
客户端:
[mysql]
[mysqladmin]
[mysqldump]
[client]
5.配置文件设置样板(5.6-5.7)先写一个简单的样板,让服务先起来,并不是所有的样板都通用.

#服务器端配置
[mysqld]
#用户
user=mysql
#软件安装路径
basedir=/application/mysql
#数据路径
datadir=/data/mysql/data
#socket文件位置
socket=/tmp/mysql.sock
#服务器id号
server_id=6
#端口号
port=3306
#客户端配置
[mysql]
#socket文件位置
socket=/tmp/mysql.sock

6.配置文件读取顺序

[root@db01 ~]# mysqld --help --verbose | grep my.cof
/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf

注:
默认情况下,MySQL启动时,会依次读取以上配置文件,如果有重复选项,会以最后一个文件设置的为准。
7.强制使用自定义配置文件
如果启动时加入了–defaults-file=xxxx时,以上的所有文件都不会读取.
在 /etc/system/system/mysqld.service中我们就能看到使用这个参数.
注* 设置时,先停下数据库.
比如想启动时指定读取某一个socket文件则:

[root@db01 tmp]# mysqld_safe --defaults-file=/tmp/aa.socket &(&符号不要忘记)

2.MySQL的连接管理

1.mysql命令
注意:提前将用户授权好(grant)
查看用户命令:

mysql> select user,host from mysql.user;
mysql> grant all on *.* to root %'10.0.0.%' identified by '123';

TCPIP:

mysql -uroot -p -h 10.0.0.51 -p3306

Socket:

mysql -uroot -p -S /tmp/mysql.sock

*客户端工具
sqlyog
navicat
注:我们一般用sqlyog比较多,也比较好用.(自己下一个破解版)

2.多实例管理
多实例的应用
(1) 准备多个目录

mkdir -p /data/330{7,8,9}/data

(2) 准备配置文件

cat > /data/3307/my.cnf <<EOF
[mysqld]
basedir=/application/mysql
datadir=/data/3307/data 
socket=/data/3307/mysql.sock
log_error=/data/3307/mysql.log
port=3307
server_id=7
log_bin=/data/3307/mysql-bin
EOF

cat > /data/3308/my.cnf <<EOF
[mysqld]
basedir=/application/mysql
datadir=/data/3308/data
socket=/data/3308/mysql.sock
log_error=/data/3308/mysql.log
port=3308
server_id=8
log_bin=/data/3308/mysql-bin
EOF

cat > /data/3309/my.cnf <<EOF
[mysqld]
basedir=/application/mysql
datadir=/data/3309/data
socket=/data/3309/mysql.sock
log_error=/data/3309/mysql.log
port=3309
server_id=9
log_bin=/data/3309/mysql-bin
EOF

注意这里三个路径都需要修改的

(3)初始化三套数据

mv /etc/my.cnf /etc/my.cnf.bak
mysqld --initialize-insecure  --user=mysql --datadir=/data/3307/data --basedir=/app/mysql
mysqld --initialize-insecure  --user=mysql --datadir=/data/3308/data --basedir=/app/mysql
mysqld --initialize-insecure  --user=mysql --datadir=/data/3309/data --basedir=/app/mysql

(4)systemd管理多实例

cd /etc/systemd/system
cp mysqld.service mysqld3307.service
cp mysqld.service mysqld3308.service
cp mysqld.service mysqld3309.service
vim mysqld3307.service
#这里是修改为
ExecStart=/application/mysql/bin/mysqld  --defaults-file=/data/3307/my.cnf

vim mysqld3308.service
#这里是修改为
ExecStart=/app/mysql/bin/mysqld  --defaults-file=/data/3308/my.cnf

vim mysqld3309.service
#这里是修改为
ExecStart=/application/mysql/bin/mysqld  --defaults-file=/data/3309/my.cnf

(5) 授权

chown -R mysql.mysql /data/*

(6) 启动

systemctl start mysqld3307.service
systemctl start mysqld3308.service
systemctl start mysqld3309.service

(7)验证多实例

netstat -lnp|grep 330
mysql -S /data/3307/mysql.sock -e "select @@server_id"
mysql -S /data/3308/mysql.sock -e "select @@server_id"
mysql -S /data/3309/mysql.sock -e "select @@server_id"

到此,多实例就搭建完成了.搭建完后就放在这里就行.后期使用在拿出来.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值