【转】CentOS 编译安装MySQL全过程

原文:http://blog.csdn.net/jiangfeng08/article/details/5752390
官方参考:http://dev.mysql.com/doc/mysql-sourcebuild-excerpt/5.5/en/source-installation.html

其他参考:http://www.orczhou.com/index.php/2010/06/compile-mysql-from-source/
http://os.51cto.com/art/201002/182532.htm

1、到chinaunix下载mysql

下载地址: http://download.chinaunix.net/download/0008000/7159.shtml

2、上传到CentOS服务器

本例放在 /home/jiangfeng3 中

3、创建mysql组及用户

[root@localhost ~]# groupadd mysql

[root@localhost ~]# useradd -g mysql mysql


4、编辑文件权限

[root@localhost ~]# chmod 755 mysql-5.0.75.tar.gz



5、CentOS mysql编译和安装

解压:
[root@localhost ~]# tar zxvf mysql-5.0.75.tar.gz 

进入到mysql安装包

[root@localhost ~]# cd mysql-5.0.75


配置参数

[root@localhost ~]# ./configure --prefix=/usr/local/mysql --with-extra-charsets=all --with-unix-socket-path=/usr/local/mysql/var/mysql.sock --with-named-curses-libs=/usr/lib/libncursesw.so.5



预编译

[root@localhost ~]# make


安装
[root@localhost ~]# make install


6、配制CentOS mysql安装只是第一步,我们还要对CentOS mysql进行相应的配制


一般的情况下CentOS mysql要找配制文件my.cnf,位置在/etc目录下,所以我们得把文件my.cnf文件放到/etc/目录下。

让CentOS mysql服务器启动时能找到它。我们安装好CentOS mysql后,配制文件应该在/usr/local/mysql/share/mysql目录中,配制文件有几个,比如my-huge.cnf my-medium.cnf my-large.cnf my-small.cnf,不同的流量的网站和不同配制的服务器环境,当然需要有不同的配制文件了。


一般的情况下,my-medium.cnf这个配制文件就能满足我们的大多需要;

进入/usr/local/mysql这个目录,

看一下是不是已经安装好了呢??
[root@localhost ~]# cd /usr/local/mysql/
[root@localhost ~]# ls
bin include info lib libexec man mysql-test share sql-bench


我们把/usr/local/mysql/share/mysql这个目录下的my-medium.cnf,复制为my.cnf到/etc目录下。


[root@localhost ~]# cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf


做了这些工作以后,还得创造CentOS mysql授权表, 否则数据库也是启动不了。mysql_install_db,这个命令的用途就是做这个的。


CentOS mysql安装的命令都安装到了/usr/local/mysql/bin这个目录中。


[root@localhost mysql]#/usr/local/mysql/bin/mysql_install_db


运行mysql_install_db命令过后,我们查看/usr/local/mysql就会发现,有个var的目录。

这个目录,就是用来装所有数据库的位置,比如我们创建了linuxsir的数据库后,

就在在//usr/local/mysql/mysql/var目录中有linuxsir的目录。这回应该明白了吧。


7、启动CentOS mysql服务器,可能这是最轻松的了,不过也不能高兴的太早,因为有时会出现权限方面的错误。


CentOS mysql服务器启动,应该是/usr/local/mysql/share/mysql目录中的 mysql.server


启动方法是:
[root@localhost mysql]# /usr/local/mysql/share/mysql.server start


如果不能启动请运行/usr/local/mysql/bin/mysqld_safe --user=root 就能够启动了!!


接着输入/usr/local/mysql/share/mysql/mysql.server start即可成功启动


好了,我们把密码设置为123456 /usr/local/mysql/bin/mysqladmin -u root password 123456


如果没有返回错误说明正确了。

接着输入/usr/local/mysql/bin/mysql -u root -p就可以管理CentOS mysql安装了。

===============================
配置环境变量

linux下如何设置mysql的环境变量

我在AS5下安装完mysql之后,在启动过程中,发现如下问题:

我直接输入:
mysql -u root -p
提示bash: mysql: command not found

然后我到/usr/local/mysql/bin下输入:
mysql -u root -p
还是提示bash: mysql: command not found

然后我输入:
./mysql -u root -p
ok,可以了。

这里是因为环境变量没设!

linux下设置mysql的环境变量:
/etc/profile中添加:
export PATH=$PATH:/usr/local/mysql/bin       就OK

其他的变量都类似了 关键是明白各个配置文件在系统中的原理


====================================================
====================================================

重启MySQL
以下Linux下重启MySQL的正确方法:

1、通过rpm包安装的MySQL

service mysqld restart

2、从源码包安装的MySQL

// linux关闭MySQL的命令

$mysql_dir/bin/mysqladmin -uroot -p shutdown

// linux启动MySQL的命令

$mysql_dir/bin/mysqld_safe &
或者:$mysql_dir/bin/mysqld_safe --user=root        

其中mysql_dir为MySQL的安装目录,mysqladmin和mysqld_safe位于MySQL安装目录的bin目录下,很容易找到的。

3、以上方法都无效的时候,可以通过强行命令:“killall mysql”来关闭MySQL,但是不建议用这样的方式,因为这种野蛮的方法会强行终止MySQL数据库服务,有可能导致表损坏……所以自己掂量着用。


========================================
========================================

远程无法连接MySQL的问题:
Mysql默认只能本机访问.如果需要其他机器远程访问,需要设置.

1> 增加一个用户,用来进行远程登陆.用上方法6中的localhost登陆mysql,执行sql语句" GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION; "增加一个用户名为myuser,密码为mypassword.其中的"%"表示所有机器都可以访问.用上方法4重新启动MySql.

2> 这样过后,在本机上可以用命令"mysql -h <自己机器的IP> -u myuser -p"来登陆MySql.说明设置成功.

3> 最重要一点.你这个时候可以发现,在本机器上可以连接MySql.但是在其他机器上用相同方法,会出现" Can't connect to MySQL server on '9.186.100.178' (10065)"的错误.分析原因是AS4的防火墙导致.用下面方法设置防火墙:打开文件/etc/sysconfig/iptables,在最后一条之 前加一条:-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT. 然后执行 /etc/init.d/iptables restart. 至此设置AS4防火墙完毕.
更省事点就是直接关闭防火墙:service iptables stop


改表法
可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"
mysql -u root -p123
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';

改表法。
可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"
mysql -u root -p123
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';

<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>
阅读(313) | 评论(0) | 转发(0) |
0

上一篇:【转】linux vi vim 的使用

下一篇:经典语句

给主人留下些什么吧!~~
评论热议
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值