MYSQL-5.7-搭建部署[二进制安装]

搭建环境:

  • centos7.2.1511
  • community mysql-5.7.22

注:二进制属于官方已经编译好的,初始化即可使用,相对RPM而言安装路径比较灵活。

  • 查看MySQL依赖包
ldd /usr/lcoal/mysql/bin/mysqld
  • 查看初始化信息帮助文档
mysqld --verbose --help

服务搭建:

  • 下载并解压并初始化数据库
yum -y install autoconf libaio-devel.x86_64 -y
useradd -M -s /sbin/nologin mysql
wget https://down.niknk.com/MYSQL/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
tar xf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
  • 创建相关目录并进行授权
mkdir /opt/mysql
mkdir /data/mysql/mysql3306/{data,logs,tmp} -p
mv mysql-5.7.22-linux-glibc2.12-x86_64 /opt/mysql/mysql-5.7.22
chown mysql.mysql /opt/mysql/mysql-5.7.22
chown mysql.mysql /data/mysql/mysql3306/ -R
ln -s /opt/mysql/mysql-5.7.22/ /usr/local/mysql
wget https://down.niknk.com/MYSQL/57_my.cnf
\mv 57_my.cnf /etc/my.cnf
  • 初始化数据库
/usr/local/mysql/bin/mysqld \
--defaults-file=/etc/my.cnf \
 --user=mysql \
--basedir=/usr/local/mysql/ \
--datadir=/data/mysql/mysql3306/data/ \
--explicit_defaults_for_timestamp --initialize
  • 授权及修改并添加启动脚本
cp /usr/local/mysql/support-files/mysql.server  /etc/init.d/mysqld
sed -i 's#/usr/local/mysql/data#/data/mysql/mysql3306/data#g' /etc/init.d/mysqld
  • 添加环境变量
cat > /etc/profile.d/MY-BIN.sh <<EOF
#!/bin/bash
export MYSQL_BIN=/usr/local/mysql/bin
export PATH=\${PATH}:\${MYSQL_BIN}
EOF
source  /etc/profile.d/MY-BIN.sh
chmod 700 /etc/profile.d/MY-BIN.sh
  • 启动mysql

主:建议线上正式环境,不用添加服务启动脚本以及设置开机自启动。如果当数据库系统出现异常重启,数据库服务起来后容易出现异常问题,当用户访问过来会出现服务及数据出错。所以需要人为的确定没有问题再添加到数据库集群里去。

/etc/init.d/mysqld start

推荐启动MySQL服务方式

/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf &
  • 修改 root 密码

注:MYSQL 5.7 会在初始化时候自动生成随机密码,如果没有打印到终端可以用greep命令来过滤error日志来查看MySQL的root密码。

方法一

alter user user() identified by 'root';

方法二

set password=password('root');

其他:

如果用自动化方式部署MySQL服务安装的话,可以在初始化数据库时生成空密码。

  • 初始化数据库生成空密码
/usr/local/mysql/bin/mysqld  --initialize-insecure
点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注