Linux下rpm方式安装mysql(密码修改,远程登录)

1,首先需要去下载rpm包:

镜像地址:http://mysql.mirrors.pair.com/Downloads/

根据不同的版本选择下载即可,我下载的是:

MySQL-server-5.6.20-1.el6.i686.rpm

MySQL-client-5.6.20-1.el6.i686.rpm

MySQL-devel-5.6.20-1.el6.i686.rpm(这个包备用)

因为采用rpm方式安装mysql的话,那么只安装好mysql-server是不能够在命令行模式下连接mysql的,所以还需要安装mysql-client

2,开始安装server端:

执行命令:rpm -ivh MySQL-server-5.6.20-1.el6.i686.rpm

安装完成之后,会有提示:

提示一:安装好mysql-server之后会随机生成一个root账户的密码,保存在: /root/.mysql_secret   这里

提示二:安装好mysql-server之后第一次连接mysql的时候需要去修改一下这个默认的密码

在确定好这之后,需要执行命令:find / -name mysql   来寻找mysql-server的安装位置,如下:

/etc/logrotate.d/mysql                   
/etc/rc.d/init.d/mysql                      ----   启动文件
/usr/share/mysql                            ----   包含my-default.cnf文件

/usr/bin/mysql
/usr/lib/mysql
/var/lib/mysql                                 ----   数据库文件存放目录        

然后再执行:  find / -name my.cnf    寻找mysql-server 的配置文件的位置,如下:

/usr/my.cnf

然后启动mysql-server,执行: /etc/init.d/mysql  start 

提示启动成功之后执行:ps -el | grep mysql

系统会列出mysqld的相关进程信息,说明mysql-server安装成功!

3,安装mysql-client:

由于安装好mysql-server之后没有办法在命令行下连接数据库,因此需要继续安装mysql-client,执行命令:

rpm -ivh MySQL-client-5.6.20-1.el6.i686.rpm

等一会儿之后系统会提示安装成功,这个时候,执行:

mysql -u root -p 来进行连接mysql,连接的时候需要输入密码,密码就是之前生成的那个随机密码,输入即可成功!

进入到mysql控制台之后,执行:show databases;   

发现系统提示需要先修改密码,于是:先exit系统,然后执行:mysqladmin -u root -p password 'new-passwd'

来修改密码,然后再次连接mysql,输入刚刚设置好的密码,然后继续执行show databases;命令,发现成功!

4,那么接下来就有个问题,是否还需要安装mysql-devel包?

尝试一下。。。。

执行:rpm -ivh MySQL-devel-5.6.20-1.el6.i686.rpm

提示安装成功,然后连接mysql,执行show databases; 依然可以。。。!

google一下:

MySQL-devel 貌似不是太必要~~



root密码的修改

方法1: 用SET PASSWORD命令

  mysql -u root

  mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');

方法2:用mysqladmin

  mysqladmin -u root password "newpass"

  如果root已经设置过密码,采用如下方法

  mysqladmin -u root password oldpass "newpass"

方法3: 用UPDATE直接编辑user表

  mysql -u root

  mysql> use mysql;

  mysql> UPDATE user SET Password = PASSWORD('newpass') WHERE user = 'root';

  mysql> FLUSH PRIVILEGES;

在丢失root密码的时候,可以这样

  mysqld_safe --skip-grant-tables&

  mysql -u root mysql

  mysql> UPDATE user SET password=PASSWORD("new password") WHERE user='root';

  mysql> FLUSH PRIVILEGES;

远程登录被禁止


解决方法:

1。 改表法。

可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"

mysql -u root -pvmwaremysql>use mysql;

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

 

mysql>flush privileges;

mysql>select host, user from user;

 

mysql>quit

2. 授权法。

例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

FLUSH PRIVILEGES;

如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

FLUSH PRIVILEGES;

如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器的dk数据库,并使用mypassword作为密码

GRANT ALL PRIVILEGES ON dk.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

FLUSH PRIVILEGES;

我用的第一个方法,刚开始发现不行,在网上查了一下,少执行一个语句 mysql>FLUSH RIVILEGES 使修改生效.就可以了

另外一种方法,不过我没有亲自试过的,在csdn.net上找的,可以看一下.

在安装mysql的机器上运行:

1、d:\mysql\bin\>mysql -h localhost -u root //这样应该可以进入MySQL服务器

2、mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION //赋予任何主机访问数据的权限

3、mysql>FLUSH PRIVILEGES //修改生效

4、mysql>EXIT //退出MySQL服务器

这样就可以在其它任何的主机上以root身份登录啦!


你可能感兴趣的:(Linux下rpm方式安装mysql(密码修改,远程登录))