linux下安装mysql其实本身挺简单的,一般情况下用yum不但能直接安装所需要的mysql组件,还能安装mysql所需要的依赖,以及依赖所需要的依赖…………
但是有些时候我们在有些单位的内网环境下是用不了yum的
所以安装起来相对麻烦,令人头大的就是依赖,最令人头大的就是依赖还需要依赖。
由于以前我都是yum安装mysql,这次工作中遇到需要内网部署的环境,当场就傻眼了,折腾了两天,总算给整明白了。
一些细节比如中间好几次把服务器给整废了然后又重新装的系统等等就不记录了,下边直接贴上主要过程。
查看linux之前是否有安装过mysql
rpm -qa|grep mysql
如果有就使用rpm -e 包名 (都在上面显示)来清除安装包,如果碰到不能报错不能删除,
加上参数 --nodeps强制删除即可
有多少删多少
如果查不到东西说明没有继续进行
下载一个压缩包,上传mysql压缩包至liunx服务器并解压,压缩包网上有一大堆,我也会把我用的mysql安装包包括一些依赖附在下边连接里。
mkdir /usr/local/mysql //创建一个要解压的目录
tar -xvf mysql-8.0.22-1.el7.x86_64.rpm-bundle.tar -C /usr/local/mysql/ //解压
cd /usr/local/mysql //切换至解压后的目录下
rpm -ivh mysql-community-**** //安装
报出缺少依赖错误,由于没有办法用yum安装,所以只能一个一个安装,首先从第一个安装,将安装包上传至liunx服务器,执行命令安装:
cd //回到文件上传的目录
rpm -ivh openssl-devel-1.0.2k-19.el7.x86_64.rpm
依赖的包也缺少依赖,继续上传所需包进行安装
rpm -ivh krb5-libs-1.15.1-50.el7.x86_64.rpm
rpm -ivh zlib-devel-1.2.7-18.el7.x86_64.rpm
终于没有依赖了,安装成功,那么我们继续安装上一个依赖
rpm -ivh openssl-devel-1.0.2k-19.el7.x86_64.rpm
还是报错,但是错误变了,说明刚刚的安装起效了,但是有一个依赖我们安装错了,找到对应依赖继续安装:
rpm -ivh krb5-devel-1.15.1-50.el7.x86_64.rpm
继续报错缺少依赖,找依赖包装吧,谁让是内网环境呢?真怀念yum
rpm -ivh keyutils-libs-devel-1.5.8-3.el7.x86_64.rpm
rpm -ivh libcom_err-devel-1.42.9-19.el7.x86_64.rpm
rpm -ivh libkadm5-1.15.1-50.el7.x86_64.rpm
rpm -ivh libverto-devel-0.2.5-4.el7.x86_64.rpm
一连装4个包竟然没有报出任何依赖,当浮一大白
继续安装
rpm -ivh libselinux-devel-2.5-15.el7.x86_64.rpm
这简直了,口吐芬芳
rpm -ivh libsepol-devel-2.5-10.el7.x86_64.rpm
rpm -ivh pkgconf-1.4.2-1.el8.src.rpm
成功了一个,另外一个给出了警告,我们做程序猿的什么时候对警告感兴趣过?我们只邂逅异常。不管它,我们继续再次安装上一个依赖
rpm -ivh libselinux-devel-2.5-15.el7.x86_64.rpm
只剩下了一个依赖,我们再找找这个依赖包将它安装,有没有看到曙光的感觉?
rpm -ivh pcre-devel-8.42-14.2.x86_64.rpm
挺多的,一次性把pcre全部上传然后安装
啊啊啊啊,我要疯了。
使用rpm -Uvh pcre-**** 升级安装,或者先卸载冲突再进行安装也可以
终于成功了,下边继续安装上一个依赖
rpm -ivh libselinux-devel-2.5-15.el7.x86_64.rpm
成功
继续安装上一个依赖
rpm -ivh krb5-devel-1.15.1-50.el7.x86_64.rpm
成功,继续安装上一个依赖
rpm -ivh openssl-devel-1.0.2k-19.el7.x86_64.rpm
第一个依赖安装终于完成了,下边进入mysql目录再次安装mysql看异常会不会改变
cd /usr/local/mysql //切换至解压后的目录下
rpm -ivh mysql-community-****
与第一次不同,少了openssl依赖
下边我们忽略掉前两个取代,直接安装第三个依赖
rpm -ivh perl-Data-Dumper-2.151-2.2.x86_64.rpm
成功,安装第四个依赖
rpm -ivh perl-JSON-2.59-2.el7.noarch.rpm
继续
rpm -ivh perl-Text-ParseWords-3.29-4.el7.noarch.rpm
OK,激动ing,下边直接将安装再次指向mysql
先进入mysql目录
cd /usr/local/mysql/
rpm -ivh mysql-community-****
这里Perl(Test::More)还是被需要的,说明刚才装的不对,再找相关包进行安装
rpm -ivh perl-Test-Simple-0.98-243.el7.noarch.rpm
举步维艰
rpm -ivh perl-Test-Harness-3.28-3.el7.noarch.rpm
安装上一个依赖
rpm -ivh perl-Test-Simple-0.98-243.el7.noarch.rpm
再次安装mysql,看他还说什么
rpm -ivh mysql-community-****
被取代,我们改为更新安装再试一下
rpm -Uvh mysql-community-**** //也可以先卸载冲突再进行安装
成功了
启动
查看安装及存储目录
find / -name mysql -print
/usr/lib64/mysql
/usr/share/mysql 默认安装目录
/usr/bin/mysql
/etc/logrotate.d/mysql
/var/lib/mysql 数据存放目录
/opt/mysqldb/mysql
/opt/mysqldb/mysql/mysql
启动Mysql服务
service mysqld start
查看MySQL服务器的状态
service mysqld status
设置开机启动
chkconfig mysqld on
生成随机密码
grep 'temporary password' /var/log/mysqld.log
重新登陆
mysql -uroot -p
aa7d5=eG&is#
配置Mysql 密码以及权限
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Aaa123456!';
接下来修改防火墙策略
开放Linux的对外访问的端口3306
/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
允许root用户在任何地方进行远程登录,并具有所有库任何操作权限
MySQL 8.0已经不支持下面这种命令写法,5.7版本还是可以使用的。
GRANT ALL PRIVILEGES ON *.* TO 'syy'@'%' IDENTIFIED BY 'Aaa123456!' WITH GRANT OPTION;
FLUSH PRIVILEGES;
8.0以上正确的写法是先创建用户
CREATE USER 'syy'@'%' IDENTIFIED BY 'Aaa123456!';
再给用户授权
grant all privileges on *.* to 'syy'@'%' ;
账号密码在远程登录不上报1251错误时使用下边的语句更改加密规则
ALTER USER 'syy'@'%' IDENTIFIED WITH mysql_native_password BY 'Aaa123456!';
密码限制这个太烦人了,关掉
set global validate_password.policy=0;
set global validate_password.length=4;
对于数据库中的表大小写敏感做法
systemctl stop mysqld.service
停止数据库服务后,修改
vi /etc/my.cnf
,在[mysqld]下面添加
lower_case_table_names=1
重启数据库
systemctl start mysqld.service
大功告成,下边附上mysql安装包以及依赖包。如果包里没有还可以去网上下载,有几个特别好用的依赖库地址也都贴上去了,需要的依赖上边都能找到的。
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
mysql8.0安装包及相关依赖_linux无网络mysql8升级-Linux文档类资源-CSDN下载
rpm包常用下载地址
rpmfind:
http://rpmfind.net/linux/RPM/index.html
pkgs:
https://pkgs.org/
fedora koji:
https://koji.fedoraproject.org/koji/index
pbone:
http://rpm.pbone.net/
源码:
https://src.fedoraproject.org/projects/rpms/%2A
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------