最近接了一活,让我给内网服务器上装一个mysql。服务器连接不了网络,所以yum指令是不能用了。我也百度学习了很多教程,后面用rpm安装配置成功了,现在做个学习总结吧。
首先把相关的rpm安装包下载好。这里我提供了。我安装的数据库版本是mysql5.7.16.
mysql5.7.16
下载链接:链接:https://pan.baidu.com/s/1k00-CRNnkbD5OERWX5qfHA
提取码:meen
卸载
先查看一下,服务器上是否已安装mysql,把安装的都删除干净。
#主要使用了如下命令 rpm -qa |grep mysql rpm -qa |grep -i mysql whereis mysql find / -name mysql
rpm包卸载:
rpm -qa |grep mysql
rpm -qa |grep -i mysql
卸载这个安装包再查看是否还有。
使用: whereis mysql
删除分散mysql文件夹
使用 : find \ -name mysql 查找并删除。
最重要的是把 my.cnf这个文件删除。这个文件比较喜欢搞事情
rm -rf /etc/my.cnf # rm -rf /etc/my.cnf.d
新版的mysqL好像统自带的mariadb-lib也有一定影响。所以我也卸载了。
rpm -qa|grep mariadb # 使用 -- nodeps 忽略依赖 rpm -e --nodeps mariadb-libs-5.5.40-1.el7_0.x86_64
安装
我的rpm安装包都上传到了 /usr/local/soft文件夹下。最好都上传到一个文件夹下吧。
接下来开始安装咯。
rpm -ivh mysql-community-common-5.7.16-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.16-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.16-1.el7.x86_64.rpm
在安装mysql-community-server-5.7.20-1.el7.x86_64.rpm
之前需要安装libaio。
最后安装server。
rpm -ivh mysql-community-server-5.7.16-1.el7.x86_64.rpm
初始化数据库
mysql_install_db --datadir=/var/lib/mysql
mysqld --initialize
这里可能会发生警报,错误。
解决方案是:
先找到my.cnf文件。
然后在my.cnf中加入
[mysqld]
explicit_defaults_for_timestamp=true
再执行一次:
mysqld --initialize,发现还是有错, 报这个错误的原因是因为你的mysql数据库已经进行初始化了,所以不能用这种方式再进行初始化用户了,我想了一下数据库应该也已经初始化了。所以应该也没什么关系。
更改mysql数据库目录的所属用户及其所属组(没用创建mysql用户)
chown mysql:mysql /var/lib/mysql -R
启动服务
systemctl start mysqld.service
ps -ef |grep mysql
登录mysql
命令可以查看初始密码。
grep ‘temporary password’ /var/log/mysqld.log
可能没有日志文件,也不要紧。
我们去直接使用空密码登录看看。
一般这个错误是由密码错误引起,解决的办法自然就是重置密码。
假设我们使用的是root账户。
1.重置密码的第一步就是跳过MySQL的密码认证过程,方法如下:
#vim /etc/my.cnf
在[mysqld]下面添加
skip-grant-tables
用来跳过密码验证的过程,保存退出。
重启一下数据库服务,然后就可以进入数据库了。
验证一下是否可以用
修改一下密码:
update mysql.user set authentication_string=password('root123') where user='root';
编辑my.cnf,去掉刚才添加的内容,然后重启MySQL。大功告成!
这一次使用命令,发现会让你修改一下密码;再输入一次:
alter user 'root'@'localhost' identified by 'root123';
即可。
远程登录授权
grant all privileges on *.* to 'root'@'%' identified by 'root123' with grant option; flush privileges;
有兴趣的老爷,可以关注我的公众号【一起收破烂】,回复【006】获取2021最新java面试资料以及简历模型120套哦~