MySQL 5.6.40的二进制和编译安装
1、准备工作
安装之前注意是否已经安装过了
查看系统和是否安装mysql,如果已经安装过,需要确认会不会影响。
cat /etc/redhat-release
yum list installed | grep mysql
2、安装
安装这里主要介绍二进制(类似windows绿色版)和编译安装。
安装方式一:二进制安装
二进制安装主要步骤有创建用户、赋权、配置文件、初始化、修改路径、起库
wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.40-linux-glibc2.12-x86_64.tar.gz
2、解压二进制包
tar -zxvf mysql-5.6.40-linux-glibc2.12-x86_64.tar.gz
mkdir /application
4、移动解压包到安装目录并改名
mv mysql-5.6.40-linux-glibc2.12-x86_64 /application/mysql-5.6.40
5、软连接,升级方便,包换了改软连接即可
ln -s /application/mysql-5.6.40 /application/mysql
cd /application/mysql
7、里面是启动脚本及配置文件
cd support-files/
cp my-default.cnf /etc/my.cnf &&
cp mysql.server /etc/init.d/mysqld
8和9一起执行:
cp my-default.cnf /etc/my.cnf && cp mysql.server /etc/init.d/mysqld
--失败,没有初始化
start
cd /application/mysql/scripts/
12、创建mysql用户 不允许登录,不创建家目录
mysql -s /sbin/nologin -M
--初始化后有2个ok表示初始化就成功了
install autoconf
--user=mysql --basedir=/application/mysql --datadir=/application/mysql/data
还是报错,授权
start
15、赋权
chown -R mysql.mysql /application/mysql*
16、再启动,还是报错,目录不对
/etc/init.d/mysqld start
17、修改启动脚本及程序路劲脚本,替换路劲(都是改的启动脚本)
-i 's#/usr/local#/application#g' /etc/init.d/mysqld /application/mysql/bin/mysqld_safe
报错,发现mariadb没有关闭。关闭mariadb,启动成功
start/stop mariadb.service
start 或者service mysqld status
19、设置环境变量,mysqld_safe依赖这个
vim /etc/profile.d/mysql.sh
export PATH="/application/mysql/bin:$PATH"
20、source /etc/profile
21、二进制安装默认pid在/tmp目录下,启动mysql就有了
22、登陆
-ef|grep mysql
然后输入mysql命令即可
user,host,password from mysql.user;
23、初始化密码
-uroot password '123'
安装方式二:源码安装
1、下载
wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.40.tar.gz
tar -zxvf mysql-5.6.40.tar.gz
3、移到安装目录
mkdir /appli && mv mysql-5.6.40 /appli
4、安装依赖环境
yum install ncurses-devel libaio-devel cmake
yum install gcc gcc-c++ ncurses-devel perl
yum install git gcc gcc-c++ ncurses-devel bison
5、创建mysql用户
/appli/mysql-5.6.40/ 生成,设置路劲什么的。
cmake . -DCMAKE_INSTALL_PREFIX=/appli/mysql-5.6.40 \
-DMYSQL_DATADIR=/appli/mysql-5.6.40/data \
-DMYSQL_UNIX_ADDR=/appli/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
编译
8、make install 安装,无报错
用 echo $? 检查返回0就表示编译成功
很久的等待
下面操作和二进制安装一样
9、软连接
ln -s /appli/mysql-5.6.40 /appli/mysql
support-files/
my-default.cnf /etc/my.cnf
mysql.server /etc/init.d/mysqld
13、这里不需要替换路劲,安装编译安装,安装时指定路劲了
/etc/init.d/mysqld start,报错pid目录没有创建,手工创建,并授权
对比二进制就不用创建,二进制默认放在tmp目录下面的。
15、初始化,启动不成功肯定找不到pid,看报错日志
在客户端和服务器都要指定mysql.sock
chmod 755 mysql_install_db
chmod +x /appli/mysq*
初始化
cd /appli/mysql-5.6.40/scripts
--user=mysql --basedir=/appli/mysql-5.6.40 --datadir=/appli/mysql-5.6.40/data ---------------2个ok就没有问题
16、进入mysql,多实例需要加S参数,my.cnf里面mysql和mysqld都要指定mysql.sock位置
-S /appli/mysql-5.6.40/tmp/mysql.sock
vim /etc/profile.d/mysql.sh
export PATH="/appli/mysql1/bin:$PATH"
17、加到systemctl命令里面
centos6:
nginx reload 重新加载配置文件
reload不用重启服务,直接重新加载配置文件,客户端感觉不到服务异常,平滑切换。
centos7:
daemon-reload
18、mysql启动方式
/etc/init.d/mysqld start
systemctl /usr/lib/systemd/system/mysqld.service
19、初始化密码
-uroot password '123'