最近,写了一个数据库代理,SQL语句是公司DBA给的,自己只写了点c++的代码,用的还是freetds的库.感觉自己就是一个数据库白痴,今天突然想学学数据库相关的知识,于是就到MySql的官方网站上下载了一个最新版本的源码包.
1 解压缩
#>tar xvfz mysql-5.5.9.tar.gz
2 进去看看文档,看看怎么安装
#>cat INSTALL-SOURCE
发现安装需要cmake工具,由于我的机器上没有安装cmake,又去下了了一个cmake安装上
#>wget http://www.cmake.org/files/v2.8/cmake-2.8.4.tar.gz
#>cd cmake-2.8.4
#>./configure && make && make install
cmake命令安装到了/usr/local/bin目录下
3 开始安装源码
我提前建好了一个目录:/data/mysql 这个目录已经修改了权限,所有者为mysql
#>cmake . -DCMAKE_INSTALL_PREFIX=/data/mysql -DDEFAULT_CHARSET=utf8 -DMYSQL_TCP_PORT=3306 -DMYSQL_UNIX_ADDR=/tmp/mysql3306.sock -DWITH_DEBUG=0 -DWITH_INNOBASE_STORAGE_ENGINE=1
大概看了一下文档,我这些参数的意思:
-DCMAKE_INSTALL_PREFIX=/data/mysql 准备安装到那里
-DDEFAULT_CHARSET=utf8 默认的字符集
-DMYSQL_TCP_PORT=3306 数据库的监听端口
-DMYSQL_UNIX_ADDR=/tmp/mysql3306.sock 本机连回数据库的unix socket
-DWITH_DEBUG=0 关闭debug模式
-DWITH_INNOBASE_STORAGE_ENGINE=1 打开innodb引擎
然后,
#>make && make install
等一会就编译完成,就自动安装到前面指定的安装目录
4 检查安装目录权限,不是mysql就需要通过chown和chgrp命令来修改
#>ll /data/mysql
5 初始化mysql,这里好像是初始化了一些mysql自己需要的表格,比如help tables
#>./scripts/mysql_install_db --user=mysql --datadir=/data/mysql/data
--datadir=/data/mysql/data 这个选项一定要加上,不然会出现Table 'mysql.host' doesn't exist问题
6 拷贝配置文件到指定的目录
#>su - mysql
#>cp ./support-files/my-small.cnf ./my.cnf
看文档上写的,mysql找配置的顺序如下:/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf
启动选项 --defaults-file= 可以指定启动时的配置文件
7 启动mysql
修改配置,因为我用的innodb的引擎,所以把配置项里面的innodb相关的都打开了
# Uncomment the following if you are using InnoDB tables
innodb_data_home_dir = /home/peiwenhao/mysql/data
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = /home/peiwenhao/mysql/data
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
innodb_buffer_pool_size = 16M
innodb_additional_mem_pool_size = 2M
# Set .._log_file_size to 25 % of buffer pool size
innodb_log_file_size = 5M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
#>./bin/mysqld_safe --defaults-file=./my.cnf &
8 文档建议数据库启动后,第一件事就是修改root密码
#>./bin/mysqladmin -u root password 'new-password'
9 测试启动的数据库
#>cd ./mysql-test ; perl mysql-test-run.pl
这次按装蛮顺利的,没遇到什么问题.数据库安装上了,就有了学习sql和折腾程序的新平台了.
这里只是安装过程,等以后慢慢学习,先学会使用,再说调优什么的问题.
^.^ 一起学习,一同进步~