在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:

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;

Linux下删除mysql实例,linux下完全删除mysql相关推荐

  1. mysql多实例复制,Mysql实例使用Rotate Master实现MySQL 多主复制的实现方法

    搜索热词 <MysqL实例使用Rotate Master实现MysqL 多主复制的实现方法>要点: 本文介绍了MysqL实例使用Rotate Master实现MysqL 多主复制的实现方法 ...

  2. springmvc与mysql实例_Spring+Mybatis+SpringMVC+Maven+MySql搭建实例

    摘要:本文主要讲了如何使用Maven来搭建Spring+Mybatis+SpringMVC+MySql的搭建实例,文章写得很详细,有代码有图片,最后也带有运行的效果. 一.准备工作 1. 首先创建一个 ...

  3. mysql 实例可用性_转载:MySQL数据库的高可用性分析

    MySQL数据库是目前开源应用最大的关系型数据库,有海量的应用将数据存储在MySQL数据库中.存储数据的安全性和可靠性是生产数据库的关注重点.本文分析了目前采用较多的保障MySQL可用性方案. MyS ...

  4. spring mvc mysql 实例_Spring+Mybatis+SpringMVC+Maven+MySql搭建实例

    一.准备工作 1. 首先创建一个表: CREATE TABLE `t_user` ( `USER_ID` int(11) NOT NULL AUTO_INCREMENT, `USER_NAME` ch ...

  5. mondrian mysql 实例_MONDRIAN支持的常用mysql函数

    数值函数 MAX    Caclulatedmember实现 MIN        Caclulatedmember实现 AVG       Caclulatedmember实现 SUM       ...

  6. linux vi命令操作实例,Linux下Vi替换字符命令操作实例

    在Linux下的开发中,经常涉及到对文件中的字符进行处理,其中,对字符的替换操作也是非常的频繁.本文以一个实际的文件为例,详细 在Linux下的开发中,经常涉及到对文件中的字符进行处理,其中,对字符的 ...

  7. linux下php启动实例,linux下实现定时执行php脚本_php实例

    在linux中输入命令 复制代码 代码如下: crontab -e 然后使用vim的命令编辑打开的文件,输入 复制代码 代码如下: 0 * * * * /usr/bin/php -f /home/us ...

  8. linux复制文件夹 实例,linux复制文件夹与文件实例介绍linux操作系统 -电脑资料

    本文章来介绍一下关于linux复制文件夹与文件的一些基础用法,有需要学习的朋友可参考一下本文章, CP命令 格式: CP [选项] 源文件或目录  目的文件或目录 选项说明:-b 同名,备分原来的文件 ...

  9. linux系统调用create简单实例,linux文件编程-【系统调用】-creat()

    在linux编程中文件调用是很重要的部分,在linux下的设备驱动很多时候会以文件的方式来为用户提供接口.如果不知道如何去访问一个文件,操作一个文件,那么在linux开发中就不能去对驱动进行开发.测试 ...

最新文章

  1. Stack Overflow被收购了,以后要付费“抄代码”?
  2. 【Python】编程笔记7
  3. md5withrsa java_浏览器运行java插件报错:Algorithm constraints check failed: MD5withRSA
  4. 【codevs1286】【BZOJ1503】郁闷的出纳员,splay练习
  5. 个人网页制作 大学生个人网页设计 个人网站模板 简单静态HTML个人网页作品 HTML+CSS+JavaScript
  6. SpringBoot中发送QQ邮件
  7. c语言实现简单俄罗斯方块
  8. matlab app designer:夫琅禾费圆孔衍射仿真
  9. 低电阻、高散热、节省空间 工业设备就需要这样的小型DCDC转换器
  10. ifix组态软件研究控制按钮权限
  11. 西门子PLC S7-1200程序实例,博图版本V15,仅供电气编程者学习借鉴
  12. Mesos-安装和使用
  13. 王道机考系列——数学问题
  14. RT-Thread学习笔记——事件集
  15. 用html制作四行四列的表格,HTML表格元素
  16. 单TYPE-C口 可支持快充又可传输USB2.0数据方案
  17. SpringBoot官方开发工具,热部署和远程调试真带劲
  18. LSTM和GRU的对比和分析
  19. LeetCode 1823. 找出游戏的获胜者 (约瑟夫环)
  20. vue基于web的化妆品美妆商城电子商务python flask django

热门文章

  1. Ubuntu13.10上android+idea+scala+sbt环境搭建
  2. gin 项目结构_Go Web 框架 Gin 路由的学习
  3. hive能替代oracle_Hive与Oracle表关联语句对比
  4. 信息学奥赛一本通 1191:流感传染 | OpenJudge NOI 2.3 6262:流感传染
  5. 信息学奥赛一本通 2043:【例5.11】杨辉三角形
  6. 信息学奥赛一本通(1071:菲波那契数)
  7. 信息学奥赛C++语言:顺序输出
  8. 日语学习-多邻国-关卡1-时间2
  9. qq流浏览器网页版_如何使QQ浏览器浏览简洁
  10. linux内核make执行过程