mysql卸载教程linux,linux环境下mysql卸载与安装详细教程-
Go语⾔中⽂社区
Linux下彻底卸载mysql详解
⼀、使⽤以下命令查看当前安装mysql情况,查以前是否装有mysql
rpm -qa|grep -i mysql
可以看到安装如下图的所⽰:
image.png
2、停⽌mysql服务、删除之前安装的mysql
删除命令:rpm -e –nodeps 包名
rpm -ev MySQL-client-5.5.25a-1.rhel5
rpm -ev MySQL-server-5.5.25a-1.rhel5
如果提⽰依赖包错误,则使⽤以下命令尝试
rpm -ev MySQL-client-5.5.25a-1.rhel5 --nodeps
如果提⽰错误:error: %preun(xxxxxx) scriptlet failed, exit status 1
则⽤以下命令尝试:
rpm -e --noscripts MySQL-client-5.5.25a-1.rhel5之前下过mysql现在重新下载mysql
3、查之前⽼版本mysql的⽬录、并且删除⽼版本mysql的⽂件和库
find / -name mysql
查结果如下:
/var/lib/mysql
/
var/lib/mysql/mysql
/usr/lib64/mysql
删除对应的mysql⽬录
rm -rf /var/lib/mysql
rm -rf /var/lib/mysql
rm -rf /usr/lib64/mysql
具体的步骤如图:查⽬录并删除
image.png
注意:卸载后/etc/myf不会删除,需要进⾏⼿⼯删除
rm -rf /etc/myf
4、再次查机器是否安装mysql
rpm -qa|grep -i mysql
⽆结果,说明已经卸载彻底,接下来直接安装mysql即可。
mysql安装
在CentOS中默认安装有MariaDB,这个是MySQL的分⽀,但为了需要,还是要在系统中安装MySQL,⽽且安装完成之后可以直接覆盖掉MariaDB。
1 下载并安装MySQL官⽅的 Yum Repository
使⽤上⾯的命令就直接下载了安装⽤的Yum Repository,⼤概25KB的样⼦,然后就可以直接yum安装了。
[root@localhost ~]# yum -y arch.rpm
之后就开始安装MySQL服务器。
[root@localhost ~]# yum -y install mysql-community-server
这步可能会花些时间,安装完成后就会覆盖掉之前的mariadb。
image.png
⾄此MySQL就安装完成了,然后是对MySQL的⼀些设置。
2 MySQL数据库设置
⾸先启动MySQL
[root@localhost ~]# systemctl start mysqld.service
查看MySQL运⾏状态,
[root@localhost ~]# systemctl status mysqld.service
运⾏状态如图:
image.png
此时MySQL已经开始正常运⾏,不过要想进⼊MySQL还得先出此时root⽤户的密码,通过如下命令可以在⽇志⽂件中出密码:[root@localhost ~]# grep "password" /var/log/mysqld.log
image.png
如下命令进⼊数据库:
[root@localhost ~]# mysql -uroot -p
输⼊初始密码,此时不能做任何事情,因为MySQL默认必须修改密码之后才能操作数据库:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
这⾥有个问题,新密码设置的时候如果设置的过于简单会报错:
image.png
原因是因为MySQL有密码设置的规范,具体是与validate_password_policy的值有关:
image
MySQL完整的初始密码规则可以通过如下命令查看:
mysql> SHOW VARIABLES LIKE 'validate_password%';
image.png
密码的长度是由validate_password_length决定的,⽽validate_password_length的计算公式是:
validate_password_length = validate_password_number_count + validate_password_special_char_count + (2 *
validate_password_mixed_case_count)
我的是已经修改过的,初始情况下第⼀个的值是ON,validate_password_length是8。可以通过如下命令修改:
mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=1;
设置之后就是我上⾯查出来的那⼏个值了,此时密码就可以设置的很简单,例如1234之类的。到此数据库的密码设置就完成了。
但此时还有⼀个问题,就是因为安装了Yum Repository,以后每次yum操作都会⾃动更新,需要把这个卸载掉:
[root@localhost ~]# yum -y arch
navicat for mysql 链接时报错:1251-Client does not support authentication protocol requested by server
image.png
主要原因是mysql服务器要求的认证插件版本与客户端不⼀致造成的。
解决⽅法:
我不希望更新本地的客户端版本,想直接使⽤原来的环境来链接。
解决⽅法是将root的plugin改成mysql_native_password。相当于降了⼀级。
mysql官⽅⽹站提供了从mysql_old_password升级到mysql_native_password,我们可以仿照这个。官⽅原⽂如下:
image.png
这⾥改成:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
⽹上⼤部分是('root'@'localhost' )这样会导致本地docker虚拟机安装的mysql依旧登录不上,把localhost改成%就解决了,最好两个都执⾏⼀下,不然可能Navicat能连接上,服务器本地反⽽连接不
上,贼坑!
这⾏代码有两层含义,第⼀:修改root的密码为'123456',摒弃原来的旧密码。第⼆:使⽤mysql_native_password对新密码进⾏编码。
⼤功告成!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。