linux下yum安装的mysql,/etc/init.d/没有mysql怎么办?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux下yum安装的mysql,/etc/init.d/没有mysql怎么办?相关的知识,希望对你有一定的参考价值。

参考技术A service mysqld start不是mysql 是mysqld如果你的系统镜像里自带 启动mysql的脚本一般是/etc/init.d/mysql start

linux下 yum 安装mysql和卸载

1、查看有没有安装过:

          yum list installed mysql*

          rpm -qa | grep mysql*

2.查看有没有安装包:

          yum list mysql*

 

3.安装mysql客户端:

          yum install mysql

 

4.安装mysql 服务器端:

          yum install mysql-server

 

          yum install mysql-devel

 

5、启动&&停止

 

数据库字符集设置

          mysql配置文件/etc/my.cnf中加入default-character-set=utf8

 

启动mysql服务:

          service mysqld start或者/etc/init.d/mysqld start

开机启动:

          chkconfig -add mysqld,查看开机启动设置是否成功chkconfig --list | grep mysql*

 

          mysqld             0:关闭    1:关闭    2:启用    3:启用    4:启用    5:启用    6:关闭

停止:

          service mysqld stop
如果启动不了,检查在服务中mysqld服务是否已经打开

6、登录

 

创建root管理员:

          mysqladmin -u root password 123456

  www.2cto.com  

登录:

          mysql -u root -p输入密码即可。

忘记密码:

          service mysqld stop

 

          mysqld_safe --user=root --skip-grant-tables

 

          mysql -u root

 

          use mysql

 

          update user set password=password("new_pass") where user="root";

 

          flush privileges;  

 

7、远程访问

 

1、修改localhost
更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改成"%" 
mysql>use mysql; 
mysql>update user set host = ‘%‘ where user = ‘root‘; 
mysql>select host, user from user;
mysql>FLUSH PRIVILEGES;

 

2、指定授权
使用myuser/mypassword从任何主机连接到mysql服务器: 
GRANT ALL PRIVILEGES ON *.* TO ‘myuser‘@‘%‘ IDENTIFIED BY ‘mypassword‘ WITH GRANT OPTION;

使用myuser/mypassword从ip为192.168.225.166的主机连接到mysql服务器:
GRANT ALL PRIVILEGES ON *.* TO ‘myuser‘@‘192.168.225.166‘ IDENTIFIED BY ‘mypassword‘ WITH GRANT OPTION;

 

3、泛授权
mysql -h localhost -u root 
mysql>GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘%‘ WITH GRANT OPTION; //赋予任何主机上以root身份访问数据的权限 
mysql>FLUSH PRIVILEGES;

 

解决Mysql无法远程连接的问题 

1、Mysql的端口是否正确
通过netstat -ntlp 查看端口占用情况,一般情况下端口是3306。在用工具连接MySQl是要用到端口。例如My Admin\My Query Browser\MySQl Front等。

2、检查用户权限是否正确
mysql库的user表里有两条记录:host分别为localhost和%(为了安全,%可以换成你需要外部连接的IP)。

3、查看/etc/mysql/my.cnf中,skip-networking 是否已被注掉
需要注掉
报错:ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘192.168.51.112‘ (111)

 

sudo gedit /etc/mysql/my.cnf 
#skip-external-locking

#bind-address        = 127.0.0.1

skip-name-resolve


4、查看iptables是否停掉,没关的情况下,无法连接
通过:service iptables stop临时关闭。
报错:ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘192.168.51.112‘ (113)

 

 

8、Linux MySQL的几个重要目录

  www.2cto.com  

数据库目录

         /var/lib/mysql/

配置文件

         /usr/share /mysql(mysql.server命令及配置文件)

相关命令

         /usr/bin(mysqladmin mysqldump等命令)

启动脚本

         /etc/rc.d/init.d/(启动脚本文件mysql的目录)


卸载mysql
1、查找以前是否装有mysql
命令:rpm -qa|grep -i mysql
可以看到mysql的两个包:
mysql-*..*.RHEL**
mysqlclient*.RHEL**
2、删除mysql
删除命令:rpm -e --nodeps 包名
( rpm -ev mysql-*.RHEL* )
3、删除老版本mysql的开发头文件和库
命令:rm -fr /usr/lib/mysql
rm -fr /usr/include/mysql
注意:卸载后/var/lib/mysql中的数据及/etc/my.cnf不会删除,如果确定没用后就手工删除
rm -f /etc/my.cnf
  rm -fr /var/lib/mysql

 还有另一种方法

