一.查看系统中是否已经自带mysql数据库
可以看到运行rpm -e mysql 后,我的操作系统没有安装mysql;
运行rpm -qa | grep mysql 后,有一个mysql-libs-5.1.71-1.el6.x86_64 被安装了,这个是mysql的依赖包,并不是真正的mysql服务。
不过如果安装来mysql,可以使用以下两个命令进行删除。
[root@gradven ~]# rpm -e mysql // 普通删除模式
[root@gradven ~]# rpm -e --nodeps mysql // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除
二.使用yum命令进行mysql的安装
[root@gradven /]$ yum list | grep mysql
我们通过命令可以查看yum上提供下载的mysql的版本信息:
然后使用以下命令进行安装:
[root@gradven ~]# yum install -y mysql-server mysql mysql-deve
运行以下命令查看版本号
[root@gradven ~]# rpm -qi mysql-server
三.mysql数据库的初始化及相关配置
我们在安装完mysql数据库以后,会发现会多出一个mysqld的服务,这个就是我们的数据库服务,我们通过输入 service mysqld start 命令就可以启动我们的mysql服务。
注意:如果我们是第一次启动mysql服务,mysql服务器首先会进行初始化的配置,如:
这时我们会看到第一次启动mysql服务器以后会提示非常多的信息,目的就是对mysql数据库进行初始化操作,当我们再次重新启动mysql服务时,就不会提示这么多信息了。
我们在使用mysql数据库时,都得首先启动mysqld服务,我们可以 通过 chkconfig --list | grep mysqld 命令来查看mysql服务是不是开机自动启动,如果发现mysqld服务并没有开机自动启动,我们当然可以通过 chkconfig mysqld on 命令来将其设置成开机启动,这样就不用每次都去手动启动了。
mysql数据库安装完以后只会有一个root管理员账号,但是此时的root账号还并没有为其设置密码,在第一次启动mysql服务时,会进行数据库的一些初始化工作,在输出的一大串信息中,我们看到有这样一行信息 :
我们就根据这个命令为root用户设置密码为XXX:
[root@gradven ~]# mysqladmin -u root password 'XXX'
此时我们就可以通过 mysql -u root -p 命令来登录我们的mysql数据库了。
[root@gradven ~]# mysql -u root -p
四.mysql的主要配置信息
1./etc/my.cnf 这是mysql的主配置文件
2./var/lib/mysql mysql数据库的数据库文件存放位置
mysql,test是mysql数据库自带的两个数据库
现在我们进入mysql命令行来创建一个数据库试试:
3./var/log mysql数据库的日志输出存放位置
其中mysqld.log 这个文件就是存放我们跟mysql数据库进行操作而产生的一些日志信息,通过查看该日志文件,我们可以从中获得很多信息
我们都知道mysql数据库绑定的端口号是 3306 ,所以我们可以通过 netstat -anp 命令来查看一下,Linux系统是否在监听 3306 这个端口号:
中文乱码问题
导致导入时中文乱码的原因是character_set_server默认设置是latin1,如下图。
可以单个设置修改编码方式set character_set_server=utf8;
但是重启会失效,建议按以下方式修改编码方式。
(1)编辑配置文件。vi /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
character_set_server=utf8
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
default-character-set = utf8
[mysql]
default-character-set = utf8
[client]
default-character-set = utf8
[mysql.server]
default-character-set = utf8
(2)重启MySQL服务。service mysqld restart
(3)登陆MySQL,并查看MySQL目前设置的编码。show variables like "char%";
二、MySQL常用操作
注意:MySQL中每个命令后都要以英文分号;结尾。
1、显示数据库
mysql> show databases;
MySql刚安装完有两个数据库:mysql和test。mysql库非常重要,它里面有MySQL的系统信息,我们改密码和新增用户,实际上就是用这个库中的相关表进行操作。
2、显示数据库中的表
mysql> use mysql; (打开库,对每个库进行操作就要打开此库)
Database changed
mysql> show tables;
3、显示数据表的结构:
describe 表名;
4、显示表中的记录:
select * from 表名;
例如:显示mysql库中user表中的纪录。所有能对MySQL用户操作的用户都在此表中。
select * from user;
5、建库:
create database 库名;
例如:创建一个名字位aaa的库
mysql> create database aaa;
6、建表:
use 库名;
create table 表名 (字段设定列表);
例如:在刚创建的aaa库中建立表person,表中有id(序号,自动增长),xm(姓名),xb(性别),csny(出身年月)四个字段
use aaa;
mysql> create table person (id int(3) auto_increment not null primary key, xm varchar(10),xb varchar(2),csny date);
可以用describe命令察看刚建立的表结构。
mysql> describe person;
7、增加记录
例如:增加几条相关纪录。
mysql>insert into person values(null,’张三’,’男’,’1997-01-02′);
mysql>insert into person values(null,’李四’,’女’,’1996-12-02′);
注意,字段的值(’张三’,’男’,’1997-01-02’)是使用两个英文的单撇号包围起来,后面也是如此。
因为在创建表时设置了id自增,因此无需插入id字段,用null代替即可。
可用select命令来验证结果。
mysql> select * from person;
8、修改纪录
例如:将张三的出生年月改为1971-01-10
mysql> update person set csny=’1971-01-10′ where xm=’张三’;
9、删除纪录
例如:删除张三的纪录。
mysql> delete from person where xm=’张三’;
10、删库和删表
drop database 库名;
drop table 表名;
11、查看mysql版本
在mysql5.0中命令如下:
show variables like ‘version’;
或者:select version();