日期:2014-05-16  浏览次数:20717 次

Linux下安装MySQL(rpm方式)

?? 之前一直想捣鼓以源码包的形式安装MySQL,但是不管我下的什么版本的MySQL的tar包,解压都会出错。哎,索性还是走回rpm的安装方式吧。

???1:在安装rpm之前,需要把Linux自带的MySQL以及相关的连接文件都卸载掉。方式是:

??

rpm -qa | grep -c mysql

?

???? 其中-qa?表示查询全部的rpm包?;grep -c mysql表示只查询mysql相关的。-c表示不区分大小写。

???? 不出意外的话应该会有很多种包,这时应该先卸载那个server文件,然后是其他的驱动连接,最后才是mysql的包文件。

???? 2:删除mysql组和mysql用户

????

userdel mysql;
groupdel mysql;

?

???? 3:重新添加mysql用户和mysql组

????

groupadd mysql
useradd mysql -g mysql 

???

??? 其中-g表示添加到哪个组。

? ?

?????4: 最后去MySQL官方网站下载Linux版本的server和client的rpm文件。分别执行rpm -ivh **.rpm。

????? 安装完毕,但此时还需要做一些初始化修正操作。

???????? 第一步:输入mysql。

????? ?? 不出意外的话,会提示

????????? ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

???????? 这时因为mysql.sock的权限不对。输入下面的命令来修正:

???

chown -R mysql:mysql /var/lib/mysql

?

????? 这里-R表示递归该文件目录下面所有的文件。

????? mysql:mysql表示将这个文件的拥有者权限赋给mysql用户,及使用群体为mysql组的全体用户

??????????? 然后重启MySQL服务:

???????

/etc/init.d/mysqld restart

?

??????? 第二步设置root用户名和密码,?默认情况下,初始root密码为空

??????? 在shell终端执行

???????

mysqladmin -u root -p 123456

?

??????? 第三步:建立一个普通用户以及一个远程客户端的客户。

???????? 进入mysql命令行,输入:

?????????

use mysql;
select host,username,password from user;

?

???????? 会出现如下的图片(取决不同的机器和mysql版本):

???

?

?

??????????? 删掉其中不需要的用户和行。例如没有用户名的行等等。

??????????? 新建一个本地普通用户以及远程连接用户(供Windows客户端使用MySQL可视化工具连接时使用).

?????

grant all privileges on test.* to chenwu@localhost identified by '123456';

?

??????????然后输入:

?????

use mysql;
select host,user,password from user;

?

???????? 看是不是多了一条新的用户?然后建立一个远程用户:

???

grant all privileges on test.* to chenwu@**.**.**.** identified by '123456';

?

?????????? 这样远程客户端就可以通过这个用户连接了。

????????? ?简单介绍下这里的命令:

?????????? grant all privileges 表示将test库里所有表的所有权限都赋给chenwu用户,这些权限包括select,insert,update,delete等等。

??????????? 你也可以仅仅限制一部分,比如只赋insert权限等等。

??????????? 当然你也可以修改用户密码等,方式和更新普通的用户一样.

??

//修改密码
update user set password=password('新密码') where user='chenwu'
//添加新用户
insert into user(host,user,password) values('新用户IP','新用户名',password('新用户密码'));

?

至此mysql在Linux上的安装完毕了。下次我会尽量写一个源码包的安装方式。