yum方式安装的mysql

 

1、yum remove mysql mysql-server mysql-libs compat-mysql51

2、rm -rf /var/lib/mysql

3、rm /etc/my.cnf

 

查看是否还有mysql软件:
rpm -qa|grep mysql

如果存在的话,继续删除即可。

 

rpm方式安装的mysql

 

 

a)查看系统中是否以rpm包安装的mysql:

 

[[email protected] opt]# rpm -qa | grep -i mysql
MySQL-server-5.6.17-1.el6.i686
MySQL-client-5.6.17-1.el6.i686

 

b)卸载mysql

[[email protected] local]# rpm -e MySQL-server-5.6.17-1.el6.i686
[[email protected] local]# rpm -e MySQL-client-5.6.17-1.el6.i686

c)删除mysql服务

[[email protected] local]# chkconfig --list | grep -i mysql
[[email protected] local]# chkconfig --del mysql

d)删除分散mysql文件夹

[[email protected] local]# whereis mysql 或者 find / -name mysql

 

mysql: /usr/lib/mysql /usr/share/mysql

清空相关mysql的所有目录以及文件
rm -rf /usr/lib/mysql
rm -rf /usr/share/mysql

rm -rf /usr/my.cnf

 

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

linux下mysql的卸载、安装全过程

卸载mysql

1、查找以前是否装有mysql

命令:rpm -qa|grep -i mysql

可以看到mysql的两个包:

mysql-4.1.12-3.RHEL4.1

mysqlclient10-3.23.58-4.RHEL4.1

2、删除mysql

删除命令:rpm -e --nodeps 包名

( rpm -ev mysql-4.1.12-3.RHEL4.1 )

3、删除老版本mysql的开发头文件和库

命令:rm -fr /usr/lib/mysql

rm -fr /usr/include/mysql

注意:卸载后/var/lib/mysql中的数据及/etc/my.cnf不会删除,如果确定没用后就手工删除

rm -f /etc/my.cnf

  rm -fr /var/lib/mysql

安装mysql

安装前准备:两个rpm包

MySQL-client-5.1.20-0.glibc23.i386.rpm

MySQL-server-5.1.20-0.glibc23.i386.rpm

1、安装服务端:

命令:rpm -ivh MySQL-server-5.1.20-0.glibc23.i386.rpm

安装成功会出现....

warning: MySQL-server-5.1.20-0.glibc23.i386.rpm: V3 DSA signature: NOKEY, key ID 5072e1f5

Preparing... ########################################### [100%]

1:MySQL-server ########################################### [100%]

080220 13:58:27 [Note] Plugin ‘InnoDB‘ disabled by command line option

080220 13:58:28 [Note] Plugin ‘InnoDB‘ disabled by command line option

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !

To do so, start the server, then issue the following commands:

/usr/bin/mysqladmin -u root password ‘new-password‘

/usr/bin/mysqladmin -u root -h localhost.localdomain password ‘new-password‘

See the manual for more instructions.

Please report any problems with the /usr/bin/mysqlbug script!

The latest information about MySQL is available on the web at

http://www.mysql.com

Support MySQL by buying support/licenses at http://shop.mysql.com

Starting MySQL.[ OK ]

2、安装客户端

命令:rpm -ivh MySQL-client-5.1.20-0.glibc23.i386.rpm

成功表现:

[[email protected] ~]# rpm -ivh MySQL-client-5.1.20-0.glibc23.i386.rpm

warning: MySQL-client-5.1.20-0.glibc23.i386.rpm: V3 DSA signature: NOKEY, key ID 5072e1f5

Preparing... ########################################### [100%]

1:MySQL-client ########################################### [100%]

3、登陆mysql

登陆MySql的命令是mysql,mysql 的使用语法如下:

mysql [-u username] [-h host] [-p[password]] [dbname]

username 与 password 分别是 MySQL 的用户名与密码,mysql的初始管理帐号是root,没有密码,注意:这个root用户不是Linux的系统用户。MySQL默认用户是root,由于初始没有密码,第一次进时只需键入mysql即可

[[email protected] ~]# mysql

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 2

Server version: 5.1.20-beta MySQL Community Server (GPL)

Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the buffer.

mysql>

出现了“mysql>”提示符,恭喜你,安装成功!

   增加了密码后的登录格式如下:

   mysql -u root -p

   Enter password: (输入密码)

   其中-u后跟的是用户名,-p要求输入密码,回车后在输入密码处输入密码。

   注意:这个mysql文件在/usr/bin目录下,与后面讲的启动文件/etc/init.d/mysql不是一个文件。

