bereyi的gravatar头像
bereyi2018-01-04 08:56:01
Linux安装MYSQL5.1 及遇到的问题 , 解决方法
  • 编译安装

>gruopadd mysql #创建mysql组

>useradd -g mysql mysql创建用户mysql并将其添加到mysql组中,这个用户主要是作为mysql服务运行的用户

>tar –xzvf mysql-5.1.56.tar.gz #对mysql tar包解压缩

>cd myql-5.1.56

>./configure –prefix=/usr/local/mysql #制定mysql的安装目录

>make #编译源代码

>make install #安装

>cp support-files/my-medium.cnf /etc/my.cnf #复制配置文件模板

>cd /usr/local/mysql

>bin/mysql_install_db –user=mysql #初始化安装mysql数据库

>chown –R mysql . #修改当前目录属主为mysql

>chown –R mysql var #修改当前目录的var目录属组为mysql

>chgrp –R mysql . 修改当前目录属组为mysql

>bin/mysqld_safe –user=mysql & #使用用户mysql安全启动mysql程序并放到后台执行

 

  • 更改MYSQL的root密码

>/usr/local/mysql/bin/mysqladmin –u root password 123456

#为进入mysql数据库添加一个用户以及密码,加入用户为”root”,密码为123456

 

  • 测试MYSQL是否可用

>/usr/local/mysql/bin/mysql –u root –p #使用用户root连接mysql

Enter password:123456 #输入上一步显示的密码”123456”

 

以下4和5可以不用操作

  • 设置MYSQL开机自启动

在/etc/rc.d/rc.local添加

/usr/local/mysql/bin/mysqld_safe –user=mysql &

到此安装就结束了!

 

  • 配置环境变量

将以下信息添加到 mysql 用户下的.base_profile 文件中

#mysql items begin

export MYSQL_HOME=MySQL 安装目录

export PATH=$MYSQL_HOME/bin:$PATH

export LD_LIBRARY_PATH=$MYSQL_HOME/lib:$LD_LIBRARY_PATH

export LIBPATH=$LD_LIBRARY_PATH:$LIBPATH

#mysql items end

 

安装过程可能出现的问题:

1、make[1]: Leaving directory `/usr/local/src/mysql-5.0.41'

安装mysql提示: g++: not foundmake[2]: *** [my_new.o] Error 127make[2]: Leaving directory `/usr/local/src/mysql-5.0.41/mysys'make[1]: *** [all-recursive] Error 1make[1]: Leaving directory `/usr/local/src/mysql-5.0.41'make: *** [all] Error 2 解决办法:安装gcc-c++ 安装完成之后再次编译make可能会出现如下错误:../include/my_global.h:909: error: redeclaration of C++ built-in type `bool'make[2]: *** [my_new.o] Error 1make[2]: Leaving directory `/home/tools/mysql-5.0.22/mysys'make[1]: *** [all-recursive] Error 1make[1]: Leaving directory `/home/tools/mysql-5.0.22'make: *** [all] Error 2是因为gcc-c++是在configure之后安装的,此时只需重新configure后再编译make就可以了。

2、mysql grant all mysql用户授权(安装完毕以后一定要进行用户授权)

grant all privileges on *.* to root@"%" identified by '123456' with grant option;

让%(所有ip的)用户拥有访问所有库和表的权限。用户名为root 密码为123456;.

flush privileges;

刷新权限,不用重启立即生效

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

3、Linux下mysql端口不能远程访问的问题(如java程序连接)防火墙设置

修改防火墙配置文件:

vi  /etc/sysconfig/iptables

增加下面一行:

-A RH-Firewall-1-INPUT -m state –state NEW -m  tcp -p tcp –dport 3306 -j ACCEPT

service iptables save

service  iptables restart

这时就可以从其他机器访问Mysql了。

开通3306 端口的行必须在icmp-host-prohibited前


打赏

分享到:

最近浏览
liumilongnuibi LV24月25日
星星星星
HBHDFXQ LV11月19日
星星
攻克己身 LV21月16日
星星星星
夏虫123zzc LV81月11日
月亮月亮
jw21fang LV31月10日
星星星星星星
Jenson0503 LV81月9日
月亮月亮
Alkane1月9日
暂无贡献等级
筱进GG LV251月9日
太阳月亮月亮星星
wangjk19970722 LV21月8日
星星星星
bianyuanze LV91月8日
月亮月亮星星
顶部客服微信二维码底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友