Linux源码安装mysql 5.6.12 (cmake编译)
1.安装make编译器(默认系统自带)
下载地址:http://www.gnu.org/software/make/
- tar zxvf make-3.82.tar.gz
- cd make-3.82
- ./configure
- make
- make install
- tar zxvf make-3.82.tar.gz
- cd make-3.82
- ./configure
- make
- make install
2.安装bison(最好在编译LAMP前安装好所有基类软件)
下载地址:http://www.gnu.org/software/bison/
- tar zxvf bison-2.5.tar.gz
- cd bison-2.5
- ./configure
- make
- make install
- tar zxvf bison-2.5.tar.gz
- cd bison-2.5
- ./configure
- make
- make install
3.安装gcc-c++
下载地址:http://www.gnu.org/software/gcc/
- tar zxvf gcc-c++-4.4.4.tar.gz
- cd gcc-c++-4.4.4
- ./configure
- make
- make install
- tar zxvf gcc-c++-4.4.4.tar.gz
- cd gcc-c++-4.4.4
- ./configure
- make
- make install
4.安装cmake(请下载最新版本安装)
- tar zxvf cmake-2.8.4.tar.gz
- cd cmake-2.8.4
- ./configure
- make
- make install
- tar zxvf cmake-2.8.4.tar.gz
- cd cmake-2.8.4
- ./configure
- make
- make install
5.安装ncurses
下载地址:http://www.gnu.org/software/ncurses/
- tar zxvf ncurses-5.8.tar.gz
- cd ncurses-5.8
- ./configure
- make
- make install
- tar zxvf ncurses-5.8.tar.gz
- cd ncurses-5.8
- ./configure
- make
- make install
开始安装MySQL,下载地址:http://dev.mysql.com/
这里我在这里下载的mysql-5.6.12.tar.gz
ftp://mirror.switch.ch/mirror/mysql/Downloads/MySQL-5.6/
准备工作
- groupadd mysql
- useradd mysql -g mysql -M -s
/sbin/nologin
#增加一个名为CentOS Mysql的用户。-g:指定新用户所属的用户组(group)
-M:不建立根目录
-s:定义其使用的shell,/sbin/nologin代表用户不能登录系统。
- groupadd mysql
- useradd -r -g mysql mysql
解压并安装MySQL
- tar zxvf mysql-5.6.12.tar.gz
- cd mysql-5.6.12 (以下是一行 这里为了方便大家理解和注释写成换行注释,实际编译中请在换行前 加 "
\ "链接)cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ #安装路径
-DMYSQL_DATADIR=/usr/local/mysql/data \ #数据文件存放位置
-DSYSCONFDIR=/etc \ #my.cnf路径
-DWITH_MYISAM_STORAGE_ENGINE=1 \ #支持MyIASM引擎
-DWITH_INNOBASE_STORAGE_ENGINE=1 \ #支持InnoDB引擎
-DWITH_MEMORY_STORAGE_ENGINE=1 \ #支持Memory引擎
-DWITH_READLINE=1 \ #快捷键功能(我没用过)
-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \ #连接数据库socket路径
-DMYSQL_TCP_PORT=3306 \ #端口
-DENABLED_LOCAL_INFILE=1 \ #允许从本地导入数据
-DWITH_PARTITION_STORAGE_ENGINE=1 \ #安装支持数据库分区
-DEXTRA_CHARSETS=all \ #安装所有的字符集
-DDEFAULT_CHARSET=utf8 \ #默认字符
-DDEFAULT_COLLATION=utf8_general_ci - make
- make install
完成后,继续下面的操作
- cd /usr/local/mysql
- chown -R mysql:mysql .
(为了安全安装完成后请修改权限给root用户)
- scripts/mysql_install_db --user=mysql (先进行这一步再做如下权限的修改)
- chown -R root:mysql . (将权限设置给root用户,并设置给mysql组, 取消其他用户的读写执行权限,仅留给mysql "rx"读执行权限,其他用户无任何权限)
- chown -R mysql:mysql ./data
(给数据库存放目录设置成mysql用户mysql组,并赋予chmod -R ug+rwx
读写执行权限,其他用户权限一律删除仅给mysql用户权限)
- cd /usr/local/mysql
- chown -R mysql .
- chgrp -R mysql .
- scripts/mysql_install_db --user=mysql
- chown -R root .
下面的命令是可选的,将mysql的配置文件拷贝到/etc
- cp support-files/my-medium.cnf /etc/my.cnf (原始老版本是此操作,5.6.12版本的是如下文件地址)
- cp support-files/my-default.cnf
/etc/my.cnf (并给/etc/my.cnf +x权限 同时删除 其他用户的写权限,仅仅留给root 和工作组
rx权限,其他一律删除连rx权限都删除)
- cp support-files/my-medium.cnf /etc/my.cnf
#修改my.cnf配置
vim
/etc/my.cnf
#[mysqld]
添加:
datadir=/data/mysql
default-storage-engine=MyISAM
启动mysql:
- bin/mysqld_safe --user=mysql &
- #启动mysql,看是否成功
- netstat -tnl|grep 3306
- bin/mysqld_safe --user=mysql &
- #启动mysql,看是否成功
- netstat -tnl|grep 3306
上面是一种启动mysql的方法,还有一种简单的方便,如下:
- #将mysql的启动服务添加到系统服务中
- cp support-files/mysql.server /etc/init.d/mysql
- #现在可以使用下面的命令启动mysql
- service mysql start
- #停止mysql服务
- service mysql stop
- #重启mysql服务
- service mysql restart
- #将mysql的启动服务添加到系统服务中
- cp support-files/mysql.server /etc/init.d/mysql.server
- #现在可以使用下面的命令启动mysql
- service mysql.server start
- #停止mysql服务
- service mysql.server stop
- #重启mysql服务
- service mysql.server restart
将mysql服务添加到开机启动项,让mysql服务开机启动
- chkconfig --add mysql
修改默认root账户密码,默认密码为空
修改密码 cd 切换到mysql所在目录
cd /usr/local/mysql
#./bin/mysqladmin -u root password
回车在接下来的提示中设置新密码即可。。
#启动MySQL
/usr/local/mysql/bin/mysqld_safe –defaults-file=/etc/my.cnf
&
#或者
/etc/init.d/mysql start (service mysql start)
#测试MySQL是否启动
#
1)查看是否有进程mysql
ps -ef | grep
mysql
#
2)查看端口是否运行
netstat -tnl | grep
3306
#
3)读取mysql版本信息
mysqladmin version
编译mysql5
代码:
./configure \
–prefix=/usr/local/mysql
\
–localstatedir=/usr/local/mysql/data
\
–with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock
\
–with-extra-charsets=all \
–with-charset=utf8
\
–with-client-ldflags=-all-static \
–with-mysqld-ldflags=-all-static
\
–with-plugins=all \
–with-pthread \
–enable-thread-safe-client
groupadd mysql
useradd -g mysql mysql
cp support-files/my-medium.cnf /etc/my.cnf
在my.cnf里增加user=mysql
代码:
cd /usr/local/mysql
bin/mysql_install_db –user=mysql
chown -R root . ;
chown -R mysql data ;chgrp -R mysql .
bin/mysqld_safe –user=mysql
&
mysqladmin -uroot password ‘new-password’
启动mysql:
代码:
/usr/local/mysql/bin/mysqld_safe &
关闭mysql:
代码:
/usr/local/mysql/bin/mysqladmin shutdown
代码:
cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
可以使用server mysqld restart启动
debian下安装mysql的注意事项–innodb
如果从源代码编译安装mysql,缺省安装时,是没有innodb引擎的.所以,在configure的时候,要加入–with-
plugins=all(或者max),这样才会支持innodb.在mysql里可以执行show
engines命令来查看当前的mysql服务器所支持的存储引擎.
http://www.mysqlperformanceblog.com/…iled-mysql-51/
多线程支持方面只要注意选择–with-pthread和–enable-thread-safe-client选项就可以了。第一项可以指明使用 posix线程(unix的编译方式可能会有些不一样,因为unix的内核线程工作方式与linux线程工作方式有比较大的区别,尤其freebsd)。
my-small.cnf 最小配置安装,内存<=64M,数据数量最少
my-large.cnf
内存=512M
my-medium.cnf
32M<内存<64M,或者内存有128M,但是数据库与web服务器公用内存
my-huge.cnf
1G<内存<2G,服务器主要运行mysql
my-innodb-heavy-4G.cnf 最大配置安装,内存至少4G
代码:
delete from mysql.user where User=”;
delete from mysql.user where
Host=’127.0.0.1′;
delete from mysql.user where
Host=’localhost.localdomain’;
update user set Host=’%‘;
mysql 操作:
查看mysql状态:
/etc/rc.d/init.d/mysqld status
开启mysql
service mysqld start
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。