Linux 系统上使用 MySQL 的好处,主要有四点:免费、跨平台、轻巧、多并发,详细的说明大家可以在网上细查,接下来主要谈谈安装。
在 Linux 上安装 MySQL 数据库,可能因为每个人的系统环境不一样,版本不一致等原因,安装中遇到的问题也可能各有不同,在这里,我是在 Win8.1 系统中安装了 VMware 虚拟机,在虚拟机中安装了 Ubuntu14.04 版本,下载地址见官网。
安装步骤详细如下:
1. 从官网上下载自己要安装的 MySQL 版本,这里用的是 mysql-5.6.17-linux-glibc2.5-i686.tar.gz,下载地址在这儿,也可以在百度云管家下载。
2. 下载后的包应该是在 /home/Download 文件夹中,拷贝到 /home 目录下。
- root@ubuntu:/home/tzhuwb/Downloads# ls
- mysql-5.6.17-linux-glibc2.5-i686.tar.gz sogou_pinyin_linux_1.0.0.0024_i386.deb
- root@ubuntu:/home/tzhuwb/Downloads# cp mysql-5.6.17-linux-glibc2.5-i686.tar.gz /home/
3. 进入到 home 目录下,解压缩。
- root@ubuntu:/home/tzhuwb/Downloads# cd /home/
- root@ubuntu:/home# ls
- mysql-5.6.17-linux-glibc2.5-i686.tar.gz tzhuwb
- root@ubuntu:/home# tar -zxvf mysql-5.6.17-linux-glibc2.5-i686.tar.gz
4. 修改解压缩后的目录名为 mysql。
- root@ubuntu:/home# ls
- mysql-5.6.17-linux-glibc2.5-i686 mysql-5.6.17-linux-glibc2.5-i686.tar.gz tzhuwb
- root@ubuntu:/home# mv mysql-5.6.17-linux-glibc2.5-i686 mysql
- root@ubuntu:/home# ls
- mysql mysql-5.6.17-linux-glibc2.5-i686.tar.gz tzhuw
5. 创建 mysql 组。
- root@ubuntu:/home# groupadd mysql
6. 创建 mysql 用户并加入到 mysql 组中。
- root@ubuntu:/home# useradd -g mysql mysql
7. 进入到 mysql 文件夹下,初始化数据。
- root@ubuntu:/home# cd mysql
- root@ubuntu:/home/mysql# ls
- bin data include lib mysql-test scripts sql-bench
- COPYING docs INSTALL-BINARY man README share support-files
- root@ubuntu:/home/mysql$ scripts/mysql_install_db --user=mysql
这里可能会报如下错误:
- Installing MySQL system tables..../bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
解决办法:
- root@ubuntu:/home/mysql$ apt-get install libaio-dev
再次初始化就不报错误啦^ ^
8. 修改文件的所有者为 root。
- root@ubuntu:/home/mysql# ls -l
- total 156
- drwxr-xr-x 2 root root 4096 May 18 10:31 bin
- -rw-r--r-- 1 7161 uucp 17987 Mar 15 03:07 COPYING
- drwxr-xr-x 3 root root 4096 May 18 10:32 data
- drwxr-xr-x 2 root root 4096 May 18 10:31 docs
- drwxr-xr-x 3 root root 4096 May 18 10:31 include
- -rw-r--r-- 1 7161 uucp 89144 Mar 15 03:07 INSTALL-BINARY
- drwxr-xr-x 3 root root 4096 May 18 10:32 lib
- drwxr-xr-x 4 root root 4096 May 18 10:31 man
- drwxr-xr-x 10 root root 4096 May 18 10:31 mysql-test
- -rw-r--r-- 1 7161 uucp 2496 Mar 15 03:07 README
- drwxr-xr-x 2 root root 4096 May 18 10:31 scripts
- drwxr-xr-x 28 root root 4096 May 18 10:32 share
- drwxr-xr-x 4 root root 4096 May 18 10:31 sql-bench
- drwxr-xr-x 3 root root 4096 May 18 10:32 support-files
- root@ubuntu:/home/mysql# chown -R root .
- root@ubuntu:/home/mysql# ls -l
- total 156
- drwxr-xr-x 2 root root 4096 May 18 10:31 bin
- -rw-r--r-- 1 root uucp 17987 Mar 15 03:07 COPYING
- drwxr-xr-x 3 root root 4096 May 18 10:32 data
- drwxr-xr-x 2 root root 4096 May 18 10:31 docs
- drwxr-xr-x 3 root root 4096 May 18 10:31 include
- -rw-r--r-- 1 root uucp 89144 Mar 15 03:07 INSTALL-BINARY
- drwxr-xr-x 3 root root 4096 May 18 10:32 lib
- drwxr-xr-x 4 root root 4096 May 18 10:31 man
- drwxr-xr-x 10 root root 4096 May 18 10:31 mysql-test
- -rw-r--r-- 1 root uucp 2496 Mar 15 03:07 README
- drwxr-xr-x 2 root root 4096 May 18 10:31 scripts
- drwxr-xr-x 28 root root 4096 May 18 10:32 share
- drwxr-xr-x 4 root root 4096 May 18 10:31 sql-bench
- drwxr-xr-x 3 root root 4096 May 18 10:32 support-files
9. 修改 data 文件夹的所有者为 mysql。
- root@ubuntu:/home/mysql# chown -R mysql data
- root@ubuntu:/home/mysql# ls -l
- total 156
- drwxr-xr-x 2 root root 4096 May 18 10:31 bin
- -rw-r--r-- 1 root uucp 17987 Mar 15 03:07 COPYING
- drwxr-xr-x 3 mysql root 4096 May 18 10:32 data
- drwxr-xr-x 2 root root 4096 May 18 10:31 docs
- drwxr-xr-x 3 root root 4096 May 18 10:31 include
- -rw-r--r-- 1 root uucp 89144 Mar 15 03:07 INSTALL-BINARY
- drwxr-xr-x 3 root root 4096 May 18 10:32 lib
- drwxr-xr-x 4 root root 4096 May 18 10:31 man
- drwxr-xr-x 10 root root 4096 May 18 10:31 mysql-test
- -rw-r--r-- 1 root uucp 2496 Mar 15 03:07 README
- drwxr-xr-x 2 root root 4096 May 18 10:31 scripts
- drwxr-xr-x 28 root root 4096 May 18 10:32 share
- drwxr-xr-x 4 root root 4096 May 18 10:31 sql-bench
- drwxr-xr-x 3 root root 4096 May 18 10:32 support-files
10. 改变用户组为 mysql。
- root@ubuntu:/home/mysql# chgrp -R mysql .
- root@ubuntu:/home/mysql# ls -l
- total 156
- drwxr-xr-x 2 root mysql 4096 May 18 10:31 bin
- -rw-r--r-- 1 root mysql 17987 Mar 15 03:07 COPYING
- drwxr-xr-x 3 mysql mysql 4096 May 18 10:32 data
- drwxr-xr-x 2 root mysql 4096 May 18 10:31 docs
- drwxr-xr-x 3 root mysql 4096 May 18 10:31 include
- -rw-r--r-- 1 root mysql 89144 Mar 15 03:07 INSTALL-BINARY
- drwxr-xr-x 3 root mysql 4096 May 18 10:32 lib
- drwxr-xr-x 4 root mysql 4096 May 18 10:31 man
- drwxr-xr-x 10 root mysql 4096 May 18 10:31 mysql-test
- -rw-r--r-- 1 root mysql 2496 Mar 15 03:07 README
- drwxr-xr-x 2 root mysql 4096 May 18 10:31 scripts
- drwxr-xr-x 28 root mysql 4096 May 18 10:32 share
- drwxr-xr-x 4 root mysql 4096 May 18 10:31 sql-bench
- drwxr-xr-x 3 root mysql 4096 May 18 10:32 support-files
11. 启动 mysql。
- root@ubuntu:/home/mysql# bin/mysqld_safe --user=mysql
- 140518 11:39:49 mysqld_safe Logging to '/home/mysql/data/ubuntu.err'.
- 140518 11:39:49 mysqld_safe Starting mysqld daemon with databases from /home/mysql/data
按Ctrl+Z退出。
12. 检查是否已启动 mysql。
- root@ubuntu:/home/mysql# netstat -anp | more
如果能找到下面的服务,说明 mysql 已经启动成功了。
- tcp6 0 0 :::3306 :::* LISTEN 7036/mysqld
13. 使用 mysql,进入 bin 目录中下。
- root@ubuntu:/home/mysql# cd bin/
- root@ubuntu:/home/mysql/bin# ./mysql -u root -p
14. 密码为空,直接回车即可进入 mysql 了,剩下的就是与 DB 相关的命令了。
- Enter password:
- Welcome to the MySQL monitor. Commands end with ; or \g.
- Your MySQL connection id is 2
- Server version: 5.6.17 MySQL Community Server (GPL)
- Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
- Oracle is a registered trademark of Oracle Corporation and/or its
- affiliates. Other names may be trademarks of their respective
- owners.
- Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
- mysql>
15. 查看已有数据库。
- show databases;
16. 创建数据库。
- create database mydb;
17. 进入刚刚创建的数据库。
- use mydb;
18. 查看已有表。
- show tables;
19. 创建表。
- create table users(userid varchar(8), username varchar(20));
20. 向表中插入数据。
- insert into users values(‘01’,’zhangsan’);
21. 查看表中插入的数据。
- select * from users;
22. 显示表结构。
- desc users;
23. 备份数据库。
- .../mysql/bin$ ./mysqldump -u root -p 数据库名 > /home/db_bak
24. 恢复数据库。
- .../mysql/bin$ ./mysql -u root -p 数据库名 < /home/db_bak
注意:如果备份表,则用“数据库名.表名 > 备份文件”。
25. 退出数据库。
- quit
26. 其它还有一大堆命令,这里写了点最基本的,大家共勉~