redhat安装mysql常见问题

下载mysql安装包,我使用的不是rpm包,是tar包,官网都有下载

接下来是安装步骤,我直接贴上官方给的安装步骤:

 

[plain][/plain] view plaincopyprint?

  1. shell> groupadd mysql
  2. shell> useradd -r -g mysql mysql
  3. shell> cd /usr/local
  4. shell> tar zxvf /path/to/mysql-VERSION-OS.tar.gz
  5. shell> ln -s full-path-to-mysql-VERSION-OS mysql
  6. shell> cd mysql
  7. shell> chown -R mysql .
  8. shell> chgrp -R mysql .
  9. shell> scripts/mysql_install_db –user=mysql
  10. shell> chown -R root .
  11. shell> chown -R mysql data
  12. shell> bin/mysqld_safe –user=mysql &

 

我解释一下这几步有什么作用:

前两句,就是给linux添加一个用户组和用户,分别都叫mysql,为了登录mysql

接下来两句,就是把tar包解压到/usr/local这个目录下

第五句话,是添加来一个快捷方式,链接到你解压的目录,快捷方式的名字叫mysql

接下来的三句话,就是给mysql这个用户权限,可以访问控制这个目录

第8句,就是安装mysql的数据库,一般不会出问题

接下来的两句话,也是权限问题

最后一句,是安全启动mysql的命令,往往会出现错误,无法启动

 

[plain][/plain] view plaincopyprint?

  1. [root@oc4863342121 mysql]# mysqld_safe –user=mysql &
  2. [1] 15546
  3. [root@oc4863342121 mysql]# 131115 11:37:30 mysqld_safe Logging to ‘/var/log/mysqld.log’.
  4. 131115 11:37:30 mysqld_safe Starting mysqld daemon with databases from /data
  5. 131115 11:37:30 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended

这是我遇到的错误,当时很困惑,最后看了一下日志文件/var/log/mysqld.log,有这么一个错误

 

 

[plain][/plain] view plaincopyprint?

  1. [ERROR] /usr/local/mysql/bin/mysqld: Can’t create/write to file ‘/var/run/mysqld/mysqld.pid’ (Errcode: 2 – No such file or directory)

按照这个日志记录,我在/var/run/目录下建立mysqld目录,然后把权限改成777,接着启动mysql,还是有错

 

再次查看错误日志

 

[plain][/plain] view plaincopyprint?

  1. /usr/local/mysql/bin/mysqld: Table ‘mysql.plugin’ doesn’t exist
  2. 2013-11-15 11:47:43 16648 [ERROR] Can’t open the mysql.plugin table. Please run mysql_upgrade to create it.

这个错误是说,无法加载mysql数据库文件表,也就是mysql的数据目录设置不正确

 

那么修改/etc/my.conf文件

 

[plain][/plain] view plaincopyprint?

  1. [mysqld]
  2. datadir=/usr/local/mysql/data

把datadir属性的数据目录改成你安装的目录下的data文件夹,我是装载/usr/local文件夹下,mysql是mysql的安装目录,data是其中的数据文件夹

 

修改完成后,就可以启动mysql来

然后登录

mysql -u root

初始是没有密码的,如果想修改密码

mysqladmin -u  root -p password ****

回车后要求输入原密码

因为原密码是空的,直接再打一个回车

就成功修改密码了!

标签