如何在Unix系统环境下安装MySQL数据库
作者:罗丽娜 发布时间:2009-01-04 13:09:00
安装时建议你为MySQL管理创建一个用户和组。由该组用户运行mysql服务器并执行管理任务。(也可以以root身份运行服务器,但是不推荐)
第一步创建一个用户来运行服务器。在Solaris和unix下,可以用useradd和groupadd使用工具来完成。取一个名字叫mysql吧。(当然,任何你喜欢的id都可以)所以在做其它事情之前,利用su命令成为root:
$ su - root
$ groupadd mysql
$ useradd -g mysql mysql
选择要安装mysql软件的位置,并将当前目录转换到该目录。一般的,将安装到/usr/local,这是MySQL软件的标准安装位置。现在进去,
$ cd /usr/local
解开软件包:
$ gunzip -c /tmp/mysql -3.23.xx.tar.gz | tar -xf -
因为要安装在Solaris服务器上,所以如果安装的是不同版本的tar,例如GNU的tar,则上面的命令将不会起作用。这是要用下面的命令:
$ gunzip -c /tmp/mysql -3.23.xx.tar.gz | gtar -xf -
现在可以查看一下新目录,看是否存在
$ ls -ld mysql*
total 1
drwxr-xr-x 28 user user 1024 Jul 18 14:29 mysql-3.23.x/
下一步是创建一个符号链接,以便安装能够指向/usr/local/mysql:
$ ln -s mysql-3.23.x mysql
$ ls -ld mysql*
就会出现表示连接成功的行来。按照上帖软件安装好后,还有几项配置任务要完成。运行scripts/mysql_install_db创建MySQL许可表:
$ scripts/mysql_install_db
Preparing db talbe
Preparing host table
Preparing user table
Preparing func table
Preparing tables_priv table
Preparing columns_priv table
Installing all prepared tables
010726 19:40:05 ./bin/mysqld: Shutdown Complete
设置二进制文件的所有权,从而使之归root所有,并属于前面创建的MySQL
管理员组(这个例子为mysql)
$ chown -R root /usr/local/mysql
$ chgrp -R mysql /usr/local/mysql
将数据目录的所有权设置为先前创建的MySQL管理用户
$ chown -R mysql /usr/local/mysql/data
所有权设置完成
启动服务器需运行safe_mysqld:
$ bin/safe_mysqld --usr=mysql &
一般要让MySQL在服务器引导时就运行。为此,可以将support-files/mysql.server复制到系统适当的位置就ok了。
为了确保MySQL能正常工作,需要运行一些简单的测试. 如果输出结果: BINDIR = /usr/local/mysql/bin,就证明MySQL工作正常. BINDIR 的值与上面选择的prefix 选项有关。
--------------------------------------------------------------------------------
# BINDIR/mysqlshow -p
+---------------+
| Databases |
+---------------+
| mysql |
+---------------+
--------------------------------------------------------------------------------
一旦你安装了MySQL, 它将会自动生成两个数据库。一个用于管理用户、主机和服务器数据库权限。另一个是测试数据库(test database)。我们可以使用测试数据库。 但是,我们想简单快捷的向你介绍MySQL中一些可使用的指令的概貌。这还可以确保 root 被设置为能够完全访问服务器,例如: root可以允许创建数据库、表单等.. 所以我们将创建一个test2数据库用于以后的测试。在通过指令进入MySQL前,系统将提示输入新创建的root口令。 应该记得你已改过 root的口令了。
--------------------------------------------------------------------------------
# mysql -u root -p
mysql> show databases;
+----------------+
| Database |
+----------------+
| mysql |
| test |
+----------------+
mysql> create database test2;
Query OK, 1 row affected (0.00 sec)
--------------------------------------------------------------------------------
按照下面两段代码,选择使用新的数据库,并创建一个名称为tst_tbl的表, 它有两个字段。第一个字段(field 1)为id 字段,通过它可以看到记录的id号。从本质上看,这只是一列纯数字。第二个字段为名称字段,在其中可以存储书的名称。这些字段的格式为: field 1 (id) 为长度为3的整数型(int), field 2 (name)为长度为50的字符串型(char)。 我们对id的赋值可以对数据查找和标引。
--------------------------------------------------------------------------------
mysql> use test2;
Database changed
mysql> CREATE TABLE books ( id int(3) not null
-> auto_increment, name char(50) not null,
-> unique(id), primary key(id));
Query OK, 0 rows affected (0.00 sec)
--------------------------------------------------------------------------------
现在用下面命令检查库是否正确。
--------------------------------------------------------------------------------
mysql> show tables;
+---------------------+
| Tables in test2 |
+---------------------+
| books |
+---------------------+
1 row in set (0.00 sec)
mysql> describe books;
+-------+-------------+------+------+----------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+------+----------+----------------+
| id | int(3) | | PRI | 0 | auto_increment |
| name | char(50) | |
+-------+-------------+------+------+----------+----------------+
2 rows in set (0.00 sec)
--------------------------------------------------------------------------------
注意:describe指令基本描绘出表的布局。
OK, 下面介绍一些真正有用的SQL指令:如何在数据库中插入和选择数据。现在可以向新建表中加入几条记录。
--------------------------------------------------------------------------------
mysql> INSERT INTO books (name) values(PHP 4 Newbies);
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO books (name) values(Red Hat Linux 6 Server);
Query OK, 1 row affected (0.00 sec)
--------------------------------------------------------------------------------
现在检查一下新的记录,并熟悉一下select指令。
-------------------------------------------------------------------------------
mysql> SELECT * from books;
+----+----------------------------------+
| id | name |
+----+----------------------------------+
| 1 | PHP for Newbies |
| 2 | Red Hat Linux 6 Server |
+----+----------------------------------+
2 rows in set (0.00 sec)
--------------------------------------------------------------------------------
这样MySQL服务器的就已经能正常运行了。我们可以继续增加记录,但是在此就没有更多意义了。
注意:当你向数据库插入记录时,不必指定id。这是因为你创建id 字段有自动增加的选项。
下面介绍如何进行快速删除。这只是给你一个简单信息,记住你可以在mysql web站点http://www.mysql.com找到所有你所想要的mysql指令和服务器的信息。
--------------------------------------------------------------------------------
mysql> delete from books where id=1;
Query OK, 1 row affected (0.00 sec)
mysql> select * from books;
+----+-----------------------------------+
| id | name |
+----+-----------------------------------+
| 2 | Red Hat Linux 6 Server |
+----+-----------------------------------+
1 row in set (0.00 sec)


