1、MySQL的启动和关闭
1.1 客户端命令
mysql常用参数:
-u 用户
-p 密码
-h IP
-P 端口
-S socket文件
-e 免交互执行命令
< 导入SQL脚本
1.2 日常启停
提示:
以上多种方式,都可以单独启动MySQL服务
mysqld_safe和mysqld一般是在临时维护时使用。
另外,从Centos 7系统开始,支持systemd直接调用mysqld的方式进行启动数据库
mysql.server start ---> mysqld_safe ---> mysqld
mysql.service ---> mysqld
需要依赖于 /etc/my.cnf
1.3 维护性的任务
mysqld_safe --skip-grant-tables --skip-networking &
我们一般会将我们需要的参数临时加到命令行.
也会读取/etc/my.cnf的内容,但是如果冲突,命令行优先级最高
[root@db01 ~]# mysqld_safe & 启动mysql
[root@db01 ~]# mysqladmin -uroot -p123 shutdown 关闭mysql(通过mysql_safe启动的,需要关闭的话,就是用该命令)
2、初始化配置
2.1 作用
(1)影响数据库的启动
(2)影响到客户端的功能
2.2 初始化配置的方法
(1)初始化配置文件(例如/etc/my.cnf)
(2)启动命令行上进行设置(例如:mysqld_safe mysqld)
(3)预编译时设置(仅限于编译安装时设置)
2.3 初始化配置文件
2.3.1 初始化配置文件的默认读取路径
[root@db01 ~]# mysqld --help --verbose |grep my.cnf
/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf
2.3.2 初始化配置文件读取顺序
/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf
默认情况下,MySQL启动时,会依次读取以上配置文件,如果有重复选项,会以最后一个文件设置的为准。
但是,如果启动时加入了--defaults-file=xxxx时,以上的所有文件都不会读取
2.3.3 初始化配置文件的书写格式
[标签]
xxx=xxx
[标签]
xxx=xxx
2.4 配置文件标签的归类
服务器端:
[mysqld]
[mysqldsafe]
[server] =====>包含了[mysqld]、[mysqldsafe]
客户端:
[mysql]
[mysqladmin]
[mysqldump]
[client] =====>包含了[mysql]、[mysqladmin]、[mysqldump]
2.5 配置文件设置样板(5.7)
#服务器端配置
[mysqld]
#用户
user=mysql
#软件安装目录
basedir=/application/mysql
#数据路径
datadir=/data/mysql/data
#socket文件位置
socket=/tmp/mysql.sock
#服务器id号
server_id=1
#端口号
port=3306
#客户端配置
[mysql]
#socket文件位置
socket=/tmp/mysql.sock
2.6 强制使用自定义配置文件
--defautls-file
[root@db01 tmp]# mysqld_safe --defaults-file=/tmp/aa.txt &
例如:使用systemd启动的mysql就是强制读取的/etc/my.cnf。
3、MySQL的连接管理
3.1 mysql 命令
注意:提前应该将用户授权做好
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
3.2 客户端工具
sqlyog
navicat
4、多实例管理
4.1 准备多个目录
mkdir -p /data/330{7,8,9}/data
4.2 准备配置文件
cat > /data/3307/my.cnf <<EOF
[mysqld]
basedir=/application/mysql
datadir=/data/3307/data
socket=/data/3307/mysql.sock
logerror=/data/3307/mysql.log
port=3307
serverid=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
logerror=/data/3308/mysql.log
port=3308
serverid=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
logerror=/data/3309/mysql.log
port=3309
serverid=9
log_bin=/data/3309/mysql-bin
EOF
4.3 初始化三套数据
mv /etc/my.cnf /etc/my.cnf.bak
mysqld --initialize-insecure --user=mysql --datadir=/data/3307/data --basedir=/application/mysql
mysqld --initialize-insecure --user=mysql --datadir=/data/3308/data --basedir=/application/mysql
mysqld --initialize-insecure --user=mysql --datadir=/data/3309/data --basedir=/application/mysql
4.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=/application/mysql/bin/mysqld --defaults-file=/data/3308/my.cnf
vim mysqld3309.service
修改为:
ExecStart=/application/mysql/bin/mysqld --defaults-file=/data/3309/my.cnf
[root@db01 system]# grep "ExecStart" mysqld3309.service
ExecStart=/application/mysql/bin/mysqld --defaults-file=/data/3309/my.cnf
[root@db01 system]# grep "ExecStart" mysqld3308.service
ExecStart=/application/mysql/bin/mysqld --defaults-file=/data/3308/my.cnf
[root@db01 system]# grep "ExecStart" mysqld3307.service
ExecStart=/application/mysql/bin/mysqld --defaults-file=/data/3307/my.cnf
[root@db01 system]#
4.5 授权
chown -R mysql:mysql /data/*
4.6 启动
systemctl start mysqld3307.service
systemctl start mysqld3308.service
systemctl start mysqld3309.service
4.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"
作者:岁月星空
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。