CentOS下mysql的安装与配置

今天在centOS6.2下使用yum install mysql安装了mysql后一直报错,无法链接数据库,之后搜索了很多国内的文章,千篇一律,而且没有解决我的问题。折腾了好久,最终还是使用英文搜索,找到了centOS的官方帮助文档,按照文档走一遍,很快解决了问题,并且学到了不少知识。这里记下,便于日后学习。 PS:还是直接看英文文档靠谱啊!

适用centos版本: centos 5.x centos 6.x

需要用root权限进行操作,并且yum和rpm要求已经安装。

步骤:

  1. 安装mysql mysql-server
#yum install mysql mysql-server

注:直接#yum install mysql-server的话,mysql也会被安装,保险起见还是按照原命令执行

  1. 启动mysql server的daemon(mysqld)
#chkconfig --level 2345 mysqld on;service mysqld start
注:这其实是两个命令,第一个检查配置,后一个启动mysqld  
  1. 以root用户登录mysql
#mysql -u root  

默认没有密码

  1. 删除所有所有不是root的用户
mysql> delete from mysql.user where not (host="localhost" and user="root");
mysql> flush privileges;  
  1. 安装好后默认root是没有密码的,修改root的密码
mysql> set password for 'root'@'localhost' = password('yourpassword');
mysql> flush privileges;  
  1. 修改root的名称,让他难以被猜到来提高安全性,就是说,给root换一个名称
mysql> update mysql.user set user="myadmin" where user="root";
mysql> flush privileges;  
注:这里的myadmin是要给root换的名称,自己指定  
  1. 移除匿名用户使用数据库的记录
mysql> delete from mysql.user where user='';
mysql> flush privileges;  
  1. 添加新的管理员用户
mysql> grant all privileges on *.* to 'username'@'localhost' indentified by 'password' with grant option;
mysql> flush privileges;  
  1. 给特定数据库添加用户,以‘bugzilla’数据库名为例
mysql> grant all privileges on bugzilla.* to 'username'@'localhost' identified by 'password';
mysql> flush privileges;
  1. 添加数据库
mysql> create datebase datebasename;
mysql> flush privileges;  

以上是常用的几项,还有一些可以查看centos关于mysql的帮助文档

http://centoshelp.org/servers/database/installing-configuring-mysql-server/

Go Top
comments powered by Disqus