linux下安装mysql(.tar.gz压缩包方法)

前言

对于大众和新手程序员来说,linux可能是一个比较陌生的系统,但是作为开发者又得经常和它打交道。作为后者的我,被安装mysql搞得头可大了,第一次安装mysql,装了一天半,但是没记录。然后第二次安装,又安装了两个小时,为了下次不再浪费时间,也为了能帮助到其他同伙,所以特别做了这次记录。

准备工作

linux虚拟机或linux服务器和远程连接工具等就不说了。
我们先下载mysql的安装包,
下载地址:https://downloads.mysql.com/archives/community/
选择
选择数据版本和linux的发行版本、位数等,即便我选择了,还有三个选项(上图),首先排除中间那个,27.9M,不知道是干啥的,但是肯定不是我需要的。第一个和第三个,一个是**.tar.gz**,一个是**.tar**,我也不知道咋区分,但是我都尝试了一下,.tar被解压之后是一堆.rmb文件(不知道有没有记错),也不知道咋处理这些文件。所以选择**.tar.gz**,也就是第一个。

正式开工

1、排除安装干扰

1.1 检查是否已经安装,执行命令

rpm -qa | grep mysql

如果已经存在,则执行删除命令

rpm -e --nodeps 名字

1.2 查找是否有mysql相关的进程,执行命令

ps -ef|grep mysql | grep -v grep
ps -ef|grep mysqld | grep -v grep

如果有,则执行下面的命令将其杀死

kill -9 进程号

1.3 查找mysql相关的文件,执行命令

find  /  -name  mysql

如果有,将其删除或者重命名,自行百度mv命令的用法

2、安装操作

2.1 将压缩包用远程连接工具上传到linux上,我是传到/opt/下的,如果是新手,建议和我一样,免得出问题。使用解压命令解压

tar -zxvf  mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz

2.2 解压之后会多出一个文件夹mysql-5.7.17-linux-glibc2.5-x86_64,重命名为 mysql-5.7.17

mv mysql-5.7.17-linux-glibc2.5-x86_64  mysql-5.7.17

注意:如果已经存在mysql这个目录,最好将其移动到别的地方或者重命名,和我保持一致,避免一些不必要的问题。

2.3 创建mysql用户组和mysql用户

cat /etc/group | grep mysql
#类似
mysql:x:490:
cat /etc/passwd | grep mysql
#类似
mysql:x:496:490::/home/mysql:/bin/bash

以上为存在的情况,如无,执行添加命令:

groupadd mysql
useradd -r -g mysql mysql

注意:useradd -r参数表示mysql用户是系统用户,不可用于登录系统

2.4 创建data,数据存放目录

cd mysql-5.7.25
mkdir data

修改权限

chown -R mysql.mysql /opt/mysql-5.7.17

2.5 创建配置文件
在/opt/mysql-5.7.17/support-files目录下创建my_default.cnf,创建命令

cd /opt/mysql-5.7.17/support-files
touch my_default.cnf

在文件中复制以下内容(如果你的安装目录和我不一样,那么这些目录要和你自己的目录对应才行):

[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 
 
basedir = /opt/mysql-5.7.17
datadir = /opt/mysql-5.7.17/data
port = 3306
socket = /tmp/mysql.sock
character-set-server=utf8
 
log-error = /opt/mysql-5.7.17/data/mysqld.log
pid-file = /opt/mysql-5.7.17/data/mysqld.pid

linux下shift+insert是粘贴,Ctrl+insert是复制

拷贝,如果提示是否覆盖,y

cp support-files/my_default.cnf /etc/my.cnf

2.6 初始化

cd /opt/mysql-5.7.17
./bin/mysqld --initialize --user=mysql --basedir=/opt/mysql-5.7.17/ --datadir=/opt/mysql-5.7.17/data/

2.6.1 如果报下面的错误:

./bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

那就先执行下面的命令再执行上面的初始化命令

yum install -y libaio

2.7 初始密码
初始化之后到日志中去查看初始密码,等会登录用。日志在

/opt/mysql-5.7.17/data/mysqld.log

可以用cat 命令查看

cat /opt/mysql-5.7.17/data/mysqld.log

a8?DQir=T+k+就是密码,查看自己的并且记下来

[Note] A temporary password is generated for root@localhost: a8?DQir=T+k+

如果在data下面没有找到mysqld.log日志文件,有可能是2.5步中配置文件的内容有问题,去检查/etc/my.cnf这个文件,看看配置的那些路径是不是正确的,或者你的安装目录和我不一样,但是配置文件却没有改

2.8 启动
把启动脚本放到开机初始化目录

cp support-files/mysql.server /etc/init.d/mysql

启动命令

service mysql start

如果启动报错

Starting MySQL.2021-06-21T04:56:48.691659Z mysqld_safe The file /usr/local/mysql/bin/mysqld
does not exist or is not executable. Please cd to the mysql installation
directory and restart this script from there as follows:
./bin/mysqld_safe&
See http://dev.mysql.com/doc/mysql/en/mysqld-safe.html for more information
The server quit without updating PID file (/opt/mysql-5.7.1[FAILED]ysqld.pid).

这是因为:在MySQL 5.7中,安全性提升,要求切换到软件安装目录,来启动数据库,所以得换种方式启动

cd /opt/mysql-5.7.17
./bin/mysqld_safe --defaults-file=/etc/my.cnf &

2.9 登录,刚刚日志中的密码

./bin/mysql -u root -p

每次都要这样来登录,有点麻烦,可以这样做

ln -s /opt/mysql-5.7.17/bin/mysql  /usr/bin

以后登录就可以直接用mysql命令登录了

mysql -uroot -p

2.10 修改密码

 set password=password('123456');
 flush privileges;

2.11 设置远程连接

grant all privileges on *.* to root@'%' identified by 'root';
flush privileges;

重启mysql才能生效。


service mysql stop
service mysql start
service mysql restart

3. 完善

3.1 启动问题
在2.8步启动过程中,如果需要需要./bin/mysqld_safe --defaults-file=/etc/my.cnf &这种方式启动,那么我们可以简单的处理一下,

mkdir -p /usr/local/mysql/bin
ln -s /opt/mysql-5.7.17/bin/mysqld  /usr/local/mysql/bin/mysqld

4. 最后

自己也是在网上找的参考资料,然后碰到了各种问题,所以把自己的问题记录了下来。
主要参考
https://blog.csdn.net/lch520baby/article/details/89081306
https://blog.csdn.net/eagle89/article/details/78411184
http://blog.itpub.net/26506993/viewspace-2136837/
https://blog.csdn.net/u010587433/article/details/47291317
https://blog.csdn.net/emily_and_cat/article/details/108712222

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值