猜你喜欢
- 写在前面的话作为有个 Python 菜逼,之前一直用的 Pycharm,但是在主题这一块怎么调整都感觉要么太骚,看起来不舒服,要么就是简直不
- 本文实例讲述了Python3.4解释器用法。分享给大家供大家参考,具体如下:Linux/Unix的系统上,Python解释器通常被安装在 /
- 将一个四位数反向输出massage = '''将一个四位数,反向输出'''N = input
- array和asarray都可以将结构数据转化为ndarray,但是主要区别就是当数据源是ndarray时,array仍然会copy出一个副
- python的numpy 能生成一定概率分布的随机数,但如果需要更具体的概率密度,累积概率,就要使用scipy.stats。scipy.st
- 背景开工前我就觉得有什么不太对劲,感觉要背锅。这可不,上班第三天就捅锅了。我们有个了不起的后台程序,可以动态加载模块,并以线程方式运行,通过
- 安装Scrapy的安装很简单,官方文档也有详细的说明 http://scrapy-chs.readthedocs.io/zh_CN/0.24
- 引言手机中拍摄照的照片和视频快爆了,想转移到PC端,并按时间建立文件夹存储到电脑中,本文主要介绍如何通过python获取手机拍摄图片的时间信
- 统计分析常常会出错、存在偏见或过于狭隘。数字崇拜者常因专注于统计分析而把可用性研究引入歧途。强调洞察力和定性研究更为重要。用户研究有两种类型
- 本文列举了所有关于PHP语言中使用socket相关服务的一些函数。注意使用如下函数之前,你需要确保你的socket已打开,如果你没有打开,请
- 安装需要的包1 第一步:全文检索不同于特定字段的模糊查询,使用全文检索的效率更高,并且能够对于中文进行分词处理。haystack:全文检索的
- 以下以 IE 代替 Internet Explorer,以 MF 代替 
- python方法实现字符串反转方法一:反转列表法Python中,列表可以进行反转,我们只要把字符串转换成列表,使用reverse()方法,进
- 如何准确获知对方来访问的时间和URL?代码如下:logfile.asp<%Dim ValidLog '&n
- 最近因为编程,需要大量地看一些说明文档,无奈说明文档都是英文的,可把我这个半桶水折腾死了,太多词汇不知道,一个个复制翻译太麻烦了。于是我根据
- 最近在开发中用到了vue3的defineProps、defineEmits和defineExpose,感觉发现新大陆一般,所以利用闲碎时间对
- 本文实例讲述了Python实现的计算器功能。分享给大家供大家参考,具体如下:源码:# -*- coding:utf-8 -*-#! pyth
- SQL Server中包含多种不同类型的页,来满足数据存储的需求。不管是什么类型的页,它们的存储结构都是相同的。每个数据文件都包含相当数量的
- 现在做的一个小项目需要用到python的相关知识,但是因为太久没用一些东西都忘掉了,因此在本篇博客中记录一下python的函数和类的基础知识
- 先来看看python的版本: >>> import sys >>> sys.version &a