在linux下开发,mysql数据库是经常用到的,对于初学者来说,在linux怎么安装卸载mysql数据库,也许可能比较痛苦,这里简单介绍下,怎么卸载msql数据库。
a)查看系统中是否以rpm包安装的mysql
[root@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
[root@linux ~]# rpm -e MySQL-client-5.1.49-1.glibc23  
[root@linux ~]# rpm -e MySQL-server-5.1.49-1.glibc23  
b)查看有没有mysql服务
[root@linux ~]# chkconfig --list | grep -i mysql  
mysq.    0:off   1:off   2:on    3:on    4:on    5:on    6:off  
删除mysql服务
[root@linux ~]# chkconfig --del mysql  
c)删除分散mysql文件夹
[root@linux ~]# whereis mysql  
mysql: /usr/lib/mysql /usr/share/mysql  
分别删除
[root@linux lib]# rm -rf /usr/lib/mysql/  
[root@linux lib]# rm -rf /usr/share/mysql

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

与很多软件安装一样,如果是第二次安装,比第一次安装要纠结得多,很多东西可能因为没有删除干净,会安装不上,我这次安装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: <输入新设的密码newpassword>
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 *:330..       *:...  LISTEN     
tcp  0   0 localhost.localdomain:8307     *:...  LISTEN     
但是我的配置文件里头明明是第一个实例启动3301端口,第二个实例启动3302端口的,然后我用netstat –nltp命令查看,结果是(部分):
Proto Recv-Q Send-Q Local Address    Foreign Address   State   PID/Program name   tcp   0     0 0.0.0.0:330.    0.0.0.0:.LISTEN      25158/mysqld      
tcp   0     0 0.0.0.0:330.    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;

转载于:https://blog.51cto.com/10495845/1673577

linux下完全删除mysql相关推荐

  1. Linux下删除mysql实例,linux下完全删除mysql

    在linux下开发,mysql数据库是经常用到的,对于初学者来说,在linux怎么安装卸载mysql数据库,也许可能比较痛苦,这里简单介绍下,怎么卸载msql数据库. a)查看系统中是否以rpm包安装 ...

  2. 记录Linux下彻底删除MySQL以及启动MySQL之后使用密码登录提示报ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost

    1. 问题描述: 在安装mysql前需先卸载自带的Mysql-libs,或者安装错误导致mysql不可用等等一系列原因要彻底删除Linux上现存的所有的mysql. 解决方法: 使用以下命令查询MyS ...

  3. mysql8.0 服务移除_Linux下彻底删除Mysql 8.0服务的方法

    观看本文前最好有一定的Linux命令基础,具体为centos7.3环境中清除使用yum安装的Mysql 卸载前请先关闭Mysql服务 service mysql stop 使用 rpm 命令的方式查看 ...

  4. liunx tar安装mysql_在Linux下,安装Mysql(tar)

    在Linux下,安装Mysql(tar) # cd /home/tmp (进入压缩包所在目录) # groupadd mysql (建立mysql组) # useradd -g mysql mysql ...

  5. linux下的PHP+Mysql+PHPWind实现

    linux下的PHP+Mysql+PHPWind实现 1安装httpd.mysql mysql-server php php-mysql php-mbstring yum -y install mys ...

  6. linux备份mysql怎样操作,Linux下自动备份MySQL数据库详细操作步骤(转载)

    环境说明 操作系统:CentOS IP:192.168.150.214 Oracle数据库版本:Oracle11gR2 用户:root 密码:123456 端口:3306 数据库:ts_0.ts_1. ...

  7. linux下彻底卸载mysql 图解教程

    linux下彻底卸载mysql 图解教程 1.查找以前是否装有mysql 命令:rpm -qa|grep -i mysql 可以看到如下图的所示: 说明之前安装了: MySQL-client-5.5. ...

  8. Linux下自动备份MySQL数据库及Can‘t connect to local MySQL server through socket和you need (at least one of) 解决e

    Linux下自动备份MySQL数据库及Can't connect to local MySQL server through socket和Access denied; you need (at le ...

  9. linux定时备份数据库到远程ftp,Linux下自动备份MySQL数据库并上传到远程FTP服务器...

    Linux下自动备份MySQL数据库并上传到远程FTP服务器且删除指定日期前的备份Shell脚本 说明: 1.备份MySQL数据库存放目录/var/lib/mysql下面的xshelldata数据库到 ...

  10. Linux下编译安装MySQL安装

    Linux下编译安装MySQL安装 博主邮箱www.zzher@foxmail.com   qq:1102471911 编译安装MySQL 准备工作: 1.获得以下所需的源代码包,并存放在/usr/l ...

最新文章

  1. 计算机如何理解我们的语言?NLP is fun!
  2. 使用sql来拼接语句,最终传入Mybatis中执行
  3. 推荐一款高端大气上档次的在线作图工具
  4. 3des java ecb_PHP 3DES加密 与JAVA通用 加密模式:ECB
  5. 数学建模资料分享群——2群
  6. 【ArcGIS遇上Python】使用add-in向导开发ArcGIS插件(1):add-in工具介绍及安装
  7. 移动互联网的特性 互联网+
  8. Python实战从入门到精通第二十一讲——构建一个模块的层级包
  9. 人工智能AI、机器学习和深度学习的区别
  10. shiro的源码分析(一)
  11. SpringMVC源码阅读(三)
  12. python小爬虫—获取学校教务处成绩
  13. ServletContext的用法
  14. ubuntu下安装tftp
  15. android7添加小工具,为Android应用添加桌面小工具(App Widget)
  16. java获取手机型号
  17. 网络流 24 题, 餐巾计划问题 (最小费用流 )
  18. AngularJS $destroy
  19. java 调用felix_寻找在动态加载Jar文件中使用Apache Felix并在Java中在运行时实例化类的基本示例...
  20. leetcode题解(含解题思路)(持续更新中)

热门文章

  1. 遗传算法解决TSP问题MATLAB实现(详细)
  2. 基于haclon的曲线针识别实例
  3. ENVI入门系列教程---一、数据预处理---4.1 遥感图像正射校正
  4. python 串口write 返回值_MicroPython 玩转硬件系列4:串口小实验
  5. 灵修---士师记第9章
  6. Call for Speaker!Flink Forward 全球在线会议议题征集 ing
  7. 程序员如何才能跨过高级级别,譬如腾讯T3.1/阿里P7
  8. 无线路由服务器蹭网,让别人知道wifi密码也无法蹭网的办法
  9. sap 打印预览界面点击打印时记录打印次数_9个Excel打印神技巧!从此打印不求人!...
  10. android多线程实现计时器,方法一、使用Handler和Thread(线程)实现定时器