概述
三.MySQL连接
1.连接工具
1)MySQL自带的连接工具
mysql
常见的特定于客户机的连接选项:
-u:指定用户
-p:指定密码
-h:指定主机
-P:指定端口
-S:指定sock
-e:指定SQL
--protocol=name:指定连接方式
2)第三方的连接工具
sqlyog、navicat
应用程序连接MySQL
注意:需要加载对应语言程序的API
2.连接方式
1) socket连接
mysql -uroot -poldboy123 -S/application/mysql/tmp/mysql.sock
mysql -uroot -poldboy123
2) TCP/IP
mysql -uroot -poldboy123 -h10.0.0.51 -P3306
启动
/etc/init.d/mysqld start ------> mysqld_safe ------> mysqld
关闭
/etc/init.d/mysqld stop
mysqladmin -uroot -poldboy123 shutdown
kill -9 pid ?
killall mysqld ?
pkill mysqld ?
五.MySQL实例初始化配置
1.初始化配置文件的作用
场景:我要启动实例
问题:
1)我不知道我的程序在哪?
2)我也不知道我将来启动后去哪找数据库?
3)将来我启动的时候启动信息和错误信息放在哪?
4)我启动的时候sock文件pid文件放在哪?
5)我启动,你们给了我多少内存?
...
所以:
1)预编译:cmake去指定,硬编码到程序当中去
2)在命令行设定启动初始化配置
--skip-grant-tables
--skip-networking
--datadir=/application/mysql/data
--basedir=/application/mysql
--defaults-file=/etc/my,cnf
--pid-file=/application/mysql/data/db01.pid
--socket=/application/mysql/data/mysql.sock
--user=mysql
--port=3306
--log-error=/application/mysql/data/db01.err
3)初始化配置文件(/etc/my.cnf)
配置文件读取顺序:
/etc/my.cnf
/etc/mysql/my.cnf
$MYSQL_HOME/my.cnf(前提是在环境变量中定义了MYSQL_HOME变量)
defaults-extra-file (类似include)
~/my.cnf
如果使用./bin/mysqld_safe 守护进程启动mysql数据库时,使用了 --defaults-file=参数,这时只会使用这个参数指定的配置文件。
优先级结论:
1、命令行
2、defaults-file
3、配置文件
4、预编译
2.初始化配置文件的使用
初始化配置文件功能
1)影响实例的启动(mysqld)
2)影响到客户端
mysql
mysqldump
mysqladmin
如何配置初始化配置文件
1)配置标签分类
[client]所有客户端程序
mysql
mysqldump
...
[server]所有服务器程序
mysqld
mysqld_safe
...
六.MySQL多实例配置
1.什么是多实例
1)多套后台进程+线程+内存结构
2)多个配置文件
a.多个端口
b.多个socket文件
c.多个日志文件
d.多个server_id
3)多套数据
2.多实例实战
#创建数据目录
[root@db01 ~]# mkdir -p /data/330{7..9}
#创建配置文件
[root@db01 ~]# touch /data/330{7..9}/my.cnf
#编辑3307配置文件
[root@db01 ~]# vim /data/3307/my.cnf
[mysqld]
basedir=/application/mysql
datadir=/data/3307/data
socket=/data/3307/mysql.sock
log_error=/data/3307/mysql.log
log-bin=/data/3307/mysql-bin
server_id=7
port=3307
[client]
socket=/data/3307/mysql.sock
#编辑3308配置文件
[root@db01 ~]# vim /data/3308/my.cnf
[mysqld]
basedir=/application/mysql
datadir=/data/3308/data
socket=/data/3308/mysql.sock
log_error=/data/3308/mysql.log
log-bin=/data/3308/mysql-bin
server_id=8
port=3308
[client]
socket=/data/3308/mysql.sock
#编辑3309配置文件
[root@db01 ~]# vim /data/3309/my.cnf
[mysqld]
basedir=/application/mysql
datadir=/data/3309/data
socket=/data/3309/mysql.sock
log_error=/data/3309/mysql.log
log-bin=/data/3309/mysql-bin
server_id=9
port=3309
[client]
socket=/data/3309/mysql.sock
#初始化3307数据
[root@db01 ~]#/application/mysql/scripts/mysql_install_db
--user=mysql
--defaults-file=/data/3307/my.cnf
--basedir=/application/mysql --datadir=/data/3307/data
#初始化3308数据
[root@db01 ~]#/application/mysql/scripts/mysql_install_db
--user=mysql
--defaults-file=/data/3308/my.cnf
--basedir=/application/mysql --datadir=/data/3308/data
#初始化3309数据
[root@db01 ~]#/application/mysql/scripts/mysql_install_db
--user=mysql
--defaults-file=/data/3309/my.cnf
--basedir=/application/mysql --datadir=/data/3309/data
#修改目录权限
[root@db01]# chown -R mysql.mysql /data/330*
#启动多实例
[root@db01]# mysqld_safe --defaults-file=/data/3307/my.cnf &
[root@db01]# mysqld_safe --defaults-file=/data/3308/my.cnf &
[root@db01]# mysqld_safe --defaults-file=/data/3309/my.cnf &
#查看server_id
[root@db01]# mysql -S /data/3307/mysql.sock -e "show variables like 'server_id'"
[root@db01]# mysql -S /data/3308/mysql.sock -e "show variables like 'server_id'"
[root@db01]# mysql -S /data/3309/mysql.sock -e "show variables like 'server_id'"
最后
以上就是故意白云为你收集整理的mysql 版本管理_第三章·MySQL版本区别及管理的全部内容,希望文章能够帮你解决mysql 版本管理_第三章·MySQL版本区别及管理所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复