mysql安装说明

一直很重视从压缩包安装MySQL,在Windows下很简单.zip直接解压就好(Windows的权限管理实在是弱--||)。但是在Fedora Core7下通过.tar.gz解压却启动不了,无奈之下从MySQL官方文档入手,开始了安装历程:

一、前期准备

1. 为mysqld增加一个登录用户和组:

shell> groupadd mysql

shell> useradd -g mysql mysql

2. 进入安装目录,以/usr/local为例,解压.tar.gz二进制分发版。

shell> gunzip < /path/to/mysql-VERSION-OS.tar.gz | tar xvf -

shell> ln -s full-path-to-mysql-VERSION-OS mysql

或者:

shell> tar zxvf /path/to/mysql-VERSION-OS.tar.gz

3. 在mysql目录下,你会在mysql目录下发现几个文件和子目录,对安装目的最重要的是“bin”和“scripts”子目录。

· bin

这个目录包含客户端程序和服务器,你应该把这个目录的完整路径加到PATH环境变量,以便shell能正确的找到MySQL程序。

· scripts

这个目录包含mysql_install_db脚本,用来初始化mysql数据库的 授权表,其中贮存了服务器访问允许。

Note: 如果还没有安装MySQL,必须创建MySQL授权表:

shell> scripts/mysql_install_db --user=mysql

4. 将程序二进制的所有权改为root,数据目录的所有权改为运行mysqld 的用户。如果位于安装目录(/usr/local/mysql)下,命令应为:

shell> chown -R root .

shell> chown -R mysql data

shell> chgrp -R mysql .

第一个命令将文件的所有属性改为root用户。第二个命令将数据目录的所有属性改为mysql用户。第三个命令将组属性改为mysql组。

备注:mysql中INSTALL 中安装说明,这点不同,可以考虑

shell> cd mysql

shell> chown -R  mysql .

shell> chrgrp -R mysql .

5. 到这里,按照MySQL的文档,服务器便可以启动:

shell> bin/mysqld_safe --user=mysql &

但是,在Fedora Core7下,问题便出现了,提示如下信息,无法启动服务器。

-------------------------------------------------------------------------

nohup: ignoring input and redirecting stderr to stdout

Starting mysqld daemon with databases from /var/lib/mysql

STOPPING server from pid file /var/run/mysqld/mysqld.pid

071030 02:28:14 mysqld ended

------------------------------------------------------------------------------

问题出现最初没有查看日志(以后要养成看日志的习惯!!)

---------------------------------------------------------------------

071030 14:23:56 mysqld started

nohup: ignoring input

071030 14:23:56 InnoDB: Operating system error number 13 in a file operation.

InnoDB: The error means mysqld does not have the access rights to

InnoDB: the directory.

InnoDB: File name ./ibdata1

InnoDB: File operation call: 'create'.

InnoDB: Cannot continue operation.

071030 14:23:56 mysqld ended

---------------------------------------------------------------------------

通过查看/var/log/mysqld.log基本确定是权限的问题,修改/var/lib/mysql/下的这几个文件权限:

ibdata1 ib_logfile0 ib_logfile1

shell> chmod 766 /var/lib/mysql/ib*

备注:在fedora9下,该日志文件路径

mysql安装路径(默认/usr/local/mysql)./data/主机名.err

我的错误日志路径 /usr/local/mysql/data/cowman.err

mysql client默认使用/tmp/mysql.sock启动socket,但是/tmp/mysql.sock不存在,mysql.sock在/var/lib/mysql/mysql.sock,所以或者创建链接指向实际mysql.sock,或者更改mysql client的默认设置。

1. 在/tmp下创建指向/var/lib/mysql/mysql.sock的链接。

ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock

2. 更好mysql client配置(/etc/my.cnf)

编辑/etc/my.cnf,加入client配置。

[client]

socket=/var/lib/mysql/mysql.sock

 

 

 

还需注意以下问题:

 

ERROR 1045: Access denied for user: 'root@localhost' (Using password: YES 解决办法
2008-09-11 10:58

昨日在自己电脑上装mysql 4.0.26 ,再装phpMyAdmin,都正常,可登陆时总是提示:

ERROR 1045: Access denied for user: 'root@localhost' (Using password: YES)

试N次,找了很多资料,都不行。反正资料上行,但我不行。

后来在winMySQLAdmin里把my.ini setup里的密码清空了,居然能登陆了!!

兴奋!但如用密码则呢们登陆问题还是没解决。不过我是在自己电脑上测试的,反正不做服务器,不用密码也没问题。

记载在博客里,防止下次忘记。

1>将mysql的bin目录添加到path环境变量运行cmd,然后写入命令:mysqld-nt --skip-grant-tables安全模式下启动mysql,然后重新打开一个CMD命令行窗口,输入mysql -uroot -p,进入mysql最后用update mysql.user set password=PASSWORD('新密码') where User='root';修改密码

 

解决MySQL不允许从远程访问的方法

改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"

  解决方法:

  1、改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"

  mysql -u root -pvmwaremysql>use mysql;

  mysql>update user set host = '%' where user = 'root';

  mysql>select host, user from user;

  2、授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。

  GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WI

  TH GRANT OPTION;

  如果你想允许用户myuser从ip为192.168.1.6的主机连接到mysql服务器,并使用mypassword作为密码

  GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY

  'mypassword' WITH GRANT OPTION;

  我用的第一个方法,刚开始发现不行,在网上查了一下,少执行一个语句 mysql>FLUSH RIVILEGES

  使修改生效.就可以了

  另外一种方法,不过我没有亲自试过的,在csdn.net上找的,可以看一下.

  在安装mysql的机器上运行:

  1、d:/mysql/bin/>mysql -h localhost -u root

  //这样应该可以进入MySQL服务器

  2、mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION

  //赋予任何主机访问数据的权限

  3、mysql>FLUSH PRIVILEGES

  //修改生效

  4、mysql>EXIT

  //退出MySQL服务器

  这样就可以在其它任何的主机上以root身份登录啦。

 

 

 

其中有一段如下:


071112 0:22:06 [ERROR] /usr/local/mysql/bin/mysqld: Can't create/write to file '/var/run/mysqld/mysqld.pid' (Errcode: 2)
071112 0:22:06 [ERROR] Can't start server: can't create PID file: No such file or directory
071112 00:22:06 mysqld ended

#cd /var/run/
#ls


mysqld目录不存在,创建它:


#mkdir /var/run/mysqld
#cd /var/run/mysqld


创建文件mysqld.pid:


#touch mysqld.pid
#cd..
#chown -R mysql mysqld .

#cd /usr/local/mysql/
#bin/mysqld_safe --user=mysql &
nohup: ignoring input and redirecting stderr to stdout
Starting mysqld daemon with databases from /var/lib/mysql

能正常启动

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值