CentOS6.9 mysql5.6.40按装

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo yum -y install cmake

useradd -s /sbin/nologin -M mysql

 yum -y install lrzsz
 tar xf mysql-5.6.40.tar.gz

yum -y install tree
mkdir -p /application
 yum -y install gcc
 yum -y install ncurses-devel

[root@localhost mysql-5.6.40]# cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.6.40
-DMYSQL_DATADIR=/application/mysql-5.6.40/data
-DMYSQL_UNIX_ADDR=/application/mysql-5.6.40/tmp/mysql.sock
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
-DWITH_EXTRA_CHARSETS=all
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_FEDERATED_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1
-DWITH_ZLIB=bundled
-DWITH_SSL=bundled
-DENABLED_LOCAL_INFILE=1
-DWITH_EMBEDDED_SERVER=1
-DENABLE_DOWNLOADS=1
-DWITH_DEBUG=0

echo $?
make
echo $?
make install

cp support-files/my-default.cnf /etc/my.cnf

cat /etc/my.cnf

chown -R mysql.mysql /application/mysql

cp support-files/mysql.server /etc/init.d/mysqld

cp support-files/mysql.server /etc/init.d/mysqld

/etc/init.d/mysqld start

chkconfig --add mysqld

chkconfig --list mysqld

echo 'export PATH=/application/mysql/bin:$PATH' >>/etc/profile

source /etc/profile

mysqladmin -u root password '123456'

多实例

[root@localhost 3306]# cat my.cnf

[client]
port = 3306
socket = /data/3306/mysql.sock
[mysqld]
socket = /data/3306/mysql.sock
basedir = /application/mysql
datadir = /data/3306/data
user = mysql
port = 3306
log-bin = /data/3306/mysql-bin

server-id= 6

[mysqld_safe]
log-error=/data/3306/oldboy_3306.err
pid-file=/data/3306/mysql.pid

启动脚本

[root@localhost 3306]# cat mysql
#!/bin/sh
################################################
#this scripts is created by  at 2019
#site:http://
#blog:http://
#oldboy trainning QQ group:
################################################

#init
port=3306
mysql_user="root"
CmdPath="/application/mysql/bin"
mysql_sock="/data/${port}/mysql.sock"
mysql_pid_file_path=/data/3306/3306.pid
start(){
if [ ! -e "$mysql_sock" ];then
printf "Starting MySQL... "
/bin/sh ${CmdPath}/mysqld_safe --defaults-file=/data/${port}/my.cnf --pid-file=$mysqld_pid_file_path 2>&1 > /dev/null &
sleep 3
else
printf "MySQL is running... "
exit 1
fi
}

stop(){
if [ ! -e "$mysql_sock" ];then
printf "MySQL is stopped... "
exit 1
else
printf "Stoping MySQL... "
mysqld_pid=`cat "$mysqld_pid_file_path"`
if (kill -0 $mysqld_pid 2>/dev/null)
then
kill $mysqld_pid
sleep 2
fi
fi
}

restart(){
printf "Restarting MySQL... "
stop
sleep 2
start
}

case $1 in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
*)
printf "Usage: /data/${port}/mysql {start|stop|restart} "
esac

[root@localhost 3306]# cd /application/mysql/scripts/
[root@localhost scripts]# ./mysql_install_db --defaults-file=/data/3306/my.cnf --basedir=/application/mysql --datadir=/data/3306/data/ --user=mysql

多实例自动启动

[root@localhost ~]# tail -3 /etc/rc.local
#mysql multi instances
/data/3306/mysql start
/data/3307/mysql start

[root@localhost ~]# mysql -S /data/3306/mysql.sock

[root@localhost ~]# mysqladmin -u root -S /data/3306/mysql.sock password
New password:
Confirm new password:

[root@localhost ~]# mysql -uroot -p123456 -S /data/3306/mysql.sock

[root@localhost ~]# mkdir -p /data/3308/data
[root@localhost ~]# cp /data/3306/my.cnf /data/3308/
[root@localhost ~]# cp /data/3306/mysql /data/3308/
[root@localhost ~]# sed -i 's/server-id = 6 /server-id = 8/g' /data/3308/my.cnf
[root@localhost ~]# sed -i 's/3306/3308/g' /data/3308/my.cnf
[root@localhost ~]# sed -i 's/3306/3308/g' /data/3308/mysql

[root@localhost ~]# chown -R mysql.mysql /data/3308/
[root@localhost ~]# chmod 700 /data/3308/mysql
[root@localhost ~]# cd /application/mysql/scripts/
[root@localhost scripts]# ./mysql_install_db --defaults-file=/data/3308/my.cnf --datadir=/data/3308/data --basedir=/application/mysql --user=mysql

[root@localhost 3308]# touch oldboy_3308.err

Heartbeat+DRBD+MySQL高可用架构方案与实施过程细节https://blog.51cto.com/oldboy/1240412

原文地址:https://www.cnblogs.com/huangjianfeng/p/12051720.html