1. rpm 是 red hat 专有文件 2. mysql 默认安装路径为 /var/lib/mysql 缷载后请手动删除 3. 如果报不允许连接,请修改 mysql 数据库的 user 表,将 user=root and host=127.0.0.1 改为 host="%" 百分号代表允许所有 IP 访问 , 并重启 mysql ----------------------------------------------------------------------------------------------------red hat 下安装 mysql: 想使用 Linux 已经很长时间了,由于没有硬性任务一直也没有系统学习,近日由于工作需要必须使用 Linux 下的 MySQL 。本以为有 Windows 下使用 SQL Server 的经验,觉得在 Linux 下安装 MySql 应该是易如反掌的事,可在真正安装和使用 MySQL 时走了很多弯路,遇见很多问题,毕竟 Linux 和 Windows 本身就有很大区别。为了让和我一样的初学者在学习的过程中少走弯路,尽快入门,写了此文,希望对您有所帮助。 二、安装 Mysql1 、下载 MySQL 的安装文件 安装 MySQL 需要下面两个文件: MySQL-server-5.0.9-0.i386.rpm MySQL-client-5.0.9-0.i386.rpm 下载地址为: http://dev.mysql.com/downloads/mysql/5.0.html ,打开此网页,下拉网页找到 “Linux x86 RPM downloads” 项,找到 “Server” 和 “Client programs” 项,下载需要的上述两个 rpm 文件。 2 、安装 MySQLrpm 文件是 Red Hat 公司开发的软件安装包, rpm 可让 Linux 在安装软件包时免除许多复杂的手续。该命令在安装时常用的参数是 –ivh , 其中 i 表示将安装指定的 rmp 软件包, V 表示安装时的详细信息, h 表示在安装期间出现 “#” 符号来显示目前的安装过程。这个符号将持续到安装完成后才停止。 1 )安装服务器端 在有两个 rmp 文件的目录下运行如下命令: [root@test1 local]# rpm -ivh MySQL-server-5.0.9-0.i386.rpm 显示如下信息。 warning: MySQL-server-5.0.9-0.i386.rpm: V3 DSA signature: NOKEY, key ID 5072e1f5Preparing... ########################################### [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 -natActive Internet connections (servers and established)Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 上面显示可以看出 MySQL 服务已经启动。 2 )安装客户端 运行如下命令: [root@test1 local]# rpm -ivh MySQL-client-5.0.9-0.i386.rpmwarning: MySQL-client-5.0.9-0.i386.rpm: V3 DSA signature: NOKEY, key ID 5072e1f5Preparing... ########################################### [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]# mysqlWelcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 1 to server version: 4.0.16-standardType 'help;' or '\h' for help. Type '\c' to clear the buffer.mysql> 出现了 “mysql>” 提示符,恭喜你,安装成功! 增加了密码后的登录格式如下: mysql -u root -pEnter password: ( 输入密码 ) 其中 -u 后跟的是用户名, -p 要求输入密码,回车后在输入密码处输入密码。 注意:这个 mysql 文件在 /usr/bin 目录下,与后面讲的启动文件 /etc/init.d/mysql 不是一个文件。 四、 MySQL 的几个重要目录 MySQL 安装完成后不象 SQL Server 默认安装在一个目录,它的数据库文 ⑴ 渲梦募 兔 钗募 直鹪诓煌 哪柯迹 私庹庑 ┠ 柯挤浅V匾绕涠杂贚 inux 的初学者,因为 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]# mysqlERROR 1045: Access denied for user: 'root@localhost' (Using password: NO) 显示错误,说明密码已经修改。 2 )用修改后的密码登录 [root@test1 local]# mysql -u root -pEnter password: ( 输入修改后的密码 123456)Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 4 to server version: 4.0.16-standardType '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 start2 、停止 /usr/bin/mysqladmin -u root -p shutdown3 、自动启动 1 )察看 mysql 是否在自动启动列表中 [root@test1 local]# /sbin/chkconfig --list2 )把 MySQL 添加到你系统的启动服务组里面去 [root@test1 local]# /sbin/chkconfig – add mysql3 )把 MySQL 从启动服务组里面删除。 [root@test1 local]# /sbin/chkconfig – del mysql 七、更改 MySQL 目录 MySQL 默认的数据文件存储目录为 /var/lib/mysql 。假如要把目录移到 /home/data 下需要进行下面几步: 1 、 home 目录下建立 data 目录 cd /homemkdir data2 、把 MySQL 服务进程停掉: mysqladmin -u root -p shutdown3 、把 /var/lib/mysql 整个目录移到 /home/datamv /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.cnf5 、编辑 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/mysql start 或用 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; (打开库,对每个库进行操作就要打开此库,类似于 foxpro ) Database changedmysql> 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-10mysql> update name set csny='1971-01-10' where xm=' 张三 ';9 、删除纪录 例如:删除张三的纪录。 mysql> delete from name where xm=' 张三 ';10 、删库和删表 drop database 库名 ;drop table 表名; 九、增加 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_aaa2 、恢复 [root@test mysql]# mysql -u root -p ccc < back_aaa 缷载 mysql:rpm -e MySQL-server-community-5.1.32-0.rhel5
转载于: