使用源码包在龙芯2F上安装mysql

最近想在龙芯2F电脑上搭建一个网站,不过2F没有装mysql。没想到装这个mysql还挺费劲,光编译都有好多遍了。现在把过程记录,以后留着参考:

龙芯电脑不能使用mysql网站上rpm因为那是针对x86架构CPU的。没办法只有下一个源码包,我这里使用的是mysql-5.1.30.tar.gz。另外我安装mysql除了查了大量网上的资料,最主要是参考了一位CSDN网友的博文:http://blog.csdn.net/ldb2741/archive/2010/08/20/5827571.aspx。在这里对这位朋友表示感谢:

 

1.解压mysql的源码包mysql-5.1.50.tar.gz,切换到安装目录下

 

./configure --prefix=/home/admin/mysql --sysconfdir=/home/admin/mysql 

--localstatedir=/home/admin/mysql/data

--with-unix-socket-path=/home/admin/mysql/tmp/mysql.sock 

--with-charset=gbk --with-plugins=innobase --with-client-ldflags=-all-static

--with-mysqld-ldflags=-all-static

sysconfdir表示mysql的配置文件路径,localstatedir表示数据文件路径,socket配置和最后2个属性主要用来提升性能

 

如果要使用innodb引擎,记得加上--with-plugins=innobase

 

 make

 make install

这里--with-plugins=all,比较好。如果--with-plugins=innobase后面编译的时候会出现问题。

 

2.复制/home/admin/mysql/share/mysql/my-medium.cnf 到mysql根目录下,改名为my.cnf

 

切换到mysql的bin目录下,运行

 

./mysql_install_db --basedir=/home/admin/mysql --datadir=/home/admin/mysql/data

如果--with-plugins=innobase 会出现如下错误:

101220 12:57:06 [ERROR] /home/cs2c/mysql/libexec/mysqld: unknown option '--skip-federated'

101220 12:57:06 [ERROR] Aborting

可以改为--with-plugins=all,或则将my.cnf中skip-federated注释起来。

 

3.复制/home/admin/mysql/libexec/mysqld到mysql的bin目录下,启动mysql服务

 

/home/admin/mysql/bin/mysqld_safe --ledir=/home/admin/mysql/bin 

--log-error=/home/admin/mysql/data/t.err --datadir=/home/admin/mysql/data 

--socket=/home/admin/mysql/tmp/mysql.sock --pid-file=/home/admin/mysql/data/mysqld.pid &

 

以上是叫桃子的网友的启动mysql服务的方法。我当时按照这样做总是启动不起来。后来我发现在我的电脑上直接执行:

/home/admin/mysql/bin/mysqld_safe

就可以。

使用ps -A | grep mysql 查看mysql又没有启动

如果不能启动用netstat命令,使用命令netstat -an能看到3306端口已经使用,检查3306端口是否被占用,如果是则修改my.cnf的端口配置。

 

切换到mysql的bin目录下,运行 ./mysqladmin -u root password '123456' 来修改root登录密码

使用

./mysql -u root -p123456登录mysql,注意-p和123456之间没有空格。

 

修改/home/admin/mysql/share/mysql/mysql.server代码

 

pid_file=/home/admin/mysql/data/mysqld.pid

 

停止mysql服务

 

/home/admin/mysql/share/mysql/mysql.server stop

为了方便,可以把启动和停止mysql服务命令写成shell脚本.

 

建议在my.cnf中添加sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

再次感谢叫桃子的网友。

 

你可能感兴趣的:(mysql,shell,socket,File,脚本,引擎)