首页 数据库 mysql教程 在centos 下安装和使用MySQL

在centos 下安装和使用MySQL

Jun 07, 2016 pm 03:46 PM
centos linux mysql 使用 安装 引言

一、引言 想使用Linux已经很长时间了,由于没有硬性任务一直也没有系统学习,近日由于工作需要必须使用Linux下的MySQL。本以为有Windows下使用SQL Server的经验,觉得在Linux下安装MySql应该是易如反掌的事,可在真正安装和使用MySQL时走了很多弯路,遇见很

一、引言  想使用Linux已经很长时间了,由于没有硬性任务一直也没有系统学习,近日由于工作需要必须使用Linux下的MySQL。本以为有 Windows下使用SQL Server的经验,觉得在Linux下安装MySql应该是易如反掌的事,可在真正安装和使用MySQL时走了很多弯路,遇见很多问题,毕竟Linux 和Windows本身就有很大区别。为了让和我一样的初学者在学习的过程中少走弯路,尽快入门,写了此文,希望对您有所帮助。本文的Linux环境是 Red Hat 9.0,MySQL是4.0.16。  

二、安装Mysql   

1、下载MySQL的安装文件  

安装MySQL需要下面两个文件:  

MySQL-server-4.0.16-0.i386.rpm      

MySQL-client-4.0.16-0.i386.rpm   

下载地址为:http://www.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     tcp

  0  0 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要求输入密码,回车后在输入密码处输入密码。  

注意:这个mysql文件在/usr/bin目录下,与后面讲的启动文件/etc/init.d/mysql不是一个文件。  

四、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/mysqld 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 – add mysql   

3)把MySQL从启动服务组里面删除。  

[root@test1 local]# /sbin/chkconfig – del mysql

七、更改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/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 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 表名;  

九、增加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

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
4 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

mysql:简单的概念,用于轻松学习 mysql:简单的概念,用于轻松学习 Apr 10, 2025 am 09:29 AM

MySQL是一个开源的关系型数据库管理系统。1)创建数据库和表:使用CREATEDATABASE和CREATETABLE命令。2)基本操作:INSERT、UPDATE、DELETE和SELECT。3)高级操作:JOIN、子查询和事务处理。4)调试技巧:检查语法、数据类型和权限。5)优化建议:使用索引、避免SELECT*和使用事务。

navicat怎么连接本地mysql navicat怎么连接本地mysql Apr 09, 2025 am 07:45 AM

使用 Navicat 连接本地 MySQL 数据库的步骤:创建连接,并设置连接名称、主机、端口、用户名、密码。测试连接,确保参数正确。保存连接。从连接列表中选择新连接。双击要连接的数据库。

不同数据库系统添加列的语法有什么区别 不同数据库系统添加列的语法有什么区别 Apr 09, 2025 pm 02:15 PM

不同数据库系统添加列的语法为:mysql:alter table table_name add column_name data_type; postgresql:alter table table_name添加column_name data_type; oracle; oracle:alter table table_name add(column_name data_type)

SQL删除行后如何恢复数据 SQL删除行后如何恢复数据 Apr 09, 2025 pm 12:21 PM

直接从数据库中恢复被删除的行通常是不可能的,除非有备份或事务回滚机制。关键点:事务回滚:在事务未提交前执行ROLLBACK可恢复数据。备份:定期备份数据库可用于快速恢复数据。数据库快照:可创建数据库只读副本,在数据误删后恢复数据。慎用DELETE语句:仔细检查条件,避免误删数据。使用WHERE子句:明确指定要删除的数据。使用测试环境:在执行DELETE操作前进行测试。

如何在SQL图形化工具中添加列? 如何在SQL图形化工具中添加列? Apr 09, 2025 pm 12:54 PM

在SQL图形化工具中添加列:选择要添加列的表。右键单击并选择“Alter Table”或类似选项。定义新列的属性(名称、数据类型、长度、是否为空)。指定新列的默认值(如果适用)。选择适当的数据类型以避免数据错误。使用有意义的列名。考虑对大表执行添加列操作时的性能影响。在操作前始终备份数据库,以防止数据丢失。

navicat怎么引入sql文件 navicat怎么引入sql文件 Apr 09, 2025 am 08:54 AM

如何在 Navicat 中导入 SQL 文件?打开 Navicat 并连接到目标数据库。导航到“查询”选项卡。点击“导入 SQL 文件”按钮。选择 SQL 文件并设置导入选项。点击“导入”按钮开始导入。

关键Linux操作:初学者指南 关键Linux操作:初学者指南 Apr 09, 2025 pm 04:09 PM

Linux初学者应掌握文件管理、用户管理和网络配置等基本操作。1)文件管理:使用mkdir、touch、ls、rm、mv、cp命令。2)用户管理:使用useradd、passwd、userdel、usermod命令。3)网络配置:使用ifconfig、echo、ufw命令。这些操作是Linux系统管理的基础,熟练掌握它们可以有效管理系统。

SQL删除行会触发事务吗 SQL删除行会触发事务吗 Apr 09, 2025 pm 12:03 PM

SQL删除行是否触发事务取决于:1. 数据库系统(有些自动提交,无需事务);2. 会话设置(可手动开启或关闭自动提交);3. 是否显式开启事务(最佳实践,保证数据一致性)。

See all articles