Centos 8 安装压缩版 mysql-8.0.21-el7-x86_64.tar.gz
1、环境和安装包准备
mysql 安装包下载参考(https://www.cnblogs.com/dawnlz/p/15777139.html)
系统: CentOS-8.2.2004-x86_64-minimal.iso ,安装的是最小化标准版 且 /etc/selinux/config 配置已禁用
mysql:mysql-8.0.21-el7-x86_64.tar.gz
安装目录:/usr/local/src
当前用户:root
安装依赖,不然启动服务可能报错,起不来:
yum install libncurses*
2、开始安装:
第一步:把文件上传至安装目录,解压重命名为 mysql8.0
cd /usr/local/src
tar -xvf mysql-8.0.21-el7-x86_64.tar.gz
mv mysql-8.0.21-el7-x86_64 mysql8.0
第二步:切到mysql8.0目录,建立日志目录文件和数据目录,配置 my.cnf 文件
cd mysql8.0
mkdir data
mkdir log
touch log/mysql.log
touch my.cnf
第三步:编辑my.cnf 添加内容:
(具体参考官网文档 https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html)
[mysqld]
user = mysql
port = 9797 #端口自定义,我这里配置的是9797
basedir = /usr/local/src/mysql8.0
datadir = /usr/local/src/mysql8.0/data
pid-file = /usr/local/src/mysql8.0/mysql.pid
socket = /tmp/mysql.sock
log-error = /usr/local/src/mysql8.0/log/mysql.log
[mysql_safe]
log-error = /usr/local/src/mysql8.0/log/mysql.log
pid-file = /usr/local/src/mysql8.0/mysql.pid
第四步:新建用户和组,并把mysql8.0目录指定给这个用户
cd ..
groupadd mysql
useradd -r -g mysql mysql
chown -R mysql:mysql mysql8.0
3、初始化mysql,获取密码,启动服务,建立命令软连接
第一步: 切到mysql8.0/bin目录下,进行初始操作
cd mysql8.0/bin
./mysqld --defaults-file=/usr/local/src/mysql8.0/my.cnf --initialize --user=mysql
第二步:初始化完成,注意看打印的提示上面有mysql root账户的初始密码,
复制到一边等会改密码用,类似于:
#冒号后面就是密码
[Note] [MY-010454] [Server] A temporary password is generated for root@localhost: xxxxxxxxxxxx
第三步:修改服务文件启动服务
cd ../support-files/
#修改配置文件:mysql.server 把 my.cnf 的配置写到这里面,文件里面已经有这两个变量,贴过来值即可,保存
#等于号之间不要有空格
basedir=/usr/local/src/mysql8.0 datadir=/usr/local/src/mysql8.0/data
第四步:启动服务,添加命令软链接到系统目录
./mysql.server start
添加软连接到 /usr/bin ,这样可以全局执行mysql命令
ln -fs /usr/local/src/mysql8.0/bin/mysql /usr/bin/
ln -fs /usr/local/src/mysql8.0/bin/mysqldump /usr/bin/
4、更改root密码,并配置用户
第一步:用root账号登录mysql
mysql -u root -p
#输入刚刚初始化的密码
第二步:登录成功,开始配置用户
#修改本机登录root密码 ,我修改密码为:wssf1234556,by后面的单引号里面定义自己的密码
mysql>alter user 'root'@'localhost' identified with mysql_native_password by 'wssf1234556';
mysql> flush privileges;
#创建一个指定远程主机root用户,我这里指定的是192.168.3.10局域网机器,密码是:wssf1234556
mysql> create user 'root'@'192.168.3.10' identified with mysql_native_password by 'wssf1234556';
mysql> grant all privileges on *.* to 'root'@'192.168.3.10' with grant option;
mysql> flush privileges;
mysql> quit;
5、添加mysql开机启动文件到系统目录,这样就能用系统命令操作mysql服务,用编辑工具编辑:
第一步 编辑启动文件,添加内容:
vim /usr/lib/systemd/system/mysql.service
[Unit] Description = MySQL Server After = network.target After = syslog.target [Service] User = mysql Group = mysql Type = forking PermissionsStartOnly = true ExecStart = /usr/local/src/mysql8.0/support-files/mysql.server start ExecStop = /usr/local/src/mysql8.0/support-files/mysql.server stop ExecReload = /usr/local/src/mysql8.0/support-files/mysql.server restart LimitNOFILE = 5000 [Install] WantedBy = multi-user.target
第二步 设置开机自启
systemctl enable mysql.service
#重启试试mysql启动没
systemctl status mysql.service # 查看服务状态
第三步 防火墙配置参考:https://www.cnblogs.com/dawnlz/p/12603180.html ,防火墙关闭则不需要开启端口访问,否则需要把mysql的服务端口添加到防火墙配置中
6.以上是压缩版安装步骤,嫌麻烦的可以移步参考rpm安装包粗暴的安装方式:https://www.cnblogs.com/DotSDot/p/13334506.html