1.系统环境
[root@mysql ~]# cat /etc/centos-release
CentOS release 6.5 (Final)
[root@mysql ~]# uname -r
2.6.32-431.el6.x86_64
2.安装包
[root@mysql ~]# ll *.gz
-rw-r--r--. 1 root root 5691656 Sep 14 23:01 cmake-2.8.8.tar.gz
-rw-r--r--. 1 root root 24596474 Sep 14 22:48 mysql-5.5.32.tar.gz
3.安装所需的包
[root@mysql ~]# yum install gcc-c++ ncurses-devel libaio-devel cmake -y
1
4.安装cmake
[root@mysql ~]# tar xf cmake-2.8.8.tar.gz
[root@mysql ~]# cd cmake-2.8.8
[root@mysql cmake-2.8.8]# ./configure
[root@mysql cmake-2.8.8]# gmake && gmake install
5.安装mysql
[root@mysql ~]# tar xf mysql-5.5.32.tar.gz
[root@mysql ~]# cd mysql-5.5.32
[root@mysql mysql-5.5.32]# useradd mysql -s /sbin/nologin -M
[root@mysql mysql-5.5.32]# cmake . -DCMAKE_INSTALL_PREFIX=/application/mysql-5.6.34 -DMYSQL_DATADIR=/application/mysql-5.6.34/data -DMYSQL_UNIX_ADDR=/application/mysql-5.6.34/tmp/mysql.sock -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
(-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \没有指定字符集)
[root@mysql mysql-5.5.32]# make && make install
[root@mysql mysql-5.5.32]# ln -s /application/mysql-5.6.34/ /application/mysql
6.初始化环境配置
6.1配置文件模板
[root@mysql mysql-5.5.32]# cp support-files/my-small.cnf /etc/my.cnf
cp: overwrite `/etc/my.cnf'? yes
6.2环境变量
[root@mysql mysql-5.5.32]# echo 'export PATH=/application/mysql/bin:$PATH' >> /etc/profile
[root@mysql scripts]# source /etc/profile
6.3目录授权
[root@mysql mysql-5.5.32]# chown -R mysql.mysql /application/mysql
6.4初始化数据库
[root@mysql mysql-5.5.32]# cd /application/mysql/scripts/
[root@mysql scripts]# ./mysql_install_db --basedir=/application/mysql --datadir=/application/mysql
6.4.1多实例初始化、启动
[root@localhost ~]# ./mysqld --initialize-insecure --basedir=/application/mysql --datadir=/data/3308/data --user=mysql
6.5启动脚本
[root@mysql scripts]# cp /root/mysql-5.5.32/support-files/mysql.server /etc/init.d/mysqld
[root@mysql scripts]# chmod +x /etc/init.d/mysqld
6.6启动mysql
[root@mysql scripts]# /etc/init.d/mysqld start
Starting MySQL.. SUCCESS!
[root@mysql scripts]# chkconfig mysqld on
启动与关闭实例进程:
/usr/local/mysql/bin/mysqld_safe --defaults-file=/data/3306/my.cnf --pid-file=/data/3306/3306.pid &
kill -9 进程号
引用以下大佬的管理脚本,可根据自己需求改写。
#!/bin/bash
. /etc/init.d/functions
Port=3306
user=root
password=000000
Path=/application/mysql/bin/
File=/data/${Port}/my.conf
Sock=/data/${Port}/mysql.sock
mysql_start(){
${Path}mysqld_safe --defaults-file=${File} > /dev/null 2>&1 &
sleep 3
num=`netstat -lntup|grep ${Port}|wc -l`
if [ "$num" -ne 0 ];then
action "mysql $Port start......" /bin/true
else
action "mysql $Port start......" /bin/false
fi
}
mysql_stop(){
${Path}mysqladmin -u${user} -p${password} -S $Sock shutdown
num=`netstat -lntup|grep ${Port}|wc -l`
if [ "$num" -eq 0 ];then
action "mysql $Port stop......" /bin/true
else
action "mysql $Port stop......" /bin/false
fi
}
mysql_restart(){
mysql_stop
mysql_start
}
mysql_login(){
${Path}mysql -u${user} -p${password} -S $Sock
}
case $1 in
start)
mysql_start
;;
stop)
mysql_stop
;;
restart)
mysql_restart
;;
login)
mysql_login
;;
*)
echo "Usage: $0 {start|stop|restart}"
esac
修改配置后MySQL启动不了,报错:
error:
[root@localhost mysql-5.5.32]# /etc/init.d/mysqld start Starting MySQL. ERROR! The server quit without updating PID file (/application/mysql-5.6.34/data/localhost.localdomain.pid).
1.可能是/usr/local/MySQL/data/mysqld.pid文件没有写的权限
解决方法 : 给予权限,执行 “chown -R mysql:mysql /usr/local/MySQL/data/” “chmod -R 755 /usr/local/mysql/data” 然后重新启动mysqld!
2.可能进程里已经存在mysql进程
解决方法: 用命令“ps -ef|grep mysqld”查看是否有mysqld进程, 如果有使用“kill -9 进程号”杀死,然后重新启动mysqld!
3.可能是第二次在机器上安装mysql,有残余数据影响了服务的启动。
解决方法: 去mysql的数据目录/data看看,如果存在mysql-bin.index,就赶快把它删除掉吧,它就是罪魁祸首了。
4.mysql在启动时没有指定配置文件时会使用/etc/my.cnf配置文件,请打开这个文件查看在[mysqld]节下有没有指定数据目录(datadir)。
解决方法: 请在[mysqld]下设置这一行:datadir = /usr/local/mysql/data
5.skip-federated字段问题
解决方法: 检查一下/etc/my.cnf文件中有没有没被注释掉的skip-federated字段,如果有就立即注释掉吧。
6.设置mysql属主和属组为配置的用户mysql。
解决方法: 使用“chown” “chmod”命令赋予应用为mysql的所有者及权限
chown -R mysql.mysql /usr/local/mysql/
7.selinux惹的祸,如果是centos系统,默认会开启selinux
解决方法: 关闭它,打开/etc/selinux/config,把SELINUX=enforcing改为SELINUX=disabled后存盘退出重启机器试试。
浙公网安备 33010602011771号