2024年4月25日发(作者:)
# Next command is optional
shell> cp support-files/ /etc/init.d/mysql2 (这个文件一会需
要更改)
安装完成后,启动测试,看是否正常。,如果出现错误
linux-hg1:~ # ps -ef |grep mysql
查看所对应的日志文件查看,解决。正常后关闭mysql。
二、安装rpm包,这个容易,就把client包和server包安装下就ok了
三、调节路径变量,使rpm安装的mysql和二进制安装的mysql之间不要产生影响
1、安装rpm的mysql后就有/etc/文件了
#cp /etc/ /home/mysql2/.
#chown mysql2:mysql /home/mysql2/.
把.中涉及到变量的都该为二进制mysql包的实际变量(端口号、socket等),
其他参数全部删除,因为它在/etc/中,会读入并且不需要修改它
2、现在把二进制的mysql启动,发现起不来(如果二进制包的版本比rpm包的版
本高的话,可能能直接启动),看--log-error对应的文件,错误是某些参数或者选
项不知道。
原因:二进制的mysql启动是读到/etc/的值时有些不认识
解决:
指定配置文件,启动时 ./bin/mysqld_safe
--defaults-file=/home/mysql2/. ,应该就能启动正常了(.中只
有一些路径的变量)【这里的.文件中可以添加/etc/中认识的参数、
选项什么的,具体排除方法是:不指定配置文件让mysql读/etc/
中的参数,那个报错就注释掉那个,直到可以正常启动,然后把没注释的参数或者
选项都复制到/home/mysql2/.文件中;启动(注意,这次就要指定配置
文件.了);再把/etc/中的前面注释掉的再复原(因为rpm安装的
mysql要用)】
四、现在两个mysql之间就不影响了,下面要做的是,让二进制安装的mysql也可
以直接service mysql2 start这样启动
更改/etc/init.d/mysql2文件(上面步骤中复制过去的)
。。。
MY_CNF=/home/mysql2/.
。。。
。。。
。。。
case "$mode" in
'start')
# Start daemon
# Safeguard (relative paths, core dumps..)
cd $basedir
echo $echo_n "Starting MySQL"
if test -x $bindir/mysqld_safe
then
# Give extra arguments to mysqld with the file. This script
# may be overwritten at next upgrade.
$bindir/mysqld_safe --defaults-file="$MY_CNF" --user=mysql2 --datadir="$datadir" --
pid-file="$mysqld_pid_file_path" $other_args >/dev/null 2>&1 &
wait_for_pid created "$!" "$mysqld_pid_file_path"; return_value=$?
# Make lock for RedHat / SuSE
if test -w "$lockdir"
then
touch "$lock_file_path"
fi
exit $return_value
else
log_failure_msg "Couldn't find MySQL server ($bindir/mysqld_safe)"
fi
;;
'stop')
搜索mysqld_safe可以快速的找到这个位置,上面的红色是我们添加的
--defaults-fie就是指定配置文件/home/mysql2/.(这里用的是变量,在
该脚本的前面添上MY_CNF=/home/mysql2/. )
--user=mysql2如果不添加这个启动的时间会报错:pid文件创建没权限,估计是
默认用mysql用户,所以在这里要指定下。
现在就完成了
rpm mysql 启动 :service mysql start ;rcmysql start
二进制 mysql启动 :service mysql2 start
linux中mysql客户端本地登录时:
登录二进制mysql: mysql --port=3307 --socket=/tmp/ -u
root -p (二进制的我用的3307端口,socket文件用的/)
登录rpm的mysql: mysql -u root -p


发布评论