mysql在linux上的安装之二(mysql源码安装),mysql源码
1.下载相应的mysql安装源码包
地址为:http://dev.mysql.com/downloads/mysql/5.1.html
2.如果以前安装过则卸载无用过旧的已安装的mysql
由于很多linux发行版,都预装了相应的mysql,一般都是rpm形式的安装,且mysql的版本都是比较低的(这个可能是由于兼容性测试的考虑吧)。因此在自己亲自安装mysql之前,请先卸载这些过旧的mysql,保证我们系统的“纯净”。
使用如下命令查询系统中安装的mysql:
rpm -qa|grep mysql
此命令会模糊匹配软件名有mysql的rpm安装包,列出来的这些都可以把他们删掉,一次性删掉,可使用如下的一个脚本命令:
for i in `rpm -qa | grep "mysql"`; do rpm -e --allmatches $i; done
执行完上面命令后,如果还有顽固分子没有被删除,那就一个一个利用下面的命令来删除:
rpm -e --allmatches packet-name
如果发现循环依赖问题,那么packet-name就列出这些循环依赖的安装包,一次性全部删除,如:
[root@test root]# rpm -e --allmatches mysql
安装源代码版本的MySQL
3.添加mysql用户组
groupadd mysql
4.添加mysql用户,并指定到mysql用户组
useradd -g mysql mysql
5.解压缩mysql-version.tar.gz
gunzip < mysql-VERSION.tar.gz | tar -xvf -
6.安装mysql
cd mysql-VERSION
./configure --prefix=/usr/local/mysql --with-charset=gbk --with-extra-charsets=armscii8,ascii,big5,cp1250,cp1251,cp1256,cp1257,cp850,cp852,cp866,cp932,dec8,eucjpms,euckr,gb2312,gbk,geostd8,greek,hebrew,hp8,keybcs2,koi8r,koi8u,latin1,latin2,latin5,latin7,macce,macroman,sjis,swe7,tis620,ucs2,ujis,utf8 --with-plugins=innodb_plugin
make
make install
7.复制配置文件
shell> cp support-files/my-medium.cnf /etc/my.cnf
8.执行mysql系统数据库初始化脚本
cd /usr/local/mysql
bin/mysql_install_db --user=mysql
9.设定mysql安装目录权限,设置owner为mysql
chown -R mysql var
chgrp -R mysql .
10.启动mysql应用
/usr/local/mysql/bin/mysqld_safe --user=mysql &
11.设置root密码(数据库的DBA)
bin/mysqladmin -u root password ‘root’
12.登录mysql
bin/mysql -uroot -p
Enter password:
登录成功会看到:
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 229
Server version: 5.1.40-log MySQL Community Server (GPL)
Type ‘help;’ or ‘h’ for help. Type ‘c’ to clear the current input statement.
mysql>
这时mysql已经装好了,可以查看数据库了,但在正式使用数据库开发与部署的时候还需要做一些工作:
1.设定配置文件my.cnf
按照需求copy my-***.cnf到/etc/my.cnf
2.修改默认字符集utf8
(1).[client]下加入default-character-set=utf8
(2).[mysqld]下加入default-character-set=utf8
#不改动存储引擎的话,3、4步可以略过
3.启动InnoDB引擎的方法如下:
1)关闭mysql的服务
2)修改my.ini
将default-storage-engine=INNODB前的注释(#)去掉
将skip-innodb这行注释(加上#)
4.配置innodb参数
1).找到# Uncomment the following if you are using InnoDB tables
去掉innodb_*下的所有#
2).如果安装mysql的目录不是默认的,则需要修改
# mysql 默认安装目录为 /usr/local/mysql/
# mysql 默认表空间目录安装目录为 /usr/local/mysql/var/
innodb_data_home_dir=/usr/local/database/mysql/var/
innodb_log_group_home_dir=/usr/local/database/mysql/var/
3).保存后重启mysql服务。
5.设置系统服务
让linux启动的时候就启动mysql服务
shell> cd /usr/local/mysql/
shell> cp support-files/mysql.server /etc/init.d/mysql
shell> chmod 777 /etc/init.d/mysql
shell> chkconfig --add mysql
shell> chkconfig --level 35 mysql on
6.重启MySQL服务
shell> service mysql restart
有话好说,以下是CentOS Linux 5的配置经验:
添加mysql帐号
groupadd mysql
useradd -r -g mysql mysql
编译必需先安装
cmake-2.8.4 和 bison-2.4.3
安装成功后解压mysql-5.5.15.tar.gz:
在源码根目录打开终端输入以下配置参数并回车
cmake -DCMAKE_INSTALL_PREFIX=/etc/mysql \
-DMYSQL_UNIX_ADDR=/etc/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS:STRING=utf8,gbk \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_DATADIR=/var/mysql/data \
-DMYSQL_USER=mysql
成功执行以下命令后在最后会见到 (/root/Desktop/是你的源码目录,视你的情况定)
-- Build files have been written to: /root/Desktop/mysql-5.5.15
运行make安装:
make
make install
以下步骤就不一一解说了:
cd /mysql/mysql
chown -R mysql:mysql .
scripts/mysql_install_db --user=mysql
chown -R root .
chown -R mysql data
cp ./support-files/my-small.cnf ./my.cnf
cp support-files/mysql.server mysql; chmod +x mysql
chown -R mysql:root .
./mysql start
./bin/mysqladmin -u root -p 123456
添加开机启动服务
chkconfig --add mysql
chkconfig mysql on
service mysql start
顺利的话到这里完成了,祝你成功。
为了安全。。这样做的好处是,当别人黑了你的数据库的时候,只能得到系统的mysql权限,还得不到整个root的权限。。这样。。就安全多了。。不仅仅是mysql,像apache,等很多软件都有这样的设置。。说明这样的软件是好软件。。