主页 > 工作 > 部署Centos5.4服务器–MySql篇

部署Centos5.4服务器–MySql篇

公司新买了个2TB的硬盘,供部署内部服务器;对于我来讲部署centos服务器已经是轻车熟路了,把mysql部署放到前面讲,是因为部署mysql的时候不小心,报了好多错误~~

mysql版本是mysql-5.0.89-linux-i686-glibc23.tar.gz,我在《mysql for linux 压缩包下载》里面已经提供了;由于是压缩包,解压即可使用,所以不用编译了;

解压后,移动到/usr/local/mysql/,然后进入mysql路径,运行mysql:

[root@jst-cn mysql]# ./support-files/mysql.server start

于是报了第一个错:

Starting MySQL.Manager of pid-file quit without updating fi[失败],

这个错误,我曾经在博客里面两次提到,分别是《【解决】Starting MySQL.Manager of pid-file quit without updating fi[失败]》《权限问题造成:Starting MySQL.Manager of pid-file quit without updating fi[失败]》,但是这次和这两篇文章提到的不同,因为我忘记创建测试数据了,于是创建测试数据:

/usr/local/mysql/scripts/mysql_install_db –user=mysql

于是,第二个错误来了:

FATAL ERROR: Could not find /home/mysql/bin/my_print_defaults

If you are using a binary release, you must run this script from
within the directory the archive extracted into. If you compiled
MySQL yourself you must run ‘make install’ first.

这个错误原因是——没有指定mysql路径以及数据库存放路径,解决方法是在配置文件里面添加路径:

vim /etc/my.cnf

在[mysld] 后面加上路径:

basedir = /usr/local/mysql

datadir =/opt/data;

如果添加完路径还报错,需要加上参数执行:

/usr/local/mysql/scripts/mysql_install_db –user=root –basedir=/usr/local/mysql –datadir=/opt/mysql/data/

第三个错误,是在我进入mysql的时候出现的:

mysql启动成功后,用这命令进入mysql报错——mysql -u root

-bash: mysql: command not found

这个错误原因是,没有配置环境变量,没有将mysql中的bin文件映射过去,解决方法有两个,一个是配置环境变量(太懒,没弄),另外一个就是进入bin路径再输入mysql命令登陆:

cd /usr/local/mysql/bin

mysql -u root

2010-10-14 补充:采用ubuntu10.10同样安装后,启动mysql报错:

ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2)

解决方法—-先看看报错到位置是否存在,如果不存在直接新建文件夹,然后做个软链接:

mkdir /var/run/mysqld

ln -s /tmp/mysql.sock /var/run/mysqld/mysqld.sock

OK,解决了!

第四个错误是配置远程登陆mysql时报错(用navicat.exe):

ERROR 1130: Host ‘192.168.1.3’ is not allowed to connect to this MySQL server

这个由于是mysql禁用了远程登陆,只允许localhost登陆,Google后,找到两种方法,我用了是第二种:

1. 改表法。登入mysql,更改 ”mysql” 数据库里的 ”user” 表里的 ”host” 项,从”localhost”改称”%”
mysql -u root -pvmware
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
2. 授权法。例如,你想root使用password从任何主机连接到mysql服务器的话。
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
3.另外,如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.99' IDENTIFIED BY '123456' WITH GRANT OPTION;
使用Navicat for MySQL连接远程的MySQL服务器,却提示:Can't get hostname for your address
已经使用grant命令授权过了,还需要再执行一步:
编辑/etc/my.cnf,在:
[mysqld]
内添加一行:skip-name-resolve
MySQL忽略数据库表名大小写
修改/etc/my.cnf,在
[mysqld]
内添加一行:lower_case_table_names=1


至此,mysql终于开始正常工作了!下面来整体回顾下正确的操作步骤:

1、添加mysql用户以及用户组:

groupadd mysql

useradd mysql -g mysql

2、移动mysql的配置文件,将/usr/local/mysql/support-files/my-large.cnf移动到/etc/my.cnf

cp /usr/local/mysql/support-files/my-large.cnf  /etc/my.cnf

3、配置my.cnf,添加上mysql以及data路径

vim /etc/my.cnf

在[mysld] 后面加上路径:

basedir = /usr/local/mysql

