您的位置:首页 > 运维架构 > Linux

在 Linux 系统中安装 MySQL 数据库

2017-08-16 01:04 337 查看
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


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. 其它还有一大堆命令,这里写了几个最最基本的,大家共勉~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息