linux数据库安装(linux中怎样安装mysql数据库服务器)
大家好,今天小编来为大家解答linux数据库安装这个问题,linux中怎样安装mysql数据库服务器很多人还不知道,现在让我们一起来看看吧!
linux怎么安装mysql数据库
1.安装MySQL数据库
先从MySQL官网下载MySQL,然后进入所下载的安装文件所在目录,运行如下命令进行安装,其中MySQL-server-community-5.1.56-1.rhel5.i386.rpm为刚刚下载的MySQL数据库服务器的rpm包,然后使用/etc/rc.d/init.d/mysqlrestart命令重启MySQL服务:
[root@localhost~]# rpm-ivh MySQL-server-community-5.1.56-1.rhel5.i386.rpm
[root@localhost~]#/etc/rc.d/init.d/mysql restart
Shutting down MySQL..[确定]
Starting MySQL..[确定]
2.配置MySQL数据库字符集
备注:配置MySQL数据库字符集的目的是方便的使用数据库,无需在每次连接的时候都要临时设置数据库字符集的,个人不建议采用这种方法,真正的工程项目都应该在连接数据库时临时设置数据库字符集,如此才便于系统的移植,而且又不会影响数据库服务器中的其他数据库的使用!
安装完成之后,需要配置MySQL的字符集配置,首先需要查找MySQL的配置文件的位置,由于MySQL的配置文件名是以.cnf结尾的,因此可用如下命令进行查找:
[root@localhost~]# find/-iname'*.cnf'-print
/usr/share/mysql/my-large.cnf
/usr/share/mysql/my-medium.cnf
/usr/share/mysql/my-innodb-heavy-4G.cnf
/usr/share/mysql/my-huge.cnf
/usr/share/mysql/my-small.cnf
/usr/share/doc/MySQL-server-community-5.1.56/my-large.cnf
/usr/share/doc/MySQL-server-community-5.1.56/my-medium.cnf
/usr/share/doc/MySQL-server-community-5.1.56/my-innodb-heavy-4G.cnf
/usr/share/doc/MySQL-server-community-5.1.56/my-huge.cnf
/usr/share/doc/MySQL-server-community-5.1.56/my-small.cnf
/etc/pki/tls/openssl.cnf
输入完命令“find/-iname'*.cnf'-print”回车后,屏幕便显示搜索到的MySQL配置文件,然后拷贝my-large.cnf、my-medium.cnf、my-innodb-heavy-4G.cnf、my-huge.cnf、my-small.cnf中任意的一个到/etc目录下,并命名为my.cnf,其命令如下所示:
[root@localhost~]# cp/usr/share/mysql/my-medium.cnf/etc/my.cnf
[root@localhost~]# vi/etc/my.cnf
然后,使用vi编辑器修改/etc/my.cnf文件,在[client]下添加:“default-character-set=gb2312”;在[mysqld]下添加:“default-character-set=gb2312”。如下所示:
# The following options will be passed to all MySQL clients
[client]
default-character-set=gb2312
#password= your_password
port= 3306
socket=/var/lib/mysql/mysql.sock
# Here follows entries for some specific programs
# The MySQL server
[mysqld]
default-character-set=gb2312
port= 3306
socket=/var/lib/mysql/mysql.sock
skip-locking
key_buffer_size= 16M
max_allowed_packet= 1M
table_open_cache= 64
sort_buffer_size= 512K
net_buffer_length= 8K
按一下Esc键,输入“:wq”后回车保存配置文件,输入“/etc/rc.d/init.d/mysqlrestart”重启MySQL服务,如下所示:
[root@localhost~]#/etc/rc.d/init.d/mysql restart
Shutting down MySQL..[确定]
Starting MySQL..[确定]
最后,我们来验证MySQL服务器配置是否成功,首先登录MySQL,输入“mysql–uroot-p”回车,系统提示输入密码,登录成功后进入MySQL命令模式,如下所示:
[root@localhost~]# mysql-uroot-p
Enter password:
Welcome to the MySQL monitor. Commands end with; or\g.
Your MySQL connection id is 2
Server version: 5.1.56-community-log MySQL Community Server(GPL)
Copyright(c) 2000, 2010, 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>
在MySQL命令模式下分别输入“show variables like'collation_%';”、“show variables like'character_set_%';”回车后显示字符集设置,如下所示:
mysql> show variables like'collation_%';
+----------------------+-------------------+
| Variable_name| Value|
+----------------------+-------------------+
| collation_connection| gb2312_chinese_ci|
| collation_database| gb2312_chinese_ci|
| collation_server| gb2312_chinese_ci|
+----------------------+-------------------+
3 rows in set(0.05 sec)
mysql> show variables like'character_set_%';
+--------------------------+----------------------------+
| Variable_name| Value|
+--------------------------+----------------------------+
| character_set_client| gb2312|
| character_set_connection| gb2312|
| character_set_database| gb2312|
| character_set_filesystem| binary|
| character_set_results| gb2312|
| character_set_server| gb2312|
| character_set_system| utf8|
| character_sets_dir|/usr/share/mysql/charsets/|
+--------------------------+----------------------------+
8 rows in set(0.00 sec)
mysql>
根据以上查询结果可知我们设置的MySQL数据库配置信息已经生效,至此完成MySQL的服务器的安装与配置。
3.关于MySQL数据库的一些注意事项
3.1远程连接mysql速度慢
解决方法:
在MySQL服务器的配置(/etc/my.cnf)中增加一个如下配置后速度飞快。
[mysqld]
skip-name-resolve
备注:这样就能禁用DNS解析,连接速度会快很多。不过,这样的话就不能在MySQL的授权表中使用主机名了而只能用ip格式。
3.2重启数据库后,发现无需密码(或者任何密码)即可以连接
解决方法:
检查你的MySQL配置文件(/etc/my.cnf)中是不是多了一条语句:“skip-grant-tables”,删除(注释)该语句,重新配置MySQL密码,再次重启MySQL服务即可!
备注:若使用skip-grant-tables系统将对任何用户的访问不做任何访问控制,但可以用 mysqladmin flush-privileges或mysqladmin reload来开启访问控制;默认情况是show databases语句对所有用户开放,如果mysql服务器没有开远程帐户,就在/etc/my.cnf里面加上skip-grant-tables。
linux中怎样安装mysql数据库服务器
第一种:直接使用 yum-y install mysql-server
第二种
使用rpm安装Mysql
1、下载MySQL的安装文件
安装MySQL需要下面两个文件:
MySQL-server-4.0.16-0.i386.rpm
MySQL-client-4.0.16-0.i386.rpm
下载地址为:http://dev.mysql.com/downloads/mysql-4.0.html,打开此网页,下拉网页找到“Linux x86 RPM downloads”项,找到“Server”和“Client programs”项,下载需要的上述两个rpm文件。
2、安装MySQL
rpm文件是Red Hat公司开发的软件安装包,rpm可让Linux在安装软件包时免除许多复杂的手续。该命令在安装时常用的参数是–ivh,其中i表示将安装指定的rmp软件包,V表示安装时的详细信息,h表示在安装期间出现“#”符号来显示目前的安装过程。这个符号将持续到安装完成后才停止。
1)安装服务器端
在有两个rmp文件的目录下运行如下命令:
[root@test1 local]# rpm-ivh MySQL-server-4.0.16-0.i386.rpm
显示如下信息。
warning: MySQL-server-4.0.16-0.i386.rpm: V3 DSA signature: NOKEY, key ID 5072e1f5
Preparing...########################################### [100%]
1:MySQL-server########################################### [100%]
。。。。。。(省略显示)
/usr/bin/mysqladmin-u root password'new-password'
/usr/bin/mysqladmin-u root-h test1 password'new-password'
。。。。。。(省略显示)
Starting mysqld daemon with databases from/var/lib/mysql
如出现如上信息,服务端安装完毕。测试是否成功可运行netstat看Mysql端口是否打开,如打开表示服务已经启动,安装成功。Mysql默认的端口是3306。
[root@test1 local]# netstat-nat
Active Internet connections(servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp00 0.0.0.0:3306 0.0.0.0:* LISTEN
上面显示可以看出MySQL服务已经启动。
2)安装客户端
运行如下命令:
[root@test1 local]# rpm-ivh MySQL-client-4.0.16-0.i386.rpm
warning: MySQL-client-4.0.16-0.i386.rpm: V3 DSA signature: NOKEY, key ID 5072e1f5
Preparing...########################################### [100%]
1:MySQL-client########################################### [100%]
显示安装完毕。
用下面的命令连接mysql,测试是否成功。
注:其实也可以下载压缩文件,到本地后直接解压缩即可。
二、登录MySQL
登录MySQL的命令是mysql, mysql的使用语法如下:
mysql [-u username] [-h host] [-p[password]] [dbname]
username与 password分别是 MySQL的用户名与密码,mysql的初始管理帐号是root,没有密码,注意:这个root用户不是Linux的系统用户。MySQL默认用户是root,由于初始没有密码,第一次进时只需键入mysql即可。
[root@test1 local]# mysql
Welcome to the MySQL monitor.Commands end with; or/g.
Your MySQL connection id is 1 to server version: 4.0.16-standard
Type'help;' or'/h' for help. Type'/c' to clear the buffer.
mysql>
出现了“mysql>”提示符,恭喜你,安装成功!
增加了密码后的登录格式如下:
mysql-u root-p
Enter password:(输入密码)
其中-u后跟的是用户名,-p要求输入密码,回车后在输入密码处输入密码。
注意:
1.这个mysql文件在/usr/bin目录下,与后面讲的启动文件/etc/init.d/mysql不是一个文件。
2.如果从本地登录其他主机,则格式如下:
./mysql-u root-p-h 192.168.xx.xx
前面必须加./
三、MySQL的几个重要目录
MySQL安装完成后不象SQL Server默认安装在一个目录,它的数据库文件、配置文件和命令文件分别在不同的目录,了解这些目录非常重要,尤其对于Linux的初学者,因为 Linux本身的目录结构就比较复杂,如果搞不清楚MySQL的安装目录那就无从谈起深入学习。
下面就介绍一下这几个目录。
1、数据库目录
/var/lib/mysql/
2、配置文件
/usr/share/mysql(mysql.server命令及配置文件)
3、相关命令
/usr/bin(mysqladmin mysqldump等命令)
4、启动脚本
/etc/rc.d/init.d/(启动脚本文件mysql的目录)
四、修改登录密码
MySQL默认没有密码,安装完毕增加密码的重要性是不言而喻的。
1、命令
usr/bin/mysqladmin-u root password'new-password'
格式:mysqladmin-u用户名-p旧密码 password新密码
2、例子
例1:给root加个密码123456。
键入以下命令:
[root@test1 local]#/usr/bin/mysqladmin-u root password 123456
注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。
3、测试是否修改成功
1)不用密码登录
[root@test1 local]# mysql
ERROR 1045: Access denied for user:'root@localhost'(Using password: NO)
显示错误,说明密码已经修改。
2)用修改后的密码登录
[root@test1 local]# mysql-u root-p
Enter password:(输入修改后的密码123456)
Welcome to the MySQL monitor.Commands end with; or/g.
Your MySQL connection id is 4 to server version: 4.0.16-standard
Type'help;' or'/h' for help. Type'/c' to clear the buffer.
mysql>
成功!
这是通过mysqladmin命令修改口令,也可通过修改库来更改口令。
五、启动与停止
1、启动
MySQL安装完成后启动文件mysql在/etc/init.d目录下,在需要启动时运行下面命令即可。
[root@test1 init.d]#/etc/init.d/mysql start
2、停止
/usr/bin/mysqladmin-u root-p shutdown
3、自动启动
1)察看mysql是否在自动启动列表中
[root@test1 local]#/sbin/chkconfig–list
2)把MySQL添加到你系统的启动服务组里面去
[root@test1 local]#/sbin/chkconfig– addmysql
3)把MySQL从启动服务组里面删除。
[root@test1 local]#/sbin/chkconfig– delmysql
六、更改MySQL目录
MySQL默认的数据文件存储目录为/var/lib/mysql。假如要把目录移到/home/data下需要进行下面几步:
1、home目录下建立data目录
cd/home
mkdir data
2、把MySQL服务进程停掉:
mysqladmin-u root-p shutdown
3、把/var/lib/mysql整个目录移到/home/data
mv/var/lib/mysql/home/data/
这样就把MySQL的数据文件移动到了/home/data/mysql下
4、找到my.cnf配置文件
如果/etc/目录下没有my.cnf配置文件,请到/usr/share/mysql/下找到*.cnf文件,拷贝其中一个到/etc/并改名为my.cnf)中。命令如下:
[root@test1 mysql]# cp/usr/share/mysql/my-medium.cnf/etc/my.cnf
5、编辑MySQL的配置文件/etc/my.cnf
为保证MySQL能够正常工作,需要指明mysql.sock文件的产生位置。修改socket=/var/lib/mysql/mysql.sock一行中等号右边的值为:/home/mysql/mysql.sock。操作如下:
vi my.cnf(用vi工具编辑my.cnf文件,找到下列数据修改之)
# The MySQL server
[mysqld]
port= 3306
#socket=/var/lib/mysql/mysql.sock(原内容,为了更稳妥用“#”注释此行)
socket=/home/data/mysql/mysql.sock(加上此行)
6、修改MySQL启动脚本/etc/rc.d/init.d/mysql
最后,需要修改MySQL启动脚本/etc/rc.d/init.d/mysql,把其中datadir=/var/lib/mysql一行中,等号右边的路径改成你现在的实际存放路径:home/data/mysql。
[root@test1 etc]# vi/etc/rc.d/init.d/mysql
#datadir=/var/lib/mysql(注释此行)
datadir=/home/data/mysql(加上此行)
7、重新启动MySQL服务
/etc/rc.d/init.d/mysqlstart
或用reboot命令重启Linux
如果工作正常移动就成功了,否则对照前面的7步再检查一下。
七、MySQL的常用操作
注意:MySQL中每个命令后都要以分号;结尾。
1、显示数据库
mysql> show databases;
+----------+
| Database|
+----------+
| mysql|
| test|
+----------+
2 rows in set(0.04 sec)
Mysql刚安装完有两个数据库:mysql和test。mysql库非常重要,它里面有MySQL的系统信息,我们改密码和新增用户,实际上就是用这个库中的相关表进行操作。
2、显示数据库中的表
mysql> use mysql;(打开库,对每个库进行操作就要打开此库)
Database changed
mysql> show tables;
+-----------------+
| Tables_in_mysql|
+-----------------+
| columns_priv|
| db|
| func|
| host|
| tables_priv|
| user|
+-----------------+
6 rows in set(0.01 sec)
3、显示数据表的结构:
describe表名;
4、显示表中的记录:
select* from表名;
例如:显示mysql库中user表中的纪录。所有能对MySQL用户操作的用户都在此表中。
Select* from user;
5、建库:
create database库名;
例如:创建一个名字位aaa的库
mysql> create databases aaa;
6、建表:
use库名;
create table表名(字段设定列表);
例如:在刚创建的aaa库中建立表name,表中有id(序号,自动增长),xm(姓名),xb(性别),csny(出身年月)四个字段
use aaa;
mysql> create table name(id int(3) auto_increment not null primary key, xm char(8),xb char(2),csny date);
可以用describe命令察看刚建立的表结构。
mysql> describe name;
+-------+---------+------+-----+---------+----------------+
| Field| Type| Null| Key| Default| Extra|
+-------+---------+------+-----+---------+----------------+
| id| int(3)|| PRI| NULL| auto_increment|
| xm| char(8)| YES|| NULL||
| xb| char(2)| YES|| NULL||
| csny| date| YES|| NULL||
+-------+---------+------+-----+---------+----------------+
7、增加记录
例如:增加几条相关纪录。
mysql> insert into name values('','张三','男','1971-10-01');
mysql> insert into name values('','白云','女','1972-05-20');
可用select命令来验证结果。
mysql> select* from name;
+----+------+------+------------+
| id| xm| xb| csny|
+----+------+------+------------+
|1|张三|男| 1971-10-01|
|2|白云|女| 1972-05-20|
+----+------+------+------------+
8、修改纪录
例如:将张三的出生年月改为1971-01-10
mysql> update name set csny='1971-01-10' where xm='张三';
9、删除纪录
例如:删除张三的纪录。
mysql> delete from name where xm='张三';
10、删库和删表
drop database库名;
drop table表名;
11.查看mysql版本
在mysql5.0中命令如下:
show variables like'version';
或者:select version();
八、增加MySQL用户
格式:grant select on数据库.* to用户名@登录主机 identified by"密码"
例1、增加一个用户user_1密码为123,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入MySQL,然后键入以下命令:
mysql> grant select,insert,update,delete on*.* to user_1@"%" Identified by"123";
例1、增加的用户是十分危险的,如果知道了user_1的密码,那么他就可以在网上的任何一台电脑上登录你的MySQL数据库并对你的数据为所欲为了,解决办法见例2。
例2、增加一个用户user_2密码为123,让此用户只可以在localhost上登录,并可以对数据库aaa进行查询、插入、修改、删除的操作(localhost指本地主机,即MySQL数据库所在的那台主机),这样用户即使用知道user_2的密码,他也无法从网上直接访问数据库,只能通过 MYSQL主机来操作aaa库。
mysql>grant select,insert,update,delete on aaa.* to user_2@localhost identified by"123";
用新增的用户如果登录不了MySQL,在登录时用如下命令:
mysql-u user_1-p-h 192.168.113.50(-h后跟的是要登录主机的ip地址)
九、备份与恢复
1、备份
例如:将上例创建的aaa库备份到文件back_aaa中
[root@test1 root]# cd/home/data/mysql(进入到库目录,本例库已由val/lib/mysql转到/home/data/mysql,见上述第六部分内容)
[root@test1 mysql]# mysqldump-u root-p--opt aaa> back_aaa
2、恢复
[root@test mysql]# mysql-u root-p ccc< back_aaa
怎样在linux系统上安装mysql数据库
mysql安装前准备
在安装mysql之前需要进行一些准备工作。首先要明确Linux中是否已经安装mysql服务,在不明确的情况下,可以执行以下命令进行确认。
[root@localhost~]#rpm-qmysql
执行命令后的结果如下所示,表明mysql服务没有安装。
[root@localhost~]#rpm-qmysql
packagemysqlisnotinstalled
如果检测到mysql服务没有安装,则需要准备安装mysql服务所需要的RPM包,如下所示:下载地址:http://dev.mysql.com/downloads/mysql/。
MySQL-server-community-5.1.26-0.rhel4.i386.rpm
MySQL-client-community-5.1.26-0.rhel4.i386.rpm
MySQL-shared-community-5.1.26-0.rhel4.i386.rpm
MySQL-devel-community-5.1.26-0.rhel4.i386.rpm
MySQL-test-community-5.1.26-0.rhel4.i386.rpm
MySQL-community-debuginfo-5.1.26-0.rhel4.i386.rpm
mysql安装的详细过程
安装mysql的方法有多种,下面就以RPM包安装和源码安装两种方式为例进行讲解。
1.RPM包安装方式
运行如下命令:
[root@test1local]#rpm-ivhMySQL-server-community-5.1.26-0.rhel4.i386.rpm
Preparing...[100%]
1:MySQL-server[100%]
如上安装其他的5个rpm文件,应该没有什么问题。
2.源码安装方式
要使用源码的方式对mysql数据库进行安装,则需要先从相关网站下载获得相应的mysql安装包文件(mysql-5.0.15.tar.gz),然后进行相关的安装工作,安装的具体步骤如下。
第1步,为“mysqld”服务增添一个登录组和用户名,执行如下命令。
[root@localhost~]#groupaddmysql
[root@localhost~]#useradd-gmysqlmysql
第2步,解压mysql安装包,执行如下命令。
[root@localhost~]#gunzip<mysql-5.0.15.tar.gz|tar-xvf-
[root@localhost~]#cdmysql-5.0.15
第3步,进行相关的配置和编译。
给configure分配可执行文件,执行如下命令。
[root@localhost~]#chmod+xconfigure
改变字符集为GBK[默认字符集为 ISO-8859-1(Latin1)],执行如下命令。
[root@localhost~]#./configure--prefix=/usr/local/mysql--with-charset=gbk
[root@localhost~]#make
第4步,执行如下命令进行安装
[root@localhost~]#makeinstall
另外,如果想安装选项文件,使用当前存在的“support-files”文件夹作为模板,执行如下指令。
[root@localhost~]#cpsupport-files/my-medium.cnf/etc/my.cnf
同时,如果需要让mysql每次开机时自动启动,需要执行如下指令。
[root@localhost~]#cp-rsupport-files/mysql.server/etc/init.d/mysql
[root@localhost~]#cd/etc/rc.d/init.d
[root@localhost~]#chmod+xmysql
[root@localhost~]#sbin/chkconfig--delmysql
[root@localhost~]#sbin/chkconfig--addmysql
第5步,执行以下命令进行安装目录。
[root@localhost~]#cd/usr/local/mysql
第6步,将程序的所有权限授给“root”,并且把数据目录的所有授权给可以进行“mysqld”的用户,假设mysql的安装目录为“/usr/local/mysql”,执行以下命令。
首先把文件拥有权授给“root”,执行如下命令。
[root@localhost~]#chown-Rroot
然后把数据目录拥护权授给“mysql”用户,执行如下命令。
[root@localhost~]#chown-Rmysqlvar
最后把组的权限授给“mysql”组,执行如下命令。
[root@localhost~]#chgrp-Rmysql
第7步,所有的配置完成后,执行以下命令测试并运行mysql
[root@localhost~]#/usr/local/mysql/bin/mysqld_safe--user=mysql&
[root@localhost~]#servicemysqlstart
第8步,测试一切正常后,为了安全起见,最好更改管理员的密码。可以运行mysqladmin,执行如下命令。
[root@localhost~]#cdbin
[root@localhost~]#./mysqladmin-urootpassword******
第9步,允许其他用户访问本机,执行以下命令。
[root@localhost~]#./mysqladmin-uroot-pmysql
第10步,修改mysql数据库端口号,执行如下命令。
[root@localhost~]#vi/etc/my.cnf
第11步,重启应用,执行如下命令。
[root@localhost~]#servicemysqlrestart
以上mysql安装方式都稍显复杂,建议在“软件包管理者”窗口中进行安装。
好了,文章到此结束,希望可以帮助到大家。