mysql多实例安装
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql多实例安装相关的知识,希望对你有一定的参考价值。
机器上已经有正在运行的mysql数据库每个数据库都有自己 的配置文件 相同版本多实例 或者 不同版本都可以
1.mkdir /data/mysql/{3307,3308}/{etc,socket,pid,log,data,bin} -pv 创建各个实例目录
2.getent passwd mysql 查看是否有mysql用户,如果没有则创建mysql用户 useradd -s -r mysql
3.chown -R mysql.mysql /data/mysql/{3307,3308}
4.find / -name mysql_install* 查找初始化数据库脚本在哪里
/usr/bin/mysql_install_db --datadir=/data/mysql/3307/data --user=mysql --basedir=/usr 初始化数据
注释:--datadir数据目录 --basedir(默认/usr) 进入数据库:show variables like ‘%base%‘;
5.tree /data/mysql/3307/ 查看/data/mysql/3307/data 目录下是否生成初始数据
6.cp /etc/my.cnf /data/mysql/3307/etc/ vim /data/mysql/3307/etc/my.cnf
[mysqld]
port=3307
datadir=/data/mysql/3307/data
socket=/data/mysql/3307/socket/mysql.sock
symbolic-links=0
#开启慢日志查询
slow_query_log=1
long_query_time=1
log_slow_admin_statements=1
log_slow_slave_statements=1
log-slow-queries=/var/lib/mysql/mysql3307-slow.log
[mysqld_safe]
log-error=/data/mysql/3307/log/mysqld.log
pid-file=/data/mysql/3307/pid/mysqld.pid
7.chmod 700 /data/mysql/3307/bin/mysqld
8.vim /data/mysql/3307/bin/mysqld
#!/bin/sh
port=3307
mysql_user="root"
mysql_pwd="" #密码,第一次启动无密码
cmd_path="/usr/bin"
mysql_basedir="/data/mysql"
mysql_sock="$mysql_basedir/$port/socket/mysql.sock"
function_start_mysql()
{
if [ ! -e "$mysql_sock" ]
then
printf "Starting MySQL...
"
$cmd_path/mysqld_safe --defaults-file=$mysql_basedir/$port/etc/my.cnf &>/dev/null &
else
printf "MySQL is running...
"
exit
fi
}
function_stop_mysql()
{
if [ ! -e "$mysql_sock" ]
then
printf "MySQL is stopped...
"
exit
else
#$cmd_path/mysqladmin -u $mysql_user -p$mysql_pwd -S $mysql_sock shutdown
$cmd_path/mysqladmin -u $mysql_user -S $mysql_sock shutdown #无密码的时候可以使用这个
fi
}
function_restart_mysql()
{
printf "Restarting MySQL...
"
function_stop_mysql
sleep 2
function_start_mysql
}
case $1 in
start)
function_start_mysql
;;
stop)
function_stop_mysql
;;
restart)
function_restart_mysql
;;
*)
printf "Usage: $mysql_basedir/$port/bin/mysqld {start|stop|restart}
"
esac
9.mysql -S /data/mysql/3307/socket/mysql.sock 登录mysql
确认登录是否正确:show variables like ‘%port%‘;
10.修改root密码 select user,host,password from mysql.user;
update mysql.user set password=password("root") where user="root"; #记得将修改的密码添加到my.cnf中
flush privileges;
11.mysql -S /data/mysql/3307/socket/mysql.sock -uroot -proot
以上是关于mysql多实例安装的主要内容,如果未能解决你的问题,请参考以下文章