linux下通过源码包安装MySql5.5

最近接触到多数据源的切换的问题,觉得很有意思,就在空余时间想写个数据库读写分离的demo测试下,所以,必须先在linux下搭建一个mysql集群,下面是在linux下安装mysql5.5的步骤,也是搜索了一些博客整理出来的,因为很多博客记录不是很详细,导致安装过程也不是很顺利,所以自己修改了其中的问题,来存下档:

 1,创建mysql安装目录

# mkdir -p /usr/local/webserver/mysql/

2,创建数据存放目录
# mkdir -p /data/mysql/

3,创建用户和用户组与赋予数据存放目录权限
# groupadd mysql
# useradd -g mysql mysql
# chown mysql.mysql -R /data/mysql/

4,安装cmake(mysql5.5以后是通过cmake来编译的)
# wget http://www.cmake.org/files/v2.8/cmake-2.8.4.tar.gz
# tar zxvf cmake-2.8.4.tar.gz

# cd cmake-2.8.4
(----在 cmake-2.8.4 目录下----)
#.configure
# make && make install

5,下载解压mysql 5.5.11
wget http://mirrors.sohu.com/mysql/MySQL-5.5/mysql-5.5.11.tar.gz
[root@localhost down]# tar zxvf mysql-5.5.11.tar.gz
[root@localhost down]# cd mysql-5.5.11

6,编译mysql-5.5.11
(----在 mysql-5.5.11 目录下----)
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/webserver/mysql/
\-DMYSQL_DATADIR=/data/mysql
\-DMYSQL_UNIX_ADDR=/data/mysql/mysqld.sock
\-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=/data/mysql/mysql.sock
\-DMYSQL_USER=mysql \-DWITH_DEBUG=0
[root@host mysql-5.5.11]# make
[root@host mysql-5.5.11]# make install

7,复制配置文件
[root@mysql-5.5.11]# cp support-files/my-medium.cnf /etc/my.cnf
[root@mysql-5.5.11]# cp support-files/mysql.server /etc/init.d/mysqld
[root@mysql-5.5.11]# chmod 755 /etc/init.d/mysqld

8,初始化数据库
bash scripts/mysql_install_db --user=mysql --basedir=/usr/local/webserver/mysql/mysql-5.5.11 --datadir=/data/mysql/
-----------------------
可能出现错误
120330 16:19:42 [ERROR] Unknown collation: 'utf8-general_ci'
造成这种错误原因是在配置参数时utf8-general_ci写错了,应该是utf8_general_ci,
如果不想重新安装数据库那就在my.cnf文件中[mysqld]下面增加一行:
character_set_server=utf8
-----------------------
9,启动mysql服务
[root@localhost mysql-5.5.11]# /etc/init.d/mysqld start

10,启动完成之后用ps -ef |grep mysql 命令查看是否启动

11,/usr/local/webserver/mysql/bin/mysql -u root -p
通过命令行登录管理MySQL服务器 初始密码为空

11,修改root密码
mysql>;use mysql ;
mysql>; update user set password=PASSWORD("123456") where user='root';

posted @ 2012-11-19 10:03  行在途中  阅读(343)  评论(0编辑  收藏  举报