补:

通过rpm包安装、配置及卸载mysql的详细过程.

  以MySQL-server-4.0.14-0.i386.rpm为例,放在/data目录下

  cd /data

  rpm -ivh MySQL-server-4.0.14-0.i386.rpm

  安装完成后在/usr/share/mysql目录中会有一个mysql的启动脚本mysql.server及示例配置文件等(如my-huge.cnf、my-large.cnf、my-medium.cnf)

  拷贝一个示例配置文件作为mysql的配置文件:

  cp /usr/share/mysql/my-medium.cnf /etc/my.cnf

  rpm包安装完后自动将mysql安装成系统服务,所以可以使用下面命令启动、停止mysql

  启动mysql

  /etc/init.d/mysql start 或 service mysql start

  停止mysql

  /etc/init.d/mysql stop 或 service mysql stop

  到此,mysql服务就安装配置完成。

  安装mysql客户端

  rpm -ivh MySQL-client-4.0.14-0.i386.rpm

  mysql安装好后目录结构如下:

  工具程序在/usr/bin目录中---ls /usr/bin/mysql*

  服务器程序/usr/sbin/mysqld

  数据目录/var/lib/mysql

  默认情况下mysql将错误日志文件、二进制日志文件及进程文件写在/var/lib/mysql目录中,如localhost.err、localhost.pid、localhost-bin.001等

  要改变这些情况可以修改/etc/my.cnf文件

  如将日志文件写在/var/log目录中,可以在my.cnf文件中加入下面两行:

  [mysqld_safe]

  err-log = /var/log/mysqld.log

  有个实用程序/usr/bin/mysql_install_db,该程序可以用来初始化 mysql数据库,即创建/var/log/mysql目录,及创建mysql数据库(mysql授权表等信息)及test数据库(空库),如果不小心删 除了/var/log/mysql目录可以通过该程序来初始化.

  卸载mysql

  rpm -qa|grep -i mysql

  rpm -ev MySQL-server-4.0.14-0 MySQL-client-4.0.14-0

  卸载后/var/lib/mysql中的数据及/etc/my.cnf不会删除,如果确定没用后就手工删除

  rm -f /etc/my.cnf

  rm -rf /var/lib/mysql

mysql 1130错误解决方法:

通过MySQL-Front或mysql administrator连接mysql的时候发生的这个错误

ERROR 1130: Host ***.***.***.*** is not allowed to connect to this MySQL server

说明所连接的用户帐号没有远程连接的权限,只能在本机(localhost)登录。

需更改 mysql 数据库里的 user表里的 host项

把localhost改称%

具体步骤:登陆到mysql

首先 use mysql;

按照别人提供的方式update的时候,出现错误。

mysql> update user set host=‘%‘ where user = ‘root‘;

ERROR 1062 (23000): Duplicate entry ‘%-root‘ for key ‘PRIMARY‘

然后查看了下数据库的host信息如下:

mysql> select host from user where user = ‘root‘;

+-----------------------+

| host |

+-----------------------+

| % |

| 127.0.0.1 |

| localhost.localdomain |

+-----------------------+

3 rows in set (0.00 sec)

host已经有了%这个值,所以直接运行命令:

mysql>flush privileges;

再用mysql administrator连接...成功!!!

tar.gz版本安装:

版本1:

1。把MYSQL安装包放置并解压到/usr/local下

tar zxvf mysql-standard-5.0.27-linux-i686-glibc23.tar.gz

2。为目录建立符号链接

ln -s mysql-standard-4.0.24-pc-linux-gnu-i686 mysql

3。建立MYSQL组和用户

groupadd mysql

useradd -g mysql mysql

4。改变mysql目录的所属用户和组

chown -R mysql . #注意保证此时的当前目录是/usr/lcoal/mysql

chgrp -R mysql .

5。以mysql用户执行配置脚本

su mysql #切换到mysql用户

cd /usr/local/mysql #注意切换用户以后,工作目录已经不是/usr/local/mysql。所以得重新进去

./configure #执行配置脚本

6。进入数据库,检查安装是否成功

/usr/local/mysql/bin/mysql

如果出现mysql的提示符且进入,说明安装成功!

7。在系统启动时自动打开mysql服务

su - #切换回root用户

cd /usr/local/mysql

cp support-files/mysql.server /etc/rc.d/init.d/mysql #把mysql的脚本文件拷到系统的启动目录下

cd /etc/rc.d/init.d/

chmod +x mysql #改为可执行文件属性

