linux mysql 安装

来源:互联网 发布:陕西广电网络在哪 编辑:程序博客网 时间:2024/05/17 11:37

1.1 安装mysql-5.1.53

第一步:打开终端,输入命令mkdir -p/usr/local/eversec;在/usr/local/目录下建立eversec文件夹。

第二步:输入命令cd /root/perseus2.0/db;进入/root/perseus2.0/db目录。

第三步:输入命令mkdir -p/usr/local/eversec/mysql,在/usr/local/eversec/目录下建立mysql文件夹;mkdir -p /usr/local/eversec/sphinx,在/usr/local/eversec/目录下建立sphinx文件夹。

    第四步:输入命令rpm-qa | grep mysql;查看是否以前有安装mysql,如有安装,则输入命令rpm -e--nodeps mysql*来删除mysql,如以前没安装,则继续下一步。(注意:rpm -qa | grep mysql中的mysql最好大小写都试一下,保证mysql信息能全部查询到)

第五步:输入命令tar -zxvf mysql-5.1.53.tar.gz;解压缩mysql源文件mysql-5.1.53.tar.gz到当前目录。

第六步:输入命令tar -zxvfsphinx-1.10-beta.tar.gz;解压缩Sphinx源文件sphinx-1.10-beta.tar.gz到当前目录。

第七步:输入命令cd mysql-5.1.53;进入刚解压得到的mysql-5.1.53目录。

