日期:2014-05-16 浏览次数:20717 次
?? 之前一直想捣鼓以源码包的形式安装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上的安装完毕了。下次我会尽量写一个源码包的安装方式。