Ubuntu下从二进制版安装MySQL 5.1

Web、Mail、Ftp、DNS、Proxy、VPN、Samba、LDAP 等基础网络服务
回复
WangYan
帖子: 2
注册时间: 2009-05-19 23:52
送出感谢: 0
接收感谢: 0

Ubuntu下从二进制版安装MySQL 5.1

#1

帖子 WangYan » 2010-11-01 18:17

本文是Ubuntu下LAMP环境搭建笔记第二篇(MySQ二进制篇)。MySQL、Sql Server、Oracle是三大主流数据库,MySQL也是LAMP安装配置中难度较大的,详细使用指南见英文官方手册《MySQL 5.1 Reference Manual》,选择二进制分发版,可以避免很多错误的出现,性能方面也比自己源码编译要强。

一、准备工作

1.1、MySQL版本介绍

MySQL 官方放出的版本比较多,但没有针对 ubuntu 的版本,所以只能选择二进制分发版和源码分发版,前者已经编译并经过优化了,后者没有。

MySQL 二进制分发版的文件名格式为 mysql-VERSION-OS.tar.gz,其中 VERSION 是版本号(例如,5.1.51),OS表示分发版安装的操作系统类型(例如,linux-i686)。

1.2、下载二进制分发版

1. 系统环境:Ubuntu 10.10
2. 下载地址:http://dev.mysql.com/downloads/
3. 最新稳定版:mysql-5.1.51-linux-i686-glibc23.tar.gz

二、MySQL安装过程

2.1、添加用户和组

创建mysql组和mysql用户,该用户只需要在系统中存在,不需要登录,所以添加了 -r 选项。

代码: 全选

sudo groupadd mysql
sudo useradd -r -g mysql mysql
2.2、解压到指定目录

代码: 全选

sudo tar -zxf mysql-5.1.51-linux-i686-glibc23.tar.gz -C /usr/local/
sudo mv /usr/local/mysql-5.1.51-linux-i686-glibc23 /usr/local/mysql
cd /usr/local/mysql/
2.3、屏蔽旧配置文件 (非常重要!!)

代码: 全选

sudo mv /etc/mysql/my.cnf /etc/mysql/my.cnf.bak
2.4、更改权限

代码: 全选

sudo chown -R mysql .
sudo chgrp -R mysql .
2.5、初始化授权表

