bereyi的gravatar头像
bereyi 2018-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前


打赏
最近浏览
就是这个号码  LV1 2020年4月1日
userghfcgnvnhv  LV7 2020年1月9日
衣服架子 2019年9月21日
暂无贡献等级
chen_xian 2018年11月6日
暂无贡献等级
liumilongnuibi  LV2 2018年4月25日
HBHDFXQ  LV1 2018年1月19日
攻克己身  LV2 2018年1月16日
夏虫123zzc  LV10 2018年1月11日
jw21fang  LV3 2018年1月10日
Jenson0503  LV9 2018年1月9日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友