`

centos从源代码安装mysql

阅读更多
先备忘着,后续再补充。

卸载OpenJDK:
1、http://www.cnblogs.com/zsxfbj/archive/2010/09/22/1833181.html
2、http://blog.csdn.net/cyq1984/article/details/5754958

参考url:
1、http://crazyming.blog.51cto.com/1048571/510659
注:该链接内容有一处错误,【utf8-general_ci】应该是【utf8_general_ci】
2、http://veryi.com/w/509.html
3、http://www.pc-pub.com/article-961-1.html
4、http://xfshean.blog.163.com/blog/static/602065662011101101653926/
5、http://www.cyberciti.biz/tips/how-do-i-enable-remote-access-to-mysql-database-server.html

一、先下载cmake
1、wget http://www.cmake.org/files/v2.8/cmake-2.8.4.tar.gz
2、tar xvf cmake-2.8.4.tar.gz
3、cd cmake-2.8.4
4、./configure
5、make
6、make install

二、进入mysql安装包所在目录,执行命令
1、CFLAGS="-O3" CXX=gcc CXXFLAGS="-O3 -felide-constructors -fno-exceptions -fno-rtti"
2、开始用cmake编译
cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql5.5/ \
-DMYSQL_DATADIR=/var/mysql \
-DMYSQL_UNIX_ADDR=/var/mysql/mysqld.sock \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_TCP_PORT=3306 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DMYSQL_UNIX_ADDR=/var/mysql/mysql.sock \
-DMYSQL_USER=mysql \
-DWITH_DEBUG=0

如果出现以下警告:
CMake Warning: The variable, 'MYSQL_USER', specified manually, was not used during the generation.
需要把预编译里面的MYSQL_USER去掉再编译

3、make
注:如果用nohup make则所有输出会到同目录下的nohup.out文件
4、make install

三、安装完毕,初始化数据库,报找不到mysql_print_defaults文件,结果报错。
1、应该在my.cnf文件的【mysqld】一节,加上basedir和datadir定义
2、为mysql.mysql用户添加/var/mysql目录和/usr/local/mysql5.5/data的所有权
3、初始化数据命令:
./mysql_install_db --user=mysql --basedir=/usr/local/mysql5.5 --datadir=/var/mysql --defaults-file=/etc/my.cnf

在my.cnf里使innodb有效,启动时发生如下错误
120421  6:30:26  InnoDB: Operating system error number 2 in a file operation.
InnoDB: The error means the system cannot find the path specified.
InnoDB: If you are installing InnoDB, remember that you must create
InnoDB: directories yourself, InnoDB does not create them.
InnoDB: File name /var/mysql-DMYSQL_UNIX_ADDR=/var/mysql/mysqld.sock/ibdata1
貌似my.cnf配置文件有错,将-DMYSQL_UNIX_ADDR=/var/mysql/mysqld.sock注释掉
注:2012/8/29,是因为编译的时候【-DMYSQL_DATADIR=/var/mysql \】最后【\】前没有空格

2012/11/27,启动时报告错误:
InnoDB Error ib_logfile0 of different size
解决方案:将/var/mysql/下的ib_log*文件是删除

仍旧报告错误:
MySQL Plugin 'InnoDB' init function returned error.
解决方案:将/var/mysql/所有文件删除,然后再执行初始化数据命令

然后在my.cnf将innodb引擎打开,启动报错:
InnoDB: Error: data file /var/mysql/ibdata1 is of a different size
解决方案:将/var/mysql/所有文件删除,然后再执行初始化数据命令,然后启动成功

复制配置文件
cp support-files/my-huge.cnf /etc/my.cnf

复制启动脚本
cp support-files/mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld

四、服务器启动之后,更改root口令
UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root';
FLUSH PRIVILEGES;

五、允许其他ip接入
GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY "MyNewPass";

安装myql的udf,lib_mysql_xql
必须先安装libxml2,默认安装即可。
yum install libxml2

1、配置文件有错,需修改
lib_mysqludf_xql的configure文件有有错误:
      if test -f "$XML2_DIR/$i/libxml"; then
应该改为以下语句:
      if test -f "$XML2_DIR/$i/libxml/uri.h"; then

2、configure脚本
./configure --prefix=/usr/local/mysql5.5 --with-mysql=/usr/local/mysql5.5/bin/mysql_config --with-libxml2=/usr;

3、make
4、make install;
5、安装函数到mysql:/usr/local/mysql5.5/bin/mysql -u root -pxxxxxx < installdb.sql
之后.so文件会在mysql的plugin目录下生成,重启mysql就ok
6、重启之后执行xql的installdb.sql文件,在mysql数据库生成函数

安装memcached需要libevent支持,需安装libevent-devel包
然后./configure --with-libevent=/usr;
此时memcached安装在/usr/local/bin目录下。

启动:/usr/local/bin/memcached -d -m 1000 -u root -p 12000 -c 1024 -P /tmp/memcached.pid
memcached启动参数说明:
-d选项是启动一个守护进程,
-m是分配给Memcache使用的内存数量,单位是MB,我这里是10MB,
-u是运行Memcache的用户,我这里是root,
-l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址192.168.1.2,
-p是设置Memcache监听的端口,我这里设置了12000,最好是1024以上的端口,
-c选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定,
-P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid,
2.如果要结束Memcache进程,执行:
kill `cat /tmp/memcached.pid`

数据导入之后空间不够,给虚拟硬盘扩容(需virtualbox4.0版本以上)
导入时磁盘满的话,执行sql命令会返回28错误,估计应该是表示磁盘空间不足
参考:
1、http://www.lirui.name/post/202.html
2、http://hi.baidu.com/iamcyh/blog/item/37f2573f3d3120e5828b132b.html
3、http://www.21andy.com/blog/20120523/2031.html

数据导入时,需要在目标数据库上执行:
set global log_bin_trust_function_creators=1;
否则存储过程中的function可能无法导入

数据运行久了产生的bin日志,用如下方式清除
参考:
1、http://jk.aiwaly.com/wp/%E5%A6%82%E4%BD%95%E6%B8%85%E9%99%A4mysql%E7%9A%84mysql-bin%E6%97%A5%E5%BF%97-2.html

服务器ipv6不知何故被启用,用如下方式停止
参考:
1、http://www.cyberciti.biz/faq/redhat-centos-disable-ipv6-networking/
2、http://blog.sina.com.cn/s/blog_501dcd710100y3nn.html
注:执行【rmmod ipv6】时可能会报告模块被占用,不用理会,直接reboot重启系统

安装完服务,需要开放相应端口
http://os.51cto.com/art/201003/192211.htm

更改centos服务器时间:
如下是CentOS系统使用NTP来从一个时间服务器同步
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
ntpdate us.pool.ntp.org
第一句是把当前时区调整为上海就是+8区,想改其他时区也可以去看看/usr/share/zoneinfo目录;
然后第二句是利用ntpdate同步标准时间.

如何在MySQL使用全局变量,有一个udf
http://www.pureftpd.org/project/mysql-udf-global-user-variables/download

建立数据库时,数据库名务必全部用字母+数字,不要用[-][_]等特殊字符

执行语句时出错:
Failed to load routine erp.f_sso_rel_user_entity_array. The table mysql.proc is missing, corrupt, or contains bad data (internal code -6)
原因:mysql安装了udf之后,有些udf会更改plugin的位置,导致之前安装的udf找不到相应的.so文件。一般在lib下的plugin目录,有些udf会安装到lib下的mysql/plugin目录,两个目录互相软链接即可解决
同样,在mysql.proc表里,该函数是存在的,但是在查询窗口执行该函数时却报告找不到,这时一般也是同样的原因:关联的.so文件找不到
分享到:
评论

相关推荐

    CentOS下mysql成功安装

    首先,需要下载MySQL的源代码,当前最新版本为5.6.20,可以从MySQL的官方网站上下载。下载完成后,需要将其解压缩到指定目录中。 安装依赖包 在编译安装MySQL之前,需要安装一些依赖包,包括gcc、gcc-c++、gcc-g77...

    CentOS6.5一键安装Mysql5.6

    "install_mysql"这个压缩包文件包含了MySQL 5.6的安装源代码或二进制文件。首先,解压这个压缩包: ``` tar -zxvf install_mysql ``` 然后,根据解压后的文件结构,找到MySQL的安装文件,可能是`mysql-community-...

    2-CentOS6安装MySQL5.71

    总结,安装和配置MySQL 5.7.1在CentOS 6.8上的步骤包括:获取MySQL YUM源,使用`yum`安装MySQL服务器,启动并设置MySQL服务,获取并更改root用户密码,配置iptables允许3306端口的远程访问,以及更新MySQL的用户权限...

    centos6.3中编译安装mysql.5.5.30.pdf

    3. **解压并编译MySQL源代码**:将MySQL 5.5.30的tar.gz文件解压,并在源代码目录下执行cmake命令来配置编译选项。 ```bash [root@zheng2 ~]# cd /usr/src/mysql-5.5.30/ [root@zheng2 mysql-5.5.30]# cmake . -...

    CentOS安装MySQL 5.5

    本文档旨在指导如何在CentOS系统上从源代码编译、安装并配置MySQL 5.5数据库管理系统。该过程涉及到软件环境的准备、编译工具的安装、MySQL源代码的编译与配置等步骤。 #### 1.1 文档内容 本文档详细介绍了在CentOS...

    CentOS 6.4下编译安装MySQL 5.7.9

    1. **GCC编译器**:用于源代码编译。 2. **OpenSSL**:为MySQL提供加密功能。 3. **NCURSES**:用于MySQL的客户端界面。 4. **Libaio**:异步I/O库,提高MySQL性能。 5. **jemalloc或libmalloc**:内存分配器,优化...

    CentOS7下源码编译配置Apache2.4+MySQL5.6+PHP71

    在本文中,我们将深入探讨如何在CentOS 7操作系统上通过源代码编译来安装Apache 2.4、MySQL 5.6和PHP 7.1。这个过程对于那些希望自定义软件配置或在没有预装包的环境中部署这些服务的系统管理员来说非常有用。 首先...

    CentOS编译安装MYSQL5.6.17

    从官方渠道下载MySQL 5.6.17的源代码压缩包,并将其解压到指定目录。 ```bash cd ~ # 创建MySQL工作目录 mkdir -p /var/lib/mysql # 创建MySQL数据目录 mkdir -p /var/lib/mysql/data # 下载MySQL源码包 cd /tmp/...

    CentOS7 源码安装MySQL5.6

    下载 MySQL 的源代码并解压到 `/data/program` 目录下。 **命令详解:** ```bash tar zxvf mysql-5.6.20.tar.gz cd mysql-5.6.20 ``` #### 六、编译安装 MySQL 5.6.20 接下来,我们将使用 CMake 进行 MySQL 的...

    centos下 MySQL 5.5.13 CMake 安装笔记

    - 使用 `make` 编译源代码,然后执行 `make install` 安装MySQL。 4. **设置权限和配置文件**: - 修改MySQL的安装目录权限,使其归属于MySQL用户和组。 - 创建必要的数据和日志目录,并赋予MySQL用户相应的权限...

    centos 7.0上安装mysql

    本文将详细讲解如何在 CentOS 7.0 上安装 MySQL 5.6 版本,包括用户和组的创建、数据目录的准备、源代码编译安装以及配置与启动 MySQL 服务。 首先,为了确保安全性和权限控制,我们需要创建专门的 MySQL 用户和组...

    centos6.2安装两个mysql.pdf

    3. 配置MySQL安装参数:在编译源代码前,需要通过configure脚本来设置安装目录以及运行参数。 - `./configure --prefix=/usr/local/mysql3308 ...`:配置安装路径为/usr/local/mysql3308,并设置其他相关参数,如...

    64位centos安装mysql所需资源包

    总结来说,要在64位CentOS上成功安装MySQL,必须理解并掌握这三个关键组件的作用:MySQL提供数据库服务,CMake帮助管理和构建源代码,而Bison则用于解析SQL语句。通过正确安装和配置这些工具,我们可以确保MySQL能够...

    CentOS6.4安装MySql5.5.27[文].pdf

    总结,安装MySQL 5.5.27在CentOS 6.4上的过程包括卸载旧版本、关闭Selinux、安装依赖、配置和编译源代码、初始化数据库、配置为系统服务以及设置安全措施。这些步骤是确保MySQL正确、安全运行的基础。对于软件开发者...

    CentOS5.3_05_mysql安装

    你可以通过访问 MySQL 官方网站或使用 wget 命令在终端中下载源代码。 下载完成后,解压源代码包,然后进入解压后的目录。编译安装通常包括以下步骤: 1. **配置**:运行 `./configure` 命令,这将检查系统上的...

    centos6.5安装mysql5.6

    这个过程涉及多个步骤,包括检查系统环境、删除遗留的服务和文件、安装必要的软件包、下载和配置MySQL源代码以及最后的安装和配置。让我们逐步了解每个步骤。 首先,确保系统中没有遗留的MySQL服务和安装。可以使用...

    Linux下以源代码方式安装MySQL教程

    在Linux环境下,以源代码方式安装MySQL是一种常见且灵活的方法,尤其对于自定义配置和调试需求较高时。本文将详细讲解这一过程,适用于熟悉Linux基础操作的用户。 首先,安装MySQL需要一个C编译器,这里推荐使用GCC...

    Centos7 yum安装mysql的repo

    2. **mysql-community-source.repo**:此文件用于获取MySQL社区版的源代码。如果你需要编译自定义版本或者进行开发工作,你可以使用这个仓库来获取源代码。同样,确保`enabled=1`以启用源码仓库。 3. **mysql.repo*...

    centos6.3中编译安装mysql.5.5.30借鉴.pdf

    然后执行 `make && make install` 来编译源代码并安装MySQL。 6. **配置MySQL**: 将示例配置文件 `my-medium.cnf` 复制到 `/etc/my.cnf`,并使用 `chown -R mysql.mysql /usr/local/mysql` 改变MySQL目录的所有者...

Global site tag (gtag.js) - Google Analytics