机器上已经有正在运行的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%';

mysql多实例安装_第1张图片

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...\n"
         $cmd_path/mysqld_safe --defaults-file=$mysql_basedir/$port/etc/my.cnf &>/dev/null &
      else
         printf "MySQL is running...\n"
         exit
   fi  
}

function_stop_mysql()
{
   if [ ! -e "$mysql_sock" ]
      then
         printf "MySQL is stopped...\n"
         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...\n"
   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}\n"
esac
9.mysql -S /data/mysql/3307/socket/mysql.sock           登录mysql
   确认登录是否正确:show variables like '%port%';

mysql多实例安装_第2张图片

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