datadir =/opt/data;

4、更改mysql和data属性为mysql用户/用户组,并添加权限

chown -R mysql.mysql /usr/local/mysql

chmod -R 755 /usr/local/mysql

chown -R mysql.mysql /opt/data

chmod -R 755 /opt/data

5、生成测试数据:

/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/opt/mysql/data/

6、加入系统启动项

cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysql

chkconfig mysql on

chkconfig  --list mysql    #查看自启动情况

mysql           0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭    #自启动成功

7、如需登陆mysql或者mysqladmin等,必须进入/usr/local/mysql/bin目录再输入命令

cd /usr/local/mysql/bin

mysql -u root -p

8、允许远程连接

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

其实安装mysql的过程中只要细心一点,一定可以避免犯我上面说的那些错误的!

原创文章,转载请注明: 转载自三叶草

本文链接地址:http://www.anjing.me/1062.html

特别声明:商业网站转载需经作者同意,否则视为侵权!

, ,

评论:24

参与评论
  1. 回复 yu 10/08/31

    果断沙发…

    • 回复 三叶草 10/08/31

      我可写了好久好久….总结吧算是~

      恩,睡觉,明天早上去抢你的沙发

  2. 回复 jiechic 10/08/31

    高手,我都没法做呢,还得学。不知道什么时候才到家

    • 回复 三叶草 10/08/31

      其实,这些只是一点基础知识…就是细节没处理好,粗心容易犯错

  3. 回复 BoKeam 10/08/31

    支持。。太专业了

    • 回复 三叶草 10/08/31

      会者不难,基础的,我记录是因为我老是因为这些细节出问题~~

  4. 回复 yu 10/08/31

    看完了..纵观来看..都是粗心大意问题..问题不大….很好很好..

    • 回复 三叶草 10/08/31

      太丢人,已经提醒自己几百遍细节,还是不断的犯错…这次认真总结,希望不会再犯错

  5. 回复 岸边 10/09/01

    最近忙,没时间上线,呵呵

  6. 回复 joyla 10/09/01

    大淫!以后请教你的开源系统的使用哦!

  7. 回复 zhangyang 10/09/01

    其实还是linux好玩,不过windows好用。

  8. 回复 七七 10/09/01

    博主很认真,向你学习!

  9. 回复 无名 10/09/02

    首先AD支持!
    总觉得玩Linux是高手!
    因为自己对Linux是小白

    • 回复 三叶草 10/09/02

      额,其实我羡慕的是编程的…正在努力~

  10. 回复 阿普雷 10/09/03

    还是要实践 啊,看了这么多,感觉有待吸收哦

  11. 回复 mysql 10/10/19

    ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2)
    这个看下my.cnf文件配置—-/etc/my.cnf    还有一个/etc/mysql/my.cnf

  12. 回复 hrg 10/12/31

    好文!一上午没成功的照着这个做成功了,5.5的64位的mysql也行,非常感谢!

  13. 回复 三叶草 11/05/12

    110512 11:53:39 mysqld_safe Starting mysqld daemon with databases from /opt/data
    ^G/usr/local/mysql/bin/mysqld: File ‘./mysql-bin.index’ not found (Errcode: 13)
    110512 11:53:39 [ERROR] Aborting
     
    110512 11:53:39 [Note] /usr/local/mysql/bin/mysqld: Shutdown complete

    如果出现这个错误,证明权限不对,需要修改mysql的datebase目录所属以及权限,chmod -R 777 /opt/date     chown -R root.root /opt/date

  14. 回复 三叶草 11/05/16

    FATAL ERROR: Could not find /home/mysql/bin/my_print_defaults还有一个解决方法是:
    /usr/local/mysql/scripts/mysql_install_db –user=root –basedir=/usr/local/mysql –datadir=/opt/mysql/data/

发表评论

邮箱地址不会被公开。

*

引用:1

下面所列的是引用到本博客的链接
部署Centos5.4服务器–MySql篇 来自 三叶草
pingback 来自 【解决】Starting MySQL.Manager of pid-file quit without updating fi[失败] 2010/09/15

[…] 将mysql安装可能遇到的错误整理了下,具体可以参考《部署Centos5.4服务器–MySql篇》 […]

顶部