vlambda博客
学习文章列表

MySQL 5.6.40的二进制和编译安装

1、准备工作


安装之前注意是否已经安装过了

查看系统和是否安装mysql,如果已经安装过,需要确认会不会影响。

cat /etc/redhat-releaseyum list installed | grep mysql


2、安装


安装这里主要介绍二进制(类似windows绿色版)和编译安装。


安装方式一:二进制安装

二进制安装主要步骤有创建用户、赋权、配置文件、初始化、修改路径、起库

1、下载 wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.40-linux-glibc2.12-x86_64.tar.gz2、解压二进制包tar -zxvf mysql-5.6.40-linux-glibc2.12-x86_64.tar.gz3、创建安装目录 mkdir /application4、移动解压包到安装目录并改名mv mysql-5.6.40-linux-glibc2.12-x86_64 /application/mysql-5.6.405、软连接,升级方便,包换了改软连接即可ln -s /application/mysql-5.6.40 /application/mysql6、进入目录 cd /application/mysql7、里面是启动脚本及配置文件cd support-files/8、拷贝配置文件 cp my-default.cnf /etc/my.cnf && 9、拷贝启动文件 cp mysql.server /etc/init.d/mysqld8和9一起执行:cp my-default.cnf /etc/my.cnf && cp mysql.server /etc/init.d/mysqld10、启动测试 --失败,没有初始化/etc/init.d/mysqld start 11、进入初始化目录 cd /application/mysql/scripts/12、创建mysql用户     不允许登录,不创建家目录useradd mysql -s /sbin/nologin -M13、初始化 --初始化后有2个ok表示初始化就成功了yum-y install autoconf./mysql_install_db --user=mysql --basedir=/application/mysql --datadir=/application/mysql/data14、再启动 还是报错,授权/etc/init.d/mysqld start15、赋权chown -R mysql.mysql /application/mysql*16、再启动,还是报错,目录不对/etc/init.d/mysqld start   17、修改启动脚本及程序路劲脚本,替换路劲(都是改的启动脚本)sed -i 's#/usr/local#/application#g' /etc/init.d/mysqld /application/mysql/bin/mysqld_safe18、再启动 报错,发现mariadb没有关闭。关闭mariadb,启动成功systemctl start/stop mariadb.service/etc/init.d/mysqld start 或者service mysqld status19、设置环境变量,mysqld_safe依赖这个vim /etc/profile.d/mysql.sh写入 export PATH="/application/mysql/bin:$PATH"20、source /etc/profile21、二进制安装默认pid在/tmp目录下,启动mysql就有了22、登陆ps -ef|grep mysql然后输入mysql命令即可select user,host,password from mysql.user;
23、初始化密码mysqladmin -uroot password '123'


安装方式二:源码安装

1、下载wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.40.tar.gz2、解压 tar -zxvf mysql-5.6.40.tar.gz3、移到安装目录mkdir /appli && mv mysql-5.6.40 /appli4、安装依赖环境yum install ncurses-devel libaio-devel cmakeyum install gcc gcc-c++ ncurses-devel perlyum install git gcc gcc-c++ ncurses-devel bison5、创建mysql用户6、cd /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

7、make 编译8、make install 安装,无报错用  echo $?   检查返回0就表示编译成功………… 很久的等待下面操作和二进制安装一样
9、软连接ln -s /appli/mysql-5.6.40 /appli/mysql10、cd support-files/11、cp my-default.cnf /etc/my.cnf12、cp mysql.server /etc/init.d/mysqld13、这里不需要替换路劲,安装编译安装,安装时指定路劲了14、启动 /etc/init.d/mysqld start,报错pid目录没有创建,手工创建,并授权对比二进制就不用创建,二进制默认放在tmp目录下面的。15、初始化,启动不成功肯定找不到pid,看报错日志把报错日志的mysql.sock复制过去。 在客户端和服务器都要指定mysql.sock先给脚本可执行权限 chmod 755 mysql_install_dbchmod +x /appli/mysq*初始化cd /appli/mysql-5.6.40/scripts./mysql_install_db --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位置mysql -S /appli/mysql-5.6.40/tmp/mysql.sock
或者修改变量 vim /etc/profile.d/mysql.shexport PATH="/appli/mysql1/bin:$PATH"
17、加到systemctl命令里面centos6:service nginx reload 重新加载配置文件reload不用重启服务,直接重新加载配置文件,客户端感觉不到服务异常,平滑切换。centos7:systemctl daemon-reload
18、mysql启动方式1、 /etc/init.d/mysqld start2、 systemctl /usr/lib/systemd/system/mysqld.service
19、初始化密码mysqladmin -uroot password '123'