编译安装mysql

来源:互联网 发布:php curl 发送请求头 编辑:程序博客网 时间:2024/06/04 00:37

编译安装mysql

1、下载地址: http://downloads.mysql.com/archives/community/


2、编译 Mysql5.5.35 的参数: 参考资料: 解压压缩包 mysql-5.5.35/INSTALL-SOURCE

a. 安装目录: /opt/app/mysql

b. 编译前的准备: 

b1. 安装编译工具 cmake: sudo apt-get install cmake

b2. 安装编译工具 libaio-dev: sudo apt-get install libaio-dev

c. 编译安装步骤:

# Preconfiguration setup

shell> sudo groupadd mysql

shell> sudo useradd -r -g mysql mysql

# Beginning of source-build specific instructions

shell> sudo tar zxvf mysql-VERSION.tar.gz

shell> cd mysql-VERSION

shell-> cmake . -DCMAKE_INSTALL_PREFIX=/opt/app/mysql -DMYSQL_DATADIR=/opt/app/mysql/data -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1  

-> 出现如下问题: 

root@lvcy-VirtualBox:/home/lvcy/test/mysql-5.5.35# cmake . -DCMAKE_INSTALL_PREFIX=/opt/app/mysql -DMYSQL_DATADIR=/opt/app/mysql/data -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1  

-- Running cmake version 3.5.1

-- MySQL 5.5.35

-- Packaging as: mysql-5.5.35-Linux-x86_64

-- Could NOT find Curses (missing:  CURSES_LIBRARY CURSES_INCLUDE_PATH) 

CMake Error at cmake/readline.cmake:83 (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:127 (FIND_CURSES)

 cmake/readline.cmake:217 (MYSQL_USE_BUNDLED_LIBEDIT)

 CMakeLists.txt:345 (MYSQL_CHECK_READLINE)

-- Configuring incomplete, errors occurred!

See also "/home/lvcy/test/mysql-5.5.35/CMakeFiles/CMakeOutput.log".

See also "/home/lvcy/test/mysql-5.5.35/CMakeFiles/CMakeError.log".

-> 问题分析: 根据错误提示可知:  Curses library not found 缺少curses包 

-> 解决方法: sudo apt-get install ncurses-dev  

shell> make

shell> make install

# End of source-build specific instructions

# Postinstallation setup

shell> cd /opt/app/mysql

shell> sudo chown -R mysql .

shell> sudo chgrp -R mysql .

shell> scripts/mysql_install_db --user=mysql

shell> sudo chown -R root .

shell> sudo chown -R mysql data

# Next command is optional

shell> sudo cp support-files/my-medium.cnf /etc/my.cnf

shell> bin/mysqld_safe --user=mysql &

# Next command is optional

shell> sudo cp support-files/mysql.server /etc/init.d/mysql.server


3、配置文件的修改 

a. 修改/etc/my.cnf,添加如下语句:

tmpdir=/opt/app/mysql/tmp/

basedir=/opt/app/mysql

datadir=/opt/app/mysql/data

建立相关目录,并将所有者修改成mysql。

b. 修改 /etc/init.d/mysql,将 basedir 和 datadir 的值修改为:  

basedir=/opt/app/mysql

datadir=/opt/app/mysql/data

c. 修改 /etc/profile,添加 export PATH=$PATH:/opt/app/mysql/bin

执行 source /etc/profile

d. 执行:mysqladmin -u root password '123456'   # 创建root账号及密码

e. su 到 mysql 用户,进入mysql安装目录 /opt/app/mysql/bin,

执行:./mysql -uroot -p123456 即可进入mysql命令行


4、测试 mysql: 

启动 mysqld: /opt/app/mysql/bin/mysqld --user=mysql &

连接 mysql: /opt/app/mysql/bin/mysql -uroot -p123456 

a. 创建数据库: 

create table news_tbl (

ID INT NOT NULL AUTO_INCREMENT,

title VARCHAR(100) NOT NULL,

content TEXT NOT NULL,

date_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,

PRIMARY KEY (ID)

);

create table sts_tbl (

ID INT NOT NULL AUTO_INCREMENT,

ip VARCHAR(50) NOT NULL,

uid VARCHAR(50) NOT NULL,

lo VARCHAR(500) NULL,

PRIMARY KEY (ID)

);

b. 插入数据: 

mysql> insert into news_tbl (`title`, `content`) values ('Test', 'News Test Content!');

c. 查看数据库字符集: show variables like 'character%';



0 0