安装MySQL之前,必须创建 MySQL 数据目录和初始化授权表,授权表定义了初始 MySQL 用户账户和访问权限。(了解更多

代码: 全选

sudo scripts/mysql_install_db --user=mysql
这一步可能出现很多错误,当出现错误后,删除date数据目录,重新再来,直到出现如下图提示。

图片

2.6、更改数据目录权限

初始化授权表后会产生 date 目录,该目录所有者必须改为 mysql。

代码: 全选

sudo chown -R root .
sudo chown -R mysql data
2.7、复制配置文件

如果你不复制,MySQL 服务器将使用默认设置。

代码: 全选

sudo cp support-files/my-medium.cnf /etc/mysql/my.cnf
2.8、启动MySQL服务

mysqld_safe 是用来启动MySQL服务的,它比 mysqld 多了一些安全特性(关于mysqld_safe),mysqld_safe 的许多选项与mysqld的相同(关于 mysqld 命令行选项

代码: 全选

sudo bin/mysqld_safe --user=mysql &
注意:user参数和&符号必不可少,如果出现问题,见启动故障诊断和排除,直到如下图所示。

图片

三、安装后测试与启动

3.1、检查MySQL服务

首先确保MySQL服务已启动,方法见上面第二8条,能否成功启动关键在于mysql_install_db初始化授权表是否顺利,然后使用mysqladmin来验证MySQL服务。

代码: 全选

bin/mysqladmin version //检查服务器版本
bin/mysqladmin -u root shutdown //关闭服务器
sudo bin/mysqld_safe --user=mysql --log & //启动服务器(不要漏了--log)
bin/mysqlshow //列出所有数据库
bin/mysqlshow mysql //列出mysql数据库中的所有表
Ubuntu 中还可以使用检查进程的方法,查看MySQL是否启动

代码: 全选

ps -A | grep mysql //查看mysql是否已经后台运行
kill -9 进程号 //强制杀死进程
3.2、自动启动和停止MySQL

关于Ubuntu自动启动见《Ubuntu系统update-rc.d命令详解》,官方文档见自动启动和停止 MySQL

代码: 全选

sudo cp support-files/mysql.server /etc/init.d/mysql
cd /etc/init.d
sudo chmod +x /etc/init.d/mysql
sudo update-rc.d mysql defaults
四、MySQL账户安全设置

官方文档见 Securing the Initial MySQL Accounts使初始MySQL账户安全),简单来说就是修改匿名账户密码或者删除,设置root账户密码。

4.1、检测MySQL账户情况

代码: 全选

cd /usr/local/mysql/
bin/mysql -u root -p
mysql>SELECT User, Host, Password FROM mysql.user;
图片

4.2、设置root账户密码

方法有三种,分别是:使用SET PASSWORD语句、使用UPDATE语句、使用mysqladmin命令行客户端程序。建议使用SET PASSWORD语句,因为mysqladmin虽然简单,但是是只能为localhost主机设置密码。

4.2.1、使用mysqladmin设置密码

代码: 全选

格式:mysqladmin -u 用户名 -p  password 新密码
注:因为开始时root没有密码,所以-p一项就可以省略了。

代码: 全选

cd /usr/local/mysql/
bin/mysqladmin -u root -p password "123456"
4.2.2、使用SET PASSWORD设置密码(推荐)

代码: 全选

cd /usr/local/mysql/
bin/mysql -u root -p
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456');
mysql> SET PASSWORD FOR 'root'@'127.0.0.1' = PASSWORD('123456');
mysql> SET PASSWORD FOR 'root'@'ubuntu' = PASSWORD('123456'); //ubuntu换为你的主机名
图片

4.3、删除匿名帐户

代码: 全选

cd /usr/local/mysql/
bin/mysql -u root -p
mysql> DROP USER ''@'localhost';
mysql> DROP USER ''@'ubuntu'; //ubuntu换为你的主机名
五、结语

结束了...被折腾了一整天,最大的感悟是:学习MySQL,神马Google搜索、百度一下都是浮云,最好得老师是英文官方手册《MySQL 5.1 Reference Manual》中文版(较旧)),网络那些不加验证的转载切莫再浏览!

原文地址:Via
头像
退避九舍
帖子: 741
注册时间: 2010-08-08 20:02
系统: Ubuntu 12.04
送出感谢: 0
接收感谢: 1 次

Re: Ubuntu下从二进制版安装MySQL 5.1

#2

帖子 退避九舍 » 2010-11-01 20:31

:em06 :em06 :em06
我直接 sudo apt-get install mysql-server
退避九舍:富贵不能淫,贫贱不能移,威武不能屈:坚持ubuntu不动摇!
wussrc
帖子: 8
注册时间: 2011-06-26 10:31
送出感谢: 1 次
接收感谢: 0

Re: Ubuntu下从二进制版安装MySQL 5.1

#3

帖子 wussrc » 2011-09-15 21:15

不错的文章,linux尤其是ubuntu下玩mysql实在是有点郁闷。
折腾了好久
taotanty
帖子: 1
注册时间: 2011-04-06 18:08
送出感谢: 0
接收感谢: 0

Re: Ubuntu下从二进制版安装MySQL 5.1

#4

帖子 taotanty » 2011-12-27 16:27

楼主神贴啊,我看了很多网上的关于MySQL的帖子,都说不清楚,MySQL官网上太复杂,也没有找到好的解决方法,特别是关于初始化授权表错误太多了。看到这里我才明白这里的错误可以解决啊。我安装的二进制版5.5.19 ubuntu 11.10
:em09
XieMichel
帖子: 2
注册时间: 2012-01-27 20:33
送出感谢: 0
接收感谢: 0

Re: Ubuntu下从二进制版安装MySQL 5.1

#5

帖子 XieMichel » 2012-01-27 20:37

太感谢了,折腾了两天终于搞定了 :em11
mywjch
帖子: 5
注册时间: 2011-04-28 18:26
送出感谢: 0
接收感谢: 0

Re: Ubuntu下从二进制版安装MySQL 5.1

#6

帖子 mywjch » 2012-02-07 22:24

:em11 终于安装成功了(mysql-5.5.20).感谢
回复

回到 “服务器基础应用”