导航
导航
文章目录
  1. 一、准备工作
    1. 1.1、MySQL版本介绍
    2. 1.2、下载二进制分发版
  2. 二、MySQL安装过程
    1. 2.1、添加用户和组
    2. 2.2、解压到指定目录
    3. 2.3、屏蔽旧配置文件 (如果有)
    4. 2.4、更改权限
    5. 2.5、初始化授权表
    6. 2.6、更改数据目录权限
    7. 2.7、复制配置文件
    8. 2.8、建立软链接
    9. 2.9、启动MySQL服务
  3. 三、安装后测试与启动
  4. 3.1、检查MySQL服务
    1. 3.2、自动启动和停止MySQL
  5. 3.3、启动、停止、重启
    1. 3.3.1、MySQL 启动方法
    2. 3.3.2、MySQL 停止方法
    3. 3.3.3、MySQL 重启方法
  6. 四、MySQL账户安全设置
    1. 4.1、检测MySQL账户情况
    2. 4.2、设置root账户密码
      1. 4.2.1、使用mysqladmin设置密码
      2. 4.2.2、使用SET PASSWORD设置密码(推荐)
    3. 4.3、删除匿名帐户
  7. 五、MySQL 相关设置
    1. 5.1、MySQL字符集
  8. 六、结语

Linux 从二进制版安装 MySQL 5

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

一、准备工作

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/
wget ftp://mirror.csclub.uwaterloo.ca/mysql/Downloads/MySQL-5.1/mysql-5.1.53-linux-i686-glibc23.tar.gz

二、MySQL安装过程

2.1、添加用户和组

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

groupadd mysql
useradd -r -g mysql mysql

2.2、解压到指定目录

tar -zxf mysql-5.1.53-linux-i686-glibc23.tar.gz -C /usr/local/
mv /usr/local/mysql-5.1.53-linux-i686-glibc23 /usr/local/mysql
cd /usr/local/mysql/

2.3、屏蔽旧配置文件 (如果有)

mv /etc/mysql/my.cnf /etc/mysql/my.cnf.bak

2.4、更改权限

chown -R mysql .
chgrp -R mysql .

2.5、初始化授权表

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

scripts/mysql_install_db --user=mysql

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

2.6、更改数据目录权限

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

chown -R root .
chown -R mysql data

2.7、复制配置文件

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

mkdir /etc/mysql
cp support-files/my-medium.cnf /etc/mysql/my.cnf

2.8、建立软链接

将 “/usr/local/mysql/bin” 路径加入系统变量中,即直接编辑/etc/environment文件,或者新建软链接。

ln -s /usr/local/mysql/bin/mysqld_safe /usr/local/bin
ln -s /usr/local/mysql/bin/mysqladmin /usr/local/bin
ln -s /usr/local/mysql/bin/mysql /usr/local/bin

2.9、启动MySQL服务

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

bin/mysqld_safe --user=mysql &

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

三、安装后测试与启动

3.1、检查MySQL服务

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

bin/mysqladmin version //检查服务器版本
bin/mysqlshow //列出所有数据库
bin/mysqlshow mysql //列出mysql数据库中的所有表

Ubuntu 中还可以使用检查进程的方法,查看MySQL是否启动

ps -A | grep mysql //查看mysql是否已经后台运行
kill -9 进程号 //强制杀死进程

3.2、自动启动和停止MySQL

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

cp support-files/mysql.server /etc/init.d/mysql
update-rc.d mysql defaults

3.3、启动、停止、重启

3.3.1、MySQL 启动方法

  • 使用 service 启动:service mysql start
  • 使用 mysqld 脚本启动:/etc/init.d/mysql start
  • 使用 safe_mysqld 启动:/usr/local/mysql/bin/mysqld_safe –user=mysql &

3.3.2、MySQL 停止方法

  • 使用 service 停止:service mysql stop
  • 使用 mysqld 脚本停止:/etc/init.d/mysql stop
  • 使用 mysqladmin 停止:/usr/local/mysql/bin/mysqladmin -u root -p shutdown

3.3.3、MySQL 重启方法

  • 使用 service 重启:service mysql restart
  • 使用 mysqld 脚本停止:/etc/init.d/mysql restart

四、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 相关设置

5.1、MySQL字符集

MySQL二进制分发版用”–with-extra-charsets=complex”编译而成,因此可以处理latin1和所有多字节二进制字符集,所以一般不需要强制客户端或服务端使用专用字符集。(中文手册:MySQL本地化和国际应用

查看MySQL当前字符集

/usr/local/mysql/bin/mysql -u root -p
mysql>show variables like 'char%';

设置client和mysqld默认字符集

vim /etc/mysql/my.cnf
在[client]和[mysql]后面添加
default-character-set=utf8

重启mysql

六、结语

结束了…被折腾了一整天,最大的感悟是:学习MySQL,神马Google搜索、百度一下都是浮云,最好得老师是英文官方手册《MySQL 5.1 Reference Manual》中文版(较旧)

==
补充内容:

1、补充了3.3(启动、停止、重启),5.1(MySQL字符集)【2010.11.23】

支持一下
扫一扫,支持一下