第八步:在MySQL源码目录中建立storage/sphinx目录,并将Sphinx源码目录中的mysqlse目录下的全部文件拷贝到这个目录。cp -R sphinx-1.10-beta/mysqlse/* mysql-5.1.53/storage/sphinx

第九步:在MySQL源码目录运行sh BUILD/autorun.sh

第十步:配置(configure)MySQL,启用Sphinx引擎,编译安装MySQL

./configure --prefix=/usr/local/eversec/mysql--with-plugins=sphinx --with-partition

    第十一步:输入命令make;把mysql原文件编译成可执行文件。

第十二步:输入命令make install;执行mysql的安装文件,完成安装。

第十三步:进入sphinx-1.10-beta目录,配置、编译、安装sphinx:

./configure--prefix=/usr/local/eversec/sphinx --with-mysql=/usr/local/eversec/mysql

    第十四步:输入命令make;把sphinx原文件编译成可执行文件。

第十五步:输入命令make install;执行sphinx的安装文件,完成安装。

    第十六步:输入命令cd ..;退出当前mysql-5.1.53目录,返回db目录。

    第十七步:输入命令rm -frmysql-5.1.53,sphinx-1.10-beta;把 mysql-5.1.53,sphinx-1.10-beta目录及其子目录的档案全部删除。

    1.2 配置mysql-5.1.53

    第一步:输入命令groupaddmysql;添加mysql用户组。

    第二步:输入命令useradd-g mysql mysql;给mysql用户组添加用户mysql。

    第三步:输入命令/usr/local/eversec/mysql/bin/mysql_install_db--user=mysql;创建数据库mysql,用户为mysql;

    第四步:输入命令cp/usr/local/eversec/mysql/share/mysql/my-huge.cnf /etc/my.cnf;把/usr/local/eversec/mysql/share/mysql/目录下的my-huge.cnf文件拷贝到/etc/目录下,并重命名为:my.cnf,使mysql将来以大数据量模式运行。(注意实际安装时将数据库目录下的my.cnf拷贝到/etc目录下,原因该文件已做好安全配置)

    第五步:输入命令chgrpmysql /etc/my.cnf;将/etc/目录下文件名为my.cnf的组所有权更改为 mysql。

    第六步:输入命令chmod755 -R /usr/local/eversec/mysql/;把/usr/local/eversec/mysql/目录及其子目录下的全部档案权限改为所有人可读、可执行,档案拥有者还可写。

    第七步:输入命令chownmysql.mysql -R /usr/local/eversec/mysql/;把/usr/local/eversec/mysql/目录及其子目录下的全部档案的所用者改为mysql用户组的mysql用户。

    第八步:输入命令cp/usr/local/eversec/mysql/share/mysql/mysql.server /etc/init.d/mysqld;把/usr/local/eversec/mysql/share/mysql/目录下的mysql.server文件拷贝到/etc/init.d/目录下,并重命名为:mysqld。

    第九步:输入命令chkconfig--add mysqld;使系统新增mysqld服务

    第十步:输入命令chkconfig--level 345 mysqld on;设置mysqld服务在3,4,5运行级开启。

    第十一步:输入命令servicemysqld start;启动mysqld服务。

    第十二步:输入命令/usr/local/eversec/mysql/bin/mysqladmin-u root password '123456';将mysql的root用户的密码设为123456。

    第十三步: 输入命令ln -s/usr/local/eversec/mysql/bin/mysql /bin/mysql;给/usr/local/eversec/mysql/bin/目录下的mysql文件在/bin/目录下建立链接mysql。

         第十四步:vi/etc/ld.so.conf,然后写入libmysqlclient.so.16存储路径

         第十五步:运行ldconfig

 

注意:

1. 其中第十四、十五步可用以下命令,建立连接代替。

rm -f /usr/lib/libmysqlclient.so.16

ln -s/usr/local/eversec/mysql/lib/mysql/libmysqlclient.so.16/usr/lib/libmysqlclient.so.16

2. 启动MYSQL时出现 Managerof pid-file quit without updating file.错误提示时,需要打开/etc/selinux/config,把SELINUX=enforcing改为SELINUX=disabled后存盘退出重启机器,即可。

3. 查看mysql安装是否成功查看日志文件sfn.linux.com.err

tail -f /var/lib/mysql/sfn.linux.com.err

090820 03:51:07 mysqld_safe Starting mysqlddaemon with databases from /var/lib/mysql

/usr/local/libexec/mysqld: Table'mysql.plugin' doesn't exist

090820 3:51:07 [ERROR] Can't open the mysql.plugin table. Please runmysql_upgrade to create it.

090820 3:51:07 [ERROR] Fatal error: Can't open and lock privilege tables: Table'mysql.host' doesn't exist

090820 03:51:07 mysqld_safe mysqld from pidfile /var/lib/mysql/sfn.linux.com.pid ended

090820 03:51:49 mysqld_safe Starting mysqlddaemon with databases from /var/lib/mysql

/usr/local/libexec/mysqld: Table'mysql.plugin' doesn't exist

090820 3:51:50 [ERROR] Can't open the mysql.plugin table. Please runmysql_upgrade to create it.

090820 3:51:50 [ERROR] Fatal error: Can't open and lock privilege tables: Table'mysql.host' doesn't exist

090820 03:51:50 mysqld_safe mysqld from pidfile /var/lib/mysql/sfn.linux.com.pid ended

4. linux下编译应用程序常常会出现如下错误:

/usr/bin/ld:cannot find -lxxx

意思是编译过程找不到对应库文件。其中,-lxxx表示链接库文件 libxxx.so。

注:有时候,由于库文件是编译过程临时生成的,如果前面出错也会导致出现这种情况,下面针对的是由于本机系统环境缺失而引起的。。

一般出现这种错误有以下几种原因:

1.系统缺乏对应的库文件;

2.版本不对应;

3.库文件的链接错误;

4.库文件路径设置问题;

对应第一第二种情况,可以通过下载安装lib来解决,ubuntu大多数可以直接通过apt-get来安装:

apt-getinstall libxxx-dev


一般遇到这种问题笔者第一时间也是会去检查系统是否已安装该lib或者是否已选择正确版本(只是习惯问题),如果还是不能解决问题,那么,引起错误的原因不是链接错误就是库文件路径问题了。

通过find指令定位到链接文件,查看链接文件是否正确的指向了我们希望的lib,如果不是,用 ln -sf */libxxx.so.x */libxxx.so 指令修改它。

如果是库文件路径引发的问题,可以到/etc/ld.so.conf.d目录下,修改其中任意一份conf文件,(可以自建conf,以方便识别)将lib所在目录写进去,然后在终端输入 ldconfig 更新缓存。      

 

5. centos下安装mysql时,提示curses/termcap库没装

到configure这步时提示说Nocurses/termcap library found,

    1.到网上下载这个库http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.6.tar.gz,同样的需要解压、configure、make。(./configure–with-named-curses-libs=/usr/lib/libncurses.so.5,指定目录比较重要,这里提供参考。)

   2.另一种方法就是简单的yum命令了,输入yum installncurses-devel,自动完成。