ubuntu12.04安装mysql5.5.20(源码编译安装)

来源:互联网 发布:单片机控制电机正反转 编辑:程序博客网 时间:2024/05/17 09:11

原文出处:http://www.itokit.com/2011/1221/72840.html 做少量补充。


本文将介绍源码编译安装mysql5.5.20

下载源码包,可以去:http://download.chinaunix.net/download/0008000/7159.shtml

在安装之前,因该先安装cmake和ncurses-dev包,可以用下面的命令安装

mysql5.5以上的版本要用cmake编译:

#apt-get install cmake

#apt-get install ncurses-dev

(注意:ubuntu 下ncurses-dev的名字不是这个,一般你输入上面的命令后,它会自动搜索,

如果提示找不到,就直接使用命令:# apt-get install libncursesw5-dev)

1.1 解压mysql5.5.20并进入解压出来的那个目录:(解压在任何地方都可以,不影响安装目录,因为在编译的时候我们指定连安装目录)

#tar -xzvf mysql-5.5.20.tar.gz

#cd mysql-5.5.20

1.2 创建mysql安装目录  
[root@localhost mysql-5.5.20]# mkdir -p /usr/local /mysql/


1.3 创建数据存放目录
[root@localhost mysql-5.5.20]# mkdir -p /data/mysql/


1.4 创建用户和用户组与赋予数据存放目录权限
[root@localhost mysql-5.5.20]# groupadd mysql


[root@localhost mysql-5.5.20]# useradd -g mysql mysql


[root@localhost mysql-5.5.20]# chown mysql.mysql -R /data/mysql/


1.5 安装cmake(这一步是原文的步骤,上面我们已经通过命令安装cmake,如果命令安装提示找不到源码包,

则一般更新一下源,不然就用下面的方法编译安装cmake了)



下载解压cmake-2.8.4.tar.gz


[root@localhost mysql-5.5.20]# wget http://www.cmake.org/files/v2.8/cmake-2.8.4.tar.gz


//文件在//192.168.10.250 /cgroup/soft/mysql


[root@localhost mysql-5.5.20]# tar zxvf cmake-2.8.4.tar.gz


[root@localhost mysql-5.5.20]# cd cmake-2.8.4


[root@localhost mysql-5.5.20]#./configure


[root@localhost mysql-5.5.20]# make && make install


/**


 *如果你的系统没有安装C++编译器,则会提示找不到编译器。需要 apt-get install g++


 **/



1.6 安装mysql 5.5.20(如果上面你没有下载mysql的源码包,则通过这步下载解压,不然跳过这步)
[root@localhost mysql-5.5.20]#wget http://mirrors.sohu.com/mysql/MySQL-5.5/mysql-5.5.20.tar.gz


//文件在//192.168.10.250 /cgroup/soft/mysql


[root@localhost down]# tar zxvf mysql-5.5.20.tar.gz


[root@localhost down]# cd mysql-5.5.20


1.7 编译mysql-5.5.20
[root@localhost mysql-5.5.20]#cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/data/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=/data/mysql \
-DMYSQL_USER=mysql \
-DMYSQL_TCP_PORT=3306


 


上面的命令一次拷进命令行。

如果cmake没有报错,进行下面的步骤



[root@host mysql-5.5.11]# make


[root@host mysql-5.5.11]# make install


1.8 复制配置文件
  [root@mysql-5.5.11]# cp support-files/my-medium.cnf /etc/my.cnf


1.9 初始化数据库
(执行前 需要chmod 755 scripts/mysql_install_db 赋给文件执行权限)


[root@localhost mysql-5.5.20]#scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/


注:#basedir mysql安装路径 datadir 数据库文件储存路径


1.10 设置mysqld的开机启动:
[root@mysql-5.5.11]# cp support-files/mysql.server /etc/init.d/mysql


[root@mysql-5.5.11]# chmod 755 /etc/init.d/mysql


chkconfig mysql on


1.11 配置环境
为了方便,将mysql 的bin目录加到PATH中,在/etc/profile中加入myslq/bin,顺便增加两个别名方便操作:


export PATH=/usr/local/mysql/bin:$PATH


开关客户端


alias mysql_start="mysqld_safe&"


alias mysql_stop="mysqladmin -uroot -p shutdown"


1.12 启动mysql服务
[root@localhost mysql-5.5.20]# /etc/init.d/mysql start //服务器端开关


启动完成之后用ps -ef |grep mysql 命令查看是否启动


[root@localhost mysql-5.5.20]#/mysql –u root –p //client开关参照1.11一文


2 标准的mysql安装设置
 


2.1 设置root帐户的密码
[root@localhost mysql-5.5.20]#mysqladmin -u root password 'yourpassword'


2.2 删除本机匿名连接的空密码帐号
本机登录mysql


[root@localhost mysql-5.5.20]#mysql –u root -p
然后输入上面设置的密码,登录后在mysql的命令行中执行:


mysql>use mysql; //选择默认数据库mysql


mysql>update user set password=’root’ where user = '127.0.0.1';


mysql>delete from user where password="";//不允许root密码为空


mysql>flush privileges;


mysql>quit


容许root用户是远程登录


对于root账号,如果考虑安全应该新建其他账号用于远程登录,root账号可以不必开启远程登录。不过对于一般使用,没有太多安全需求,允许root用户远程登录可以方便管理,毕竟使用专用管理软件的图形界面在操作方面要方便的多。


  


3 实现MySQL远程连接的实际操作流程
 


3.1 mysql 数据库端设置
[root@localhost mysql-5.5.20]#/mysql –u root –p //进入数据库


mysql>use mysql


mysql>select user,password,host from user;


mysql>update user set host = '192.168.%' where user = '127.0.0.1';


mysql>grant all privileges on *.* to root@'%' identified by "root";//给以root@ip登录的远程连接赋予权限,能够连接数据库。远程无法连接的常见问题原因。


并把远程登录用户的密码设置为root


mysql> flush privileges;


mysql>quit


3.2 mysql Windows客户端
下载客户端


http://js.newhua.com/down/files/mysql-gui-tools-5.0-r17-win32.zip


mysql官方GUI


设置用户名root 密码为root //上面刚设置好的密码