chkconfig --add mysql #将mysql加到启动服务列表里

chkconfig mysql on #让系统启动时自动打开mysql服务

重起系统后,执行 /usr/local/mysql/bin/mysql ,如果出现mysql的提示符,说明整个安装成功

版本2:

mysql-standard-4.0.24-pc-linux-gnu-i686.tar.gz 是mysql4.0.24版本的安装文件,是一个二进制的压缩包,所以我们的安装方式就为二进制分发安装。

安装步骤:

1.将 mysql-standard-4.0.24-pc-linux-gnu-i686.tar.gz 拷贝到一个目录中

2.shell> tar zvxf mysql-standard-4.0.24-pc-linux-gnu-i686.tar.gz

3.上面的命令将在当前目录下生成一个mysql-standard-4.0.24-pc-linux-gnu-i686文件夹

4.shell>mv mysql-standard-4.0.24-pc-linux-gnu-i686 /usr/local/mysql

5.上面的命令是将mysql-standard-4.0.24-pc-linux-gnu-i686下的所有东东,剪切到/usr/local/mysql 下,进行这一步是为了以后的方便。

6.shell> groupadd mysql 增加一个名为mysql的用户组

7.shell> useradd -g mysql mysql 在mysql用户组中加一个名为mysql的用户

如果上面的两个命令不能执行,那么要切换到root用户下执行

shell>su root -

8.shell> cd /usr/local/mysql

9.shell> cp support-files/my-medium.cnf /etc/my.cnf

这时会问是否覆盖重名文件,回答y

10.shell> scripts/mysql_install_db --user=mysql

以mysql用户初始化数据库,必须以mysql用户

11.shell> chown -R root

注意后面有点,表示将当前目录下的所有文件与子目录的拥有者设

定为root用户

12.shell> chown -R mysql data

表示将当前目录下的data目录的拥有者设定为mysql用户

13.shell> chgrp -R mysql .

注意后面有点,表示将当前目录下的文件的文件组设为mysql组

14.shell> bin/mysqld_safe --user=root &

此时如果没有出现“……ended”字样,大功告成!

15.回车显示shell>

此时你可以

通过 shell>netstat –atln 命令查看3306端口是否已经启用

也可以 shell>ps -ef | grep mysqld 查看当前系统中的mysqld的进程

或直接 shell>bin/mysql –u root 进入mysql客户端,进行mysql操作

或shell>bin/mysqladmin shutdown 停止mysql服务

记住:此时你的root用户是没有密码的,任何身份都可以用root进入,你可以

通过shell> bin /mysqladmin -u root password ‘新口令‘来设定root用户的口令,此口令将在进入mysql客户端和停止mysql服务时需要输入

提示:在启单个服务的时候,可以通过修改/etc/my.cnf文件来配置

可以用VI编辑器打开my.cnf ,怎么打开呢,看下面

shell>vi my.cnf 打开my.cnf

找到下面这段

[mysqld]

port = 8888

socket = /tmp/mysql.sock

可以在后面加上相应的配置

log = /var/log/mysql.log

datadir = /free/mysqldbf

如 log = /* 改变log的保存位置

datadir = /free/mysqldbf 改变data的保存位置

希望对遇到同样问题的朋友有点点帮助

常用命令:

启动 MySQL:

service mysql start

/etc/init.d/mysql start

/usr/share/mysql/mysql.server start

[mysql.server]

# 注释掉 basedir 行,否则 MySql 可能不能启动

# 据说是 MySql 的 bug

# basedir=/var/lib

root登录时,自动启动mysql:

在 /root/.bash_profile 文件中增加1行:

/usr/share/mysql/mysql.server start

查看启动日志:

/var/log/messages

显示MySQL所有用户:

use mysql;

select host,user,password from user;

添加 MySQL 用户(user name:user1,password:sql):

grant all on *.* to [email protected]‘%‘ identified by ‘sql‘ with grant option;

删除 MySQL 用户:

delete from user where user=‘user1‘;

配置环境变量:

PATH=$JAVA_HOME/bin:$CATALINA_HOME/bin:/usr/local/mysql/bin:$PATH

 
 
 

 

以上是关于linux下yum安装的mysql,/etc/init.d/没有mysql怎么办?的主要内容,如果未能解决你的问题,请参考以下文章

Linux下yum安装mysql

linux下安装MySQL---yum安装

Linux下安装mysql(yum和源码编译两种方式)

Linux下使用yum安装MySQL

Linux下yum安装MySQL

linux下使用yum安装mysql详解