CentoS5下编译安装mysql数据库
为什么选择源码编译安装mysql:我在使用rpm或者是yum安装时myql,老是提示我找不到*.sock文件,找了点
资料说是该包是非官方版本(明明是官方下载 的),其中原因到现在还没有搞清楚。希望知情人士告知。(开始编译的时候,系统环境一定要配置好,GCC,GC++...等等的编译器一定要做好,本人的centos由于开始
系统环境没配置好,gcc等等环境没做好,在编译安装时,走了很多弯路,始终不能生成makefile。郁闷)
1、下载源码包
去 http://dev.mysql.com/downloads/mysql/6.0.html 里下载到 mysql-6.0.6-alpha.tar.gz
2、创建mysql的用户组和用户
>groupadd mysql
>useradd -g mysql mysql
3、编译安装 mysql
>cp mysql-6.0.0-alpha.tar.gz /usr/local/src
>tar -zxvf mysql-6.0.0-alpha.tar.gz
>cd mysql-6.0.0-alpha
>./configure --prefix=/usr/local/mysql #指定安装目录
>make
>make install
在编译Mysql时
./configure prefix=/usr/local/mysql
如果出现了以下错误:
......
checking for tgetent in -ltermcap... no
checking for termcap functions library... configure: error: No curses/termcap library found
说明 curses/termcap 库没有安装
yum search curses | grep lib
安装 ncurses-devel ,然后重新运行配置
yum install ncurses-devel
4、配置并启动mysql
>cp support-files/my-medium.cnf /etc/my.cnf
>cd /usr/local/mysql
>chown -R mysql .
>chgrp -R mysql .
>bin/mysql_install_db --user=mysql #初始化安装mysql数据库
>chown -R root .
>chown -R mysql var
>bin/mysqld_safe --user=mysql &
5、更改mysql的root密码
>/usr/local/mysql/bin/mysqladmin -u root password [新密码]
6、设置mysql开机自启动
>cp support-files/mysql.server /etc/rc.d/init.d/mysql
>chmod +x /etc/rc.d/init.d/mycql
>chkconfig --add mysql
>service mysql start
相关文档:
MySQL+PHP产生乱码原因:
◆ MySQL数据库默认的编码是utf8,如果这种编码与你的PHP网页不一致,可能就会造成MySQL乱码;
◆ MySQL中创建表时会让你选择一种编码,如果这种编码与你的网页编码不一致,也可能造成MySQL乱码;
◆ MySQL创建表时添加字段是可以选择编码的,如果这种编码与你的网页编码不一致,也可能造成 ......
首先看MySQL 5.0参考手册中关于创建存储过程的语法说明:
CREATE
[DEFINER = { user | CURRENT_USER }]
PROCEDURE sp_name ([proc_parameter[,...]])
[characteristic ...] routine_body
proc_parameter:
......
innodb_buffer_pool_size
如果用Innodb,那么这是一个重要变量。相对于MyISAM来说,Innodb对于buffer size更敏感。MySIAM可能对于大数据量使用默认的key_buffer_size也还好,但Innodb在大数据量时用默认值就感觉在爬了。 Innodb的缓冲池会缓存数据和索引,所以不需要给系统的缓存留空间,如果只用Innodb,可以把这个值设为 ......
Unix&Linux:
1.用root或者运行mysqld的用户登录系统;
2.利用kill命令结束掉mysqld的进程;
3.使用--skip-grant-tables参数启动MySQL Server
shell>mysqld_safe --skip-grant-tables &
4.为root@localhost设置新密码
shell>mysqladmin -u root flush-privileges password "newpassword" ......
DELIMITER $$
DROP PROCEDURE IF EXISTS `hotel`.`prc_page_hotel_result`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `hotel`.`prc_page_hotel_result`(
in currpage int,
in columns varchar(500),
in tablename &n ......