在linux中查看是否原來就有MySQL
查看該操作系統(tǒng)中是否已經(jīng)安裝過MySQL數(shù)據(jù)庫:
[root@hadoop02 ~]# rpm -qa | grep mysql
如果已經(jīng)安裝祠够,需要卸載:
#普通卸載:
[root@hadoop02 ~]# rpm -e mysql
#強力卸載:
[root@hadoop02 ~]# rpm -e --nodeps mysql
注意:如果使用普通刪除時怠益,提示有依賴的其他文件,則可以通過強力卸載來刪除!
MySQL安裝
①查看可下載的MySQL的版本:
[root@hadoop02 ~]# yum list | grep mysql
②進行安裝數(shù)據(jù)庫:
[root@hadoop02 ~]# yum install -y mysql-server mysql mysql-devl
③安裝完成后季春,查看安裝后數(shù)據(jù)庫的版本:
[root@hadoop02 ~]# rpm -qi mysql-server
數(shù)據(jù)庫初始化
①啟動數(shù)據(jù)庫:
1、[root@hadoop02 ~]# service mysqld start
2消返、[root@hadoop02 ~]# sudo /etc/init.d/mysqld start
重啟:
[root@hadoop02 ~]# service mysqld restart
如果和下圖一樣载弄,代表啟動成功:
在使用MySQL數(shù)據(jù)庫時,必須先啟動mysql的服務(wù)撵颊,因此最好是設(shè)置為開機自啟:
[root@hadoop02 ~]# chkconfig mysqld on
然后宇攻,查看設(shè)置的是否成功:
[root@hadoop02 ~]# chkconfig --list | grep mysql
出現(xiàn)以下圖片,說明設(shè)置成功:
設(shè)置root賬號的密碼(在默認情況下倡勇,安裝好后root是沒有密碼的逞刷。)
①進入mysql數(shù)據(jù)庫中:
[root@hadoop02 ~]# mysql -uroot
②為了安全起見,給root設(shè)置一個密碼:
[root@hadoop02 ~]# mysqladmin -u root password 'root'
如果,需要重置密碼:
[root@hadoop02 ~]# mysqladmin -u root -p password 'root'
③亲桥,設(shè)置好以后洛心,可以通過以下命令進入數(shù)據(jù)庫:
[root@hadoop02 ~]# mysql -u root -p
數(shù)據(jù)庫編碼成UTF-8
①在/etc/my.cnf文件中設(shè)置數(shù)據(jù)為utf8
[root@hadoop02 ~]# vi /etc/my.cnf
②在[client]下面添加:
[client]
default-character-set=utf8
③在[mysqld]下面添加:
character-set-server=utf8
④查看數(shù)據(jù)庫字符集編碼,進入mysql數(shù)據(jù)庫中题篷,再輸入以下代碼:
mysql> show variables like '%char%';
出現(xiàn)以下界面词身,說明設(shè)置成功:
MySQL的主要配置文件
1、主配置文件:/etc/my.cnf
2/數(shù)據(jù)庫文件存放位置:/var/lib/mysql
3/日志存放位置:/var/log/mysqld.log
基本命令(在已經(jīng)進入數(shù)據(jù)庫中的命令,切忌拉掉分號
)
1番枚、mysql> show databases;//查看系統(tǒng)已經(jīng)存在的數(shù)據(jù)庫
2法严、mysql> use 數(shù)據(jù)庫的名字;//選擇需要使用的數(shù)據(jù)庫
3、mysql> drop database 數(shù)據(jù)庫名字;//刪除選定的數(shù)據(jù)庫
4葫笼、mysql> create database 數(shù)據(jù)庫名字;//創(chuàng)建一個新的數(shù)據(jù)庫
5深啤、mysql>exit;//退出數(shù)據(jù)庫的連接
6、mysql> show tables;//查看當前數(shù)據(jù)庫下的表
7路星、其他基本的增刪改查使用標準的SQL語句即可
開放遠程的登陸權(quán)限(在已經(jīng)進入數(shù)據(jù)庫中的命令,切忌拉掉分號
)
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root';
mysql> FLUSH PRIVILEGES;
防火墻的開啟與關(guān)閉:
(1) 用root用戶登錄后溯街,執(zhí)行查看防火墻狀態(tài)。
[root@hadoop02 /]# service iptables status
(2) 用[root@hadoop02 /]# service iptables stop關(guān)閉防火墻洋丐,這個是臨時關(guān)閉防火墻呈昔。
[root@hadoop02 /]# service iptables stop
iptables: Setting chains to policy ACCEPT: filter [ OK ]
iptables: Flushing firewall rules: [ OK ]
iptables: Unloading modules: [ OK ]
(3) 如果要永久關(guān)閉防火墻用。
[root@hadoop02 /]# chkconfig iptables off
關(guān)閉友绝,這種需要重啟才能生效堤尾。
練習
創(chuàng)建scott database數(shù)據(jù)庫代碼:
create table dept(
-- 部門編號
deptno int unsigned auto_increment primary key,
-- 部門名稱
dname varchar(15) ,
-- 部門所在位置
loc varchar(50)
)engine = InnoDB;
create table emp(
-- 雇員編號
empno int unsigned auto_increment primary key,
-- 雇員姓名
ename varchar(15) ,
-- 雇員職位
job varchar(10) ,
-- 雇員對應(yīng)的領(lǐng)導(dǎo)的編號
mgr int unsigned ,
-- 雇員的雇傭日期
hiredate date ,
-- 雇員的基本工資
sal decimal(7,2) ,
-- 獎金
comm decimal(7,2) ,
-- 所在部門
deptno int unsigned ,
foreign key(deptno) references dept(deptno)
)engine = innodb;
create table salgrade(
-- 工資等級
grade int unsigned ,
-- 此等級的最低工資
losal int unsigned ,
-- 此等級的最高工資
hisal int unsigned
)engine=innodb;
create table bonus(
-- 雇員姓名
ename varchar(10),
-- 雇員職位
job varchar(9),
-- 雇員工資
sal decimal(7,2),
-- 雇員資金
comm decimal(7,2)
)engine=innodb;
在dept表中插入一些數(shù)據(jù):
INSERT INTO dept VALUES (10,'ACCOUNTING','NEW YORK');
INSERT INTO dept VALUES (20,'RESEARCH','DALLAS');
INSERT INTO dept VALUES (30,'SALES','CHICAGO');
INSERT INTO dept VALUES (40,'OPERATIONS','BOSTON');
INSERT INTO emp VALUES (7369,'SMITH','CLERK',7902,'1980-12-17',800,NULL,20);
INSERT INTO emp VALUES (7499,'ALLEN','SALESMAN',7698,'1981-2-20',1600,300,30);
INSERT INTO emp VALUES (7521,'WARD','SALESMAN',7698,'1981-2-22',1250,500,30);
INSERT INTO emp VALUES (7566,'JONES','MANAGER',7839,'1981-4-2',2975,NULL,20);
INSERT INTO emp VALUES (7654,'MARTIN','SALESMAN',7698,'1981-9-28',1250,1400,30);
INSERT INTO emp VALUES (7698,'BLAKE','MANAGER',7839,'1981-5-1',2850,NULL,30);
INSERT INTO emp VALUES (7782,'CLARK','MANAGER',7839,'1981-6-9',2450,NULL,10);
INSERT INTO emp VALUES (7788,'SCOTT','ANALYST',7566,'87-7-13',3000,NULL,20);
INSERT INTO emp VALUES (7839,'KING','PRESIDENT',NULL,'1981-11-17',5000,NULL,10);
INSERT INTO emp VALUES (7844,'TURNER','SALESMAN',7698,'1981-9-8',1500,0,30);
INSERT INTO emp VALUES (7876,'ADAMS','CLERK',7788,'87-7-13',1100,NULL,20);
INSERT INTO emp VALUES (7900,'JAMES','CLERK',7698,'1981-12-3',950,NULL,30);
INSERT INTO emp VALUES (7902,'FORD','ANALYST',7566,'1981-12-3',3000,NULL,20);
INSERT INTO emp VALUES (7934,'MILLER','CLERK',7782,'1982-1-23',1300,NULL,10);
INSERT INTO salgrade VALUES (1,700,1200);
INSERT INTO salgrade VALUES (2,1201,1400);
INSERT INTO salgrade VALUES (3,1401,2000);
INSERT INTO salgrade VALUES (4,2001,3000);
INSERT INTO salgrade VALUES (5,3001,9999);
作者:__豆約翰__
鏈接:http://www.reibang.com/p/40798d908542