MySQL 简单知识
--------------------------------------------------------------------------------------------------------------
一、mysql是C/S模型结构,即:client (客户端)+ server(服务器)
二、应用程序如何连接到mysql:
1、TCP/IP 方式连接数据库
mysql -uadmin -p123 -h 10.0.0.51 -P 3306
可以证明:
(1)数据库是好的
(2)网络连接是没问题的
(3)用户是没问题
2、SOCKET 方式连接数据库
mysql -uroot -p123456 -S /application/mysql/tmp/mysql.sock
思考:
mysql -uroot -p123456 使用的是什么方式登录?????
其实是使用的SOCKET 方式连接的数据库,只不过这里默认是把-S隐藏了。
细心的你一定发现了前面我们编译安装的时候,编译参数里面指定了sockt文件
路径/application/mysql-5.6.34/tmp/mysql.sock,因为编译指定了socket,所以这里默认使用的是编译的路径。
三、 多实例安装mysql
就是在一台服务器上面,启动多个mysql,互相是独立运行的。
规划:
1、启动多次mysqld_safe
2、准备多个my.cnf 分别通过mysqld_safe --defaults-file=
3、多个端口3307 、3308、3309
4、初始化多套数据
5、在配置文件里分别定义socket、log_error、datadir、server_id、port
配置多实例:
创建必要目录
[root@mysql181 ~]# mkdir -p /data/330{7..9}/data
创建配置文件:
[root@mysql181 ~]# cat /data/3307/my.cnf /data/3308/my.cnf /data/3309/my.cnf
[mysqld]
basedir=/application/mysql
datadir=/data/3307/data
socket=/data/3307/mysql.sock
server_id=3307
port=3307
log_error=/data/3307/mysql.log
log_bin=/data/3307/mysql-bin
binlog_format=row
[client]
socket=/data/3307/mysql.sock
[mysqld]
basedir=/application/mysql
datadir=/data/3308/data
socket=/data/3308/mysql.sock
server_id=3308
port=3308
log_error=/data/3308/mysql.log
log_bin=/data/3308/mysql-bin
binlog_format=row
[client]
socket=/data/3308/mysql.sock
[mysqld]
basedir=/application/mysql
datadir=/data/3309/data
socket=/data/3309/mysql.sock
server_id=3309
port=3309
log_error=/data/3309/mysql.log
log_bin=/data/3309/mysql-bin
binlog_format=row
[client]
socket=/data/3309/mysql.sock
[root@db01 data]#
初始化数据:
[root@mysql181 ~]# /application/mysql/scripts/mysql_install_db --user=mysql --basedir=/application/mysql --datadir=/data/3307/data/
[root@mysql181 ~]# /application/mysql/scripts/mysql_install_db --user=mysql --basedir=/application/mysql --datadir=/data/3308/data/
[root@mysql181 ~]# /application/mysql/scripts/mysql_install_db --user=mysql --basedir=/application/mysql --datadir=/data/3309/data/
修改目录权限:
[root@db01 3307]# touch /data/330{7..9}/mysql.log
[root@db01 3307]# chown -R mysql.mysql /data/330*
启动多实例:
[root@mysql181 ~]# mysqld_safe --defaults-file=/data/3307/my.cnf &
[root@mysql181 ~]# mysqld_safe --defaults-file=/data/3308/my.cnf &
[root@mysql181 ~]# mysqld_safe --defaults-file=/data/3309/my.cnf &
查看端口是否启动:
分别登陆3307-3309:
[root@mysql181 ~]# mysql -S /data/3307/mysql.sock
这里需要使用socket方式连接数据库:指定sock文件位置
关闭数据库的方法:
[root@mysql181 ~]# mysqladmin -S /data/3307/mysql.sock shutdown
因为多实例我们还没有启动脚本,其实我们可以根据启动和关闭的这两条命令,自己写一个启动脚本。
到此mysql多实例安装成功!