多个Mysql的配置与启动方式,mysqld mysql_safe mysql.server 区别
1.首先明确启动mysql的方式有:
一、启动方式
1、使用 service 启动:service mysqld start
2、使用 mysqld 脚本启动:/etc/inint.d/mysqld start (不建议此方式,这是直接启动mysqld进程,不管其之前是否被启动)
3、使用 mysqld_safe 启动:去对应mysql安装目的bin下,执行命令./mysqld_safe --user=mysql &
2.几个脚本的区别:
ysql.server,mysqld_safe和mysqld都是可以用来启动mysql服务的,但他们之间是有些区别的
Note:Mysql.server指的是 /etc/init.d/mysql
这三个命令中,其中mysql.server和mysqld_safe 是shell 脚本写的
直接运行mysqld程序来启动MySQL服务的方法很少见,mysqld_safe脚本会在启动MySQL服务器后继续监控其运行情况,并在其死机时重新启动它。用mysqld_safe脚本来启动MySQL服务器的做法在BSD风格的unix系统上很常见,非BSD风格的UNIX系统中的mysql.server脚本其实也是调用mysqld_safe脚本去启动MySQL服务器的
mysqld_safe是个脚本,它会检测当前mysqld进程是否存在等等,所以叫safe嘛~
service mysql start是直接调用mysqld进程启动~
---------------------------------------------------------------------------------------------------------------------------------------------------------
一,我的电脑里面mysql的情况
我电脑里面有二个mysql
1,一个是软件管理工具安装的mysql,如yum,apt get,pacman这样的软件,版本是mysql5.1.50
2,另一个是我手动编译安装的,安装在/usr/local/mysql下面,版本是mysql5.1.26-rc-log
如果能启动多个mysql服务的话,其实有许多好处的,你可以查看一下mysql性能的提升啊;启动了多个mysql服务后,你可以进行数据库进的数据同步,做个mysql集群什么的等等,我的初忠呢是想搞个比较新版本,又不想把以前的那个msyql给搞得不能用了,最好都能用。
二,安装配置要注意的地方
1,安装的目录不要一样,不管你是用管理软件安装的,还是手动安装的,多个mysql不要安装在同一个目录。
2,数据库文件存放的地方,不要相同,也就是my.cnf里面的datadir的的设置不要一样
3,mysql的启动端口不要一样,默认的3306,多个时候可以13306,13307等最好设置成10000以外的。
4,mysql的服务socket不要设置成一样,就是my.cnf里面socket的设置不要一样
5,mysql服务的pid文件不要设置成一样,就是my.cnf里面pid-file的设置不要一样
看一下其中一个my.cnf中mysqld的配置,
查看 复制 打印 ?
[mysqld]
port = 13306
pid-file = /var/lib/mysql/mysql.pid
socket = /tmp/mysql50.sock
datadir = /var/lib/mysql
tmpdir = /tmp
basedir = /usr
skip-locking
#skip-federated
key_buffer = 16M
max_allowed_packet = 1M
table_cache = 64
sort_buffer_size = 512K
net_buffer_length = 16K
myisam_sort_buffer_size = 8M
另一个my.cnf中mysqld的配置
[mysqld]
pid-file = /usr/local/mysql/mysql.pid
socket = /tmp/mysql.sock
port = 3306
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
tmpdir = /tmp
language = /usr/local/mysql/share/mysql/english
long_query_time = 2
log-slow-queries = /usr/local/mysql/mysql-slow.log
skip-locking
key_buffer = 16M
max_allowed_packet = 1M
table_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
安装配置mysql的时候,就要注意上面的几点。
三,启动mysql服务器端
1,启动一个mysql,[root@BlackGhost zhangy]# mysqld_safe --user=root --skip-grant-tables
2,启动第二个mysql,[root@BlackGhost zhangy]# /usr/local/mysql/bin/mysqld_safe --user=root --skip-grant-tables
如果你用mysql.server来启动的话,就要注意一下点,要修改一下里面的内容,修改如下:大约218行左右
查看 复制 打印 ?
then
print_defaults="$bindir/mysql_print_defaults"
else
# Try to find basedir in /etc/my.cnf
conf=/usr/local/mysql/my.cnf //默认情况下是/etc/my.cnf
print_defaults=
if test -r $conf
then
如果你不修改,你用mysql.server根本无法启动,因为已经有一个mysql服务用了这个配置文件,到时肯定会提示错误的Starting MySQL.Manager of pid-file quit without updating file.[FAILED]
四,启动mysql的客户端
1,启动一个[root@BlackGhost zhangy]# mysql 如果用其他用户,加上-u
2,启动另一个[root@BlackGhost zhangy]# mysql -u root -S /tmp/mysql.sock 特别要注意这个mysql.sock如果不加的话,是启动不了的。二个msyql默认都是用一个.sock,肯定在什么地方可以改的,就根my.cnf差不多,只不过我没有找到而已
[zhangy@BlackGhost ~]$ ps -e|grep mysql
4638 pts/0 00:00:00 mysqld_safe
4781 pts/0 00:00:00 mysqld
4795 pts/0 00:00:00 mysql
4801 pts/1 00:00:00 mysqld_safe
5049 pts/1 00:00:00 mysqld
5054 pts/1 00:00:00 mysql
插个图片
多个mysql服务
————————————————
版权声明:本文为CSDN博主「洪文聊架构」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/shb_derek1/article/details/8853303
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)