MySQL多版本安装
主要步骤:
1. 在/etc/my.cnf 配置中,更改对应配置。相对于同一版本多实例需要配置的参数,不同版本多实例需要多配置basedir参数,指向mysql的解压目录。
2. 初始化数据目录。进入对应解压的MySQL目录,进行初始化
#5.6版本初始化命令
cd /usr/local/mysql5.6
scripts/mysql_install_db --user=mysql --datadir=你的数据目录
#8.0版本初始化
cd /usr/local/mysql8.0
bin/mysqld --initialize --user=mysql --datadir=你的数据目录
初始化完成后,可通过mysqld_multi report查看实例,并通过mysqld_multi start启动。
3. 通过myqld_multi启动MySQL。并登陆到对应的MySQL后,修改密码。
#登陆对应的MySQL
mysql -uroot -p -S /tmp/mysql.sock8
#输入密码,可通过cat datadir/error.log |grep 'temp'
注意: 1. mysql在client中配置密码是password=‘密码’,在mysqldN下配置密码是pass=‘密码’;
2. 在配置my.cnf时,可以给每个实例配置不同的server_id。
MySQL启动的原理:关于mysqld、mysqld_safe、mysql.server
先说我自己的理解:mysqld是MySQL的运行程序,mysqld_safe和mysql.server都是来启动的mysqld;mysqld_safe是shell脚本,类似守护进程的作用,若mysqld被kill会重启mysqld;mysql_server也是shell脚本,值得注意的是mysql_server stopMySQL的时候,是通过kill mysqld进程号来传递终止信号关闭的。
查看文件类型,可通过file 文件名命令来查看。
mysqld:
mysqld_safe:测试mysqld_safe守护进程:
mysql_server: