设为首页 收藏本站
查看: 859|回复: 0

[经验分享] linux下如何完全删除mysql

[复制链接]

尚未签到

发表于 2015-12-8 05:39:16 | 显示全部楼层 |阅读模式
转自:http://blog.csdn.net/love__coder/article/details/6894566
       在linux下开发,mysql数据库是经常用到的,对于初学者来说,在linux怎么安装卸载mysql数据库,也许可能比较痛苦,这里简单介绍下,怎么卸载msql数据库。  a)查看系统中是否以rpm包安装的mysql


  • [iyunv@linux ~]# rpm -qa | grep -i mysql  
  • MySQL-server-5.1.49-1.glibc23  
  • MySQL-client-5.1.49-1.glibc23  
卸载MySQL-server-5.1.49-1.glibc23和MySQL-client-5.1.49-1.glibc23


  • [iyunv@linux ~]# rpm -e MySQL-client-5.1.49-1.glibc23  
  • [iyunv@linux ~]# rpm -e MySQL-server-5.1.49-1.glibc23  
b)查看有没有mysql服务

  • [iyunv@linux ~]# chkconfig --list | grep -i mysql  
  • mysql           0:off   1:off   2:on    3:on    4:on    5:on    6:off  
删除mysql服务


  • [iyunv@linux ~]# chkconfig --del mysql  
c)删除分散mysql文件夹


  • [iyunv@linux ~]# whereis mysql  
  • mysql: /usr/lib/mysql /usr/share/mysql  
分别删除


  • [iyunv@linux lib]# rm -rf /usr/lib/mysql/  
  • [iyunv@linux lib]# rm -rf /usr/share/mysql  

通过以上几步,mysql应该已经完全卸载干净了


一下转自http://wuyanzan60688.blog.163.com/blog/static/12777616320122921232402/


与很多软件安装一样,如果是第二次安装,比第一次安装要纠结得多,很多东西可能因为没有删除干净,会安装不上,我这次安装mysql就是一个例子。下面是怎样删除干净的方法:
1.       rpm删除
先用rpm –qa |grep mysql查看安装的rpm包
再用(注意只能是client在前)
rpm -e MySQL-client-community-5.1.40-0.rhel5
rpm -e MySQL-server-community-5.1.40-0.rhel5
两个命令删除服务器端和客户端。
2.       删除老版本的开发头文件和库
这里可以肯定的是随着上面两个rpm包的删除,/usr/bin/下相应的很多mysql打头的文件和/usr/share/下的mysql文件夹都会删除,但是还有一些默认不会删除的如下:
/var/lib下面是否有一个mysql文件夹,这里是老版本的开发库。
/etc/下面是否有my.cnf文件,是老版本的配置文件。
用rm命令将以上文件全部删除。
3.       删除可能还在运行的mysql进程——这是最容易忽略的地方
可以用ps aux | grep mysql查看下
-bash-3.1# ps aux | grep mysql




  • root      4885     1  0 10:43 ?        00:00:00 /bin/sh bin/mysqld_safe --user=mysql


  • mysql 4984  4885  0 10:43 ?00:00:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql --log-error=/usr/local/mysql/data/namenode.err --pid-file=/usr/local/mysql/data/namenode.pid --socket=/tmp/mysql.sock --port=3306

  • root      8116  7066  0 21:11 pts/1    00:00:00 grep mysql
多于一个时把他们全部kill掉。
否则会在你安装server的rpm包的时候报启动错误,我的报错最后两行如下:
Starting MySQL..Manager of pid-file quit without updating file.[失败]
Giving mysqld 2 seconds to start.
其实出现start错误的还有其它的可能,下面这篇博客写得很清楚了。
http://www.coderbolg.com/content/87.html
4.       根据以上的方法完全删除mysql后再次安装。
ERROR 1045 (28000): Access denied for user ’root’@’localhost’ (using password: NO)
这个错误的意思是所安装的mysql已经有密码,如果你想无密码登陆,休想!
必须:
mysql –u root –p
Enter password:(你的密码)
同理下面的这个错误:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
意思是你的mysql还没设置密码呢。。不要用密码登陆了吧!直接输入mysql就行了。
如果你想修改密码,可以用下面的方法:
# /etc/init.d/mysql stop
# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
# mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD(’newpassword’) where USER=’root’;
mysql> FLUSH PRIVILEGES;
mysql> quit
# /etc/init.d/mysql restart
# mysql -uroot -p
Enter password:  
mysql>
5.       双实例操作心得
a)         单实例的情况下,进入mysql之前必须开启mysql服务,linux中需要,win中也需要,这是最容易被忽略的,也是菜鸟和入门者的根本区别,如果你不开启服务,直接进入mysql,会直接报错:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
win中不用说,linux下可以有两种启动mysql服务的方法(实际上有三种mysqld_safe和mysqld当成一种吧)。
第一种就是上面写的/etc/init.d/mysqld start
第二种是/usr/bin/mysqld_safe –user=mysql(这里参数有很多,只写一个表示一下)。
b)         测试实例是否启动可以通过检查端口是否开启来判断:
netstat -lt|grep 33*(这个命令貌似不行,有问题)
例如我开两个mysql实例的时候,如果我用这个命令查看,结果是:
-bash-3.1# netstat -lt | grep 33*
tcp  0   0 *:3301                      *:*                         LISTEN     
tcp  0   0 localhost.localdomain:8307     *:*                         LISTEN     
但是我的配置文件里头明明是第一个实例启动3301端口,第二个实例启动3302端口的,然后我用netstat –nltp命令查看,结果是(部分):
ProtoRecv-Q Send-Q Local Address    Foreign Address   State   PID/Program name   tcp   0     0 0.0.0.0:3301           0.0.0.0:*       LISTEN      25158/mysqld      
tcp   0     0 0.0.0.0:3302           0.0.0.0:*       LISTEN      24923/mysqld
实际上这两个端口都已经启动了。
c)         启动两个实例时还有一个问题就是
mysqld_multi  --config-file=/var/lib/my.cnf stop 1-2
命令似乎无效,跟网上说的不一样,因为我输入此命令后,再
ps aux | grep mysql
跟mysql有关的进程一个都没有受到影响,都好好的。
我只能killall mysql试试,还是不行,最后killall –mysqld奏效。
但是在单实例的情况下直接/etc/init.d/mysql stop之后却可以有效。至今没有弄清楚原因。
6.       Mysql操作命令
进入mysql:mysql –uroot –p按回车后输入密码;
查看数据库:show databases; 注意分号和s;
进入数据库:use database名;
查看表:show tables;
新建数据库:create database wuyanzan; 这里没有s;
新建表:create table test(id int(4) not null primary key auto_increment , name char(20) not null);
获取表结构:desc test; 或者show columns from test;
删除表:drop table test;

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-148181-1-1.html 上篇帖子: linux 下 apache服务器(四 配置文件详解) 下篇帖子: Mini2440 Linux2.6.32.2移植(1)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表