0%

mysql部署【用tar.gz方式】

部署说明

Linux上安装软件常见的几种方式:

  • 源码编译
  • 压缩包解压(一般为tar.gz
  • 编译好的安装包(RPMDPKG等)
  • 在线安装(YUMAPT等)

部署方式简单程度:YUM > RPM > tar.gz > 源码,本文介绍tar.gz方式.

部署步骤

  1. 卸载已有
# 通过rpm方式安装的
rpm -qa|grep mysql
# 如果有, 卸载
rpm -e --nodeps xxx

# 查找mysql文件夹
whereis mysql
find / -name mysql
  1. 下载tar.gz文件, mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz

    由于国外资源下载缓慢,可以使用华为开源镜像

  2. 安装依赖包

yum -y install make gcc-c++ cmake bison-devel ncurses-devel numactl libaio
  1. 创建系统用户和组
# 创建组
groupadd mysql
# 创建不需要登录的系统账号,启动MySQL服务时会使用该账号
useradd -s /sbin/nologin -g mysql -M mysql
# useradd -r -g mysql -s /bin/false mysql
# useradd -r -g mysql mysql
  1. 解压到/usr/local/
# 解压
tar -zxvf mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz

# 重命名
mv mysql-5.7.31-linux-glibc2.12-x86_64 mysql

# 移动到/usr/local/下
mv mysql /usr/local/

# mysql目录下创建data文件夹
cd /usr/local/mysql/
mkdir data

# 设置权限
chown -R mysql:mysql /usr/local/mysql
chmod -R 755 /usr/local/mysql
  1. 初始化
# 注意打印日志最后返回的root用户临时密码,登录时用到
bin/mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql

# 初始化日志
2020-07-27T07:13:42.627407Z 1 [Note] A temporary password is generated for root@localhost: 4Mt4Zka<6j)&
  1. 编辑配置文件/etc/my.cnf
# 如果有这个文件,先清空
[root@localhost bin]#  vi /etc/my.cnf

[mysqld]
datadir=/usr/local/mysql/data
port=3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
symbolic-links=0
max_connections=600
innodb_file_per_table=1
lower_case_table_names=1
  1. 启动
/usr/local/mysql/support-files/mysql.server start
  1. 添加软链接
ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql 
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
# 重启mysql: service mysqld start|stop|restart|status
service mysql restart

# 添加环境变量,可选
echo "PATH=$PATH:/usr/local/mysql/bin  " >> /etc/profile  
source /etc/profile
  1. 设置开机启动
# 将服务文件拷贝到init.d下,并重命名为mysql
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
# 赋予可执行权限
chmod +x /etc/init.d/mysqld
# 添加服务
chkconfig --add mysqld
# 显示服务列表
chkconfig --list
  1. 登录并修改root密码
-- 使用初始化生成的临时密码登录
mysql -u root -p

-- 修改密码
set password for root@localhost = password('123456');
--  ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

-- 开放远程连接
use mysql;
update user set user.Host='%' where user.User='root';
flush privileges;

参考链接