install mysql from source code on ubuntu system.

操作系统:ubuntu 11.04 

、安装所需要系统库相关库文件 


2、创建mysql安装目录 
  # mkdir -p /usr/local/mysql/ 
4、创建用户和用户组与赋予数据存放目录权限 
  # groupadd mysql 
  # useradd -g mysql mysql 
  # chown mysql.mysql -R /usr/local/mysql/ 
5、安装cmake(mysql5.5以后是通过cmake来编译的) 
  # wget http://www.cmake.org/files/v2.8/cmake-2.8.5.tar.gz 
  # tar zxvf cmake-2.8.4.tar.gz 
  # cd cmake-2.8.4 
  #./configure 
  # make && make install 


初始工具:gcc,cmake,make 

增加用户组和用户 

shell> sudo groupadd mysql 

shell> sudo useradd -r -g mysql mysql 

将压缩包.tar.gz解压缩到所需的目录 

进入解压缩的目录 

shell> sudo cmake . 

安装遇到错误: 

– MySQL 5.5.11 

– Could NOT find Curses (missing: CURSES_LIBRARY CURSES_INCLUDE_PATH) 

CMake Error at cmake/readline.cmake:82 (MESSAGE): 

Curses library not found. Please install appropriate package, 



remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu , package name is libncurses5-dev , 

on RedHat and derivates it is ncurses-devel. 

Call Stack (most recent call first): 

cmake/readline.cmake:126 (FIND_CURSES) 

cmake/readline.cmake:216 (MYSQL_USE_BUNDLED_LIBEDIT) 

CMakeLists.txt:256 (MYSQL_CHECK_READLINE) 

– Configuring incomplete, errors occurred! 



下载工具libncurses5-dev,如果在RedHat 下是ncurses-devel。 

下载之后先移除目录中的CMakeCache.txt 

然后输入 

shell> sudo cmake . 



遇到警告: 

Warning: Bison executable not found in PATHWarning: no usable bison found, /usr/src/mysql-5.5.11/sql/sql_yacc.yy will not be rebuilt. 

下载工具:bison 

下载之后先移除目录中的CMakeCache.txt 

然后输入 

shell> sudo cmake  -DCMAKE_INSTALL_PREFIX=/usr/local/mysql
(more options:
常用的选项有下边这些:
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
#安装目录
-DMYSQL_DATADIR=/usr/local/mysql/data \
#数据库存放目录
-DMYSQL_UNIX_ADDR=/usr/local/mysql/data/mysql.sock \
#Unix socket 文件路径
-DWITH_MYISAM_STORAGE_ENGINE=1 \
#安装 myisam 存储引擎
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
#安装 innodb 存储引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
#安装 archive 存储引擎
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
#安装 blackhole 存储引擎
-DWITH_PARTITION_STORAGE_ENGINE=1 \
#安装数据库分区
-DENABLED_LOCAL_INFILE=1 \
#允许从本地导入数据
-DWITH_READLINE=1 \
#快捷键功能
-DWITH_SSL=yes \
#支持 SSL
-DDEFAULT_CHARSET=utf8 \
#使用 utf8 字符
-DDEFAULT_COLLATION=utf8_general_ci \
#校验字符
-DEXTRA_CHARSETS=all \
#安装所有扩展字符集
-DMYSQL_TCP_PORT=3306 \
#MySQL 监听端口
)

没有警告和错误发生,然后输入 

shell> sudo make 

shell> sudo make install 

编译结束 

shell> cd /usr/local/mysql 

shell>sudo chown -R mysql .                               //修改mysql目录的所有者 

shell> sudo chgrp -R mysql .                               //修改mysql目录的所有群组 

shell> scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data
#Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist

cp support-files/my-medium.cnf /etc/my.cnf 

cp support-files/mysql.server /etc/init.d/mysqld 

chmod 755 /etc/init.d/mysqld 

/etc/init.d/mysqld start 

/usr/local/mysql/bin/mysql -u root -p
#for muliti-servers, we may need to add more parameters([P |--port=] 3306 [S|--socket=] /tmp/mysqld.sock)


mysql>use mysql ; 
mysql>update user set password=PASSWORD("bjsyx825") where user='root'; 
mysql>FLUSH PRIVILEGES;

Connect from remote server
1. Open mysql client with terminal
    mysql  [-h 127.0.0.1|localhost ] -u root -pjmbkeyes
2. run sql
    mysql>use mysql;
    mysql>grant all on *.* to root@'%' identified by 'password';

Create new login for mysql server with permissions.
mysql>create user user1@'%' identified by 'user1'
mysql>grant all on *.* to user1@'%' identified by 'user1';

posted on 2013-01-06 17:10  jmbkeyes  阅读(464)  评论(0)    收藏  举报

导航