部署说明
Linux
上安装软件常见的几种方式:
- 源码编译
- 压缩包解压(一般为
tar.gz
) - 编译好的安装包(
RPM
、DPKG
等) - 在线安装(
YUM
、APT
等)
部署方式简单程度:
YUM
>RPM
>tar.gz
> 源码,本文介绍tar.gz
方式.
部署步骤
- 卸载已有
# 通过rpm方式安装的
rpm -qa|grep mysql
# 如果有, 卸载
rpm -e --nodeps xxx
# 查找mysql文件夹
whereis mysql
find / -name mysql
下载
tar.gz
文件, mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz由于国外资源下载缓慢,可以使用华为开源镜像
安装依赖包
yum -y install make gcc-c++ cmake bison-devel ncurses-devel numactl libaio
- 创建系统用户和组
# 创建组
groupadd mysql
# 创建不需要登录的系统账号,启动MySQL服务时会使用该账号
useradd -s /sbin/nologin -g mysql -M mysql
# useradd -r -g mysql -s /bin/false mysql
# useradd -r -g mysql mysql
- 解压到
/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
- 初始化
# 注意打印日志最后返回的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)&
- 编辑配置文件
/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
- 启动
/usr/local/mysql/support-files/mysql.server start
- 添加软链接
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
- 设置开机启动
# 将服务文件拷贝到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
- 登录并修改
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;