linux系统怎么安装mysql数据库
发布时间:2025-05-20 23:18:02 发布人:远客网络
一、linux系统怎么安装mysql数据库
Linux平台上推荐使用RPM包来安装Mysql,MySQL AB提供了以下RPM包的下载地址:
MySQL- MySQL服务器。你需要该选项,除非你只想连接运行在另一台机器上的MySQL服务器。
MySQL-client- MySQL客户端程序,用于连接并操作Mysql服务器。
MySQL-devel-库和包含文件,如果你想要编译其它MySQL客户端,例如Perl模块,则需要安装该RPM包。
MySQL-shared-该软件包包含某些语言和应用程序需要动态装载的共享库(libmysqlclient.so*),使用MySQL。
MySQL-bench- MySQL数据库服务器的基准和性能测试工具。
以下安装Mysql RMP的实例是在SuSE Linux系统上进行,当然该安装步骤也适合应用于其他支持RPM的Linux系统,如:Centos。
使用root用户登陆你的Linux系统。
下载Mysql RPM包,下载地址为:MySQL下载。
通过以下命令执行Mysql安装,rpm包为你下载的rpm包:
[root@host]# rpm-i MySQL-5.0.9-0.i386.rpm
以上安装mysql服务器的过程会创建mysql用户,并创建一个mysql配置文件my.cnf。
你可以在/usr/bin和/usr/sbin中找到所有与MySQL相关的二进制文件。所有数据表和数据库将在/var/lib/mysql目录中创建。
以下是一些mysql可选包的安装过程,你可以根据自己的需要来安装:
[root@host]# rpm-i MySQL-client-5.0.9-0.i386.rpm
[root@host]# rpm-i MySQL-devel-5.0.9-0.i386.rpm
[root@host]# rpm-i MySQL-shared-5.0.9-0.i386.rpm
[root@host]# rpm-i MySQL-bench-5.0.9-0.i386.rpm
二、linux中怎样安装mysql数据库服务器
第一种:直接使用 yum-y install mysql-server
MySQL-server-4.0.16-0.i386.rpm
MySQL-client-4.0.16-0.i386.rpm
下载地址为:,打开此网页,下拉网页找到“Linux x86 RPM downloads”项,找到“Server”和“Client programs”项,下载需要的上述两个rpm文件。
rpm文件是Red Hat公司开发的软件安装包,rpm可让Linux在安装软件包时免除许多复杂的手续。该命令在安装时常用的参数是–ivh,其中i表示将安装指定的rmp软件包,V表示安装时的详细信息,h表示在安装期间出现“#”符号来显示目前的安装过程。这个符号将持续到安装完成后才停止。
在有两个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服务已经启动。
[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 [-u username] [-h host] [-p[password]] [dbname]
username与 password分别是 MySQL的用户名与密码,mysql的初始管理帐号是root,没有密码,注意:这个root用户不是Linux的系统用户。MySQL默认用户是root,由于初始没有密码,第一次进时只需键入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>”提示符,恭喜你,安装成功!
其中-u后跟的是用户名,-p要求输入密码,回车后在输入密码处输入密码。
1.这个mysql文件在/usr/bin目录下,与后面讲的启动文件/etc/init.d/mysql不是一个文件。
2.如果从本地登录其他主机,则格式如下:
./mysql-u root-p-h 192.168.xx.xx
MySQL安装完成后不象SQL Server默认安装在一个目录,它的数据库文件、配置文件和命令文件分别在不同的目录,了解这些目录非常重要,尤其对于Linux的初学者,因为 Linux本身的目录结构就比较复杂,如果搞不清楚MySQL的安装目录那就无从谈起深入学习。
/usr/share/mysql(mysql.server命令及配置文件)
/usr/bin(mysqladmin mysqldump等命令)
/etc/rc.d/init.d/(启动脚本文件mysql的目录)
MySQL默认没有密码,安装完毕增加密码的重要性是不言而喻的。
usr/bin/mysqladmin-u root password'new-password'
格式:mysqladmin-u用户名-p旧密码 password新密码
[root@test1 local]#/usr/bin/mysqladmin-u root password 123456
注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。
ERROR 1045: Access denied for user:'root@localhost'(Using password: NO)
[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.
这是通过mysqladmin命令修改口令,也可通过修改库来更改口令。
MySQL安装完成后启动文件mysql在/etc/init.d目录下,在需要启动时运行下面命令即可。
[root@test1 init.d]#/etc/init.d/mysql start
/usr/bin/mysqladmin-u root-p shutdown
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默认的数据文件存储目录为/var/lib/mysql。假如要把目录移到/home/data下需要进行下面几步:
3、把/var/lib/mysql整个目录移到/home/data
这样就把MySQL的数据文件移动到了/home/data/mysql下
如果/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文件,找到下列数据修改之)
#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中每个命令后都要以分号;结尾。
Mysql刚安装完有两个数据库:mysql和test。mysql库非常重要,它里面有MySQL的系统信息,我们改密码和新增用户,实际上就是用这个库中的相关表进行操作。
mysql> use mysql;(打开库,对每个库进行操作就要打开此库)
例如:显示mysql库中user表中的纪录。所有能对MySQL用户操作的用户都在此表中。
mysql> create databases aaa;
create table表名(字段设定列表);
例如:在刚创建的aaa库中建立表name,表中有id(序号,自动增长),xm(姓名),xb(性别),csny(出身年月)四个字段
mysql> create table name(id int(3) auto_increment not null primary key, xm char(8),xb char(2),csny date);
可以用describe命令察看刚建立的表结构。
+-------+---------+------+-----+---------+----------------+
| Field| Type| Null| Key| Default| Extra|
+-------+---------+------+-----+---------+----------------+
| id| int(3)|| PRI| NULL| auto_increment|
+-------+---------+------+-----+---------+----------------+
mysql> insert into name values('','张三','男','1971-10-01');
mysql> insert into name values('','白云','女','1972-05-20');
+----+------+------+------------+
+----+------+------+------------+
+----+------+------+------------+
例如:将张三的出生年月改为1971-01-10
mysql> update name set csny='1971-01-10' where xm='张三';
mysql> delete from name where xm='张三';
show variables like'version';
格式: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地址)
例如:将上例创建的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
[root@test mysql]# mysql-u root-p ccc< back_aaa
三、如何在linux下安装mysql数据库并配置
在linux下安装mysql数据库并配置的流程比较繁琐,需要耐心调试,具体方法和步骤如下:
1.查找以前是否安装有mysql,使用下面命令:
如果显示有如下包则说明已安装mysql
mysqlclient10-3.23.58-4.RHEL4.1
2.如果已安装,则需要删除已安装的数据库,使用以下命令来删除数据库
( rpm-ev mysql-4.1.12-3.RHEL4.1)
删除老版本mysql的开发头文件和库
注意:卸载后/var/lib/mysql中的数据及/etc/my.cnf不会删除,如果确定没用后就手工删除
可以通过wget下载具体的地址因为不能用链接请大家去官网去找
(1)MySQL-server-5.6.10-1.rhel5.x86_64.rpm:MySQL服务器;
(2)MySQL-client-5.6.10-1.rhel5.x86_64.rpm:MySQL客户端;
(3)MySQL-devel-5.6.10-1.rhel5.x86_64.rpm:Mysql开发依赖包。
rpm-ivh MySQL-server-5.6.21-1.linux_glibc2.5.x86_64.rpm
安装完成后会生成root用户的随机密码,请使用“cat/root/.mysql_secret”或类似命令进行查看。
rpm-ivh MySQL-client-5.6.21-1.linux_glibc2.5.x86_64.rpm
rpm-ivh MySQL-devel-5.6.21-1.linux_glibc2.5.x86_64.rpm
安装完成后mysql是没有启动的,运行mysql命令会提示如下错误:
ERROR 2002(HY000): Can't connect to local MySQL server through socket'/var/lib/mysql/mysql.sock'(2)
可使用SET PASSWORD命令修改root用户的密码,参考如下:SET PASSWORD= PASSWORD('root123456');
使用mysql命令登录MySQL服务器,运行MySQL的命令时,会提示需要设置root用户密码。
设置完成后重启系统,使用natstat–nat命令可看到MySQL的3306端口。
10.至此已经安装好了mysql数据库,当然现在我们的数据库还不支持远程连接,远程连接会出现以下代码:1130,ERROR 1130: Host 192.168.0.10 is not allowed to connect to this MySQL server,可以通过以下以下来解决。
11.改表法:在本机登入mysql后,更改“mysql”数据库里的“user”表里的“host”项,从”localhost”改为'%'。
mysql>select'host' from user where user='root
12.到此为止,mysql数据库在linux中安装完毕。