欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

在 Linux 系统中安装 MySQL 数据库

程序员文章站 2022-03-03 14:48:12
...

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 目录下。

[email protected]:/home/tzhuwb/Downloads# ls
mysql-5.6.17-linux-glibc2.5-i686.tar.gz  sogou_pinyin_linux_1.0.0.0024_i386.deb
[email protected]:/home/tzhuwb/Downloads# cp mysql-5.6.17-linux-glibc2.5-i686.tar.gz /home/

3. 进入到 home 目录下,解压缩。

[email protected]:/home/tzhuwb/Downloads# cd /home/
[email protected]:/home# ls
mysql-5.6.17-linux-glibc2.5-i686.tar.gz  tzhuwb
[email protected]:/home# tar -zxvf mysql-5.6.17-linux-glibc2.5-i686.tar.gz

4. 修改解压缩后的目录名为 mysql。

[email protected]:/home# ls
mysql-5.6.17-linux-glibc2.5-i686  mysql-5.6.17-linux-glibc2.5-i686.tar.gz  tzhuwb
[email protected]:/home# mv mysql-5.6.17-linux-glibc2.5-i686 mysql
[email protected]:/home# ls
mysql  mysql-5.6.17-linux-glibc2.5-i686.tar.gz

5. 创建 mysql 组。

[email protected]:/home# groupadd mysql

6. 创建 mysql 用户并加入到 mysql 组中。

[email protected]:/home# useradd -g mysql mysql

7. 进入到 mysql 文件夹下,初始化数据。

[email protected]:/home# cd mysql
[email protected]:/home/mysql# ls
bin      data  include         lib  mysql-test  scripts  sql-bench
COPYING  docs  INSTALL-BINARY  man  README      share    support-files
[email protected]:/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

解决办法:

[email protected]:/home/mysql$ apt-get install libaio-dev

再次初始化就不报错误了

8. 修改文件的所有者为 root。

[email protected]:/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
[email protected]:/home/mysql# chown -R root .
[email protected]:/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。

[email protected]:/home/mysql# chown -R mysql data
[email protected]:/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。

[email protected]:/home/mysql# chgrp -R mysql .
[email protected]:/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。

[email protected]:/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。

[email protected]:/home/mysql# netstat -anp | more

如果能找到下面的服务,说明 mysql 已经启动成功了。

tcp6 0 0 :::3306 :::* LISTEN 7036/mysqld

13. 使用 mysql,进入 bin 目录中下。

[email protected]:/home/mysql# cd bin/
[email protected]:/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. 其它还有一大堆命令,这里写了几个最最基本的,大家共勉~