;?????linux系統(tǒng)如何安裝mysql?我們一起來了解一下吧。
成都一家集口碑和實(shí)力的網(wǎng)站建設(shè)服務(wù)商,擁有專業(yè)的企業(yè)建站團(tuán)隊(duì)和靠譜的建站技術(shù),10余年企業(yè)及個(gè)人網(wǎng)站建設(shè)經(jīng)驗(yàn) ,為成都1000+客戶提供網(wǎng)頁設(shè)計(jì)制作,網(wǎng)站開發(fā),企業(yè)網(wǎng)站制作建設(shè)等服務(wù),包括成都營(yíng)銷型網(wǎng)站建設(shè),品牌網(wǎng)站制作,同時(shí)也為不同行業(yè)的客戶提供成都網(wǎng)站建設(shè)、網(wǎng)站制作的服務(wù),包括成都電商型網(wǎng)站制作建設(shè),裝修行業(yè)網(wǎng)站制作建設(shè),傳統(tǒng)機(jī)械行業(yè)網(wǎng)站建設(shè),傳統(tǒng)農(nóng)業(yè)行業(yè)網(wǎng)站制作建設(shè)。在成都做網(wǎng)站,選網(wǎng)站制作建設(shè)服務(wù)商就選創(chuàng)新互聯(lián)。
1、打開電腦,并且點(diǎn)擊打開命令行窗口。
2、輸入sudoapt-getupdate,這樣可以進(jìn)行安裝前的基本更新。
3、輸入sudoapt-getinstallmysql-server,下載安裝包,這個(gè)時(shí)候會(huì)提示,輸入y即可。等待一下即可。
4、輸入sudomysql_secure-installation,輸入N,然后設(shè)置密碼。
5、輸入N取消移除。
6、然后陸續(xù)輸入Y-N-Y,即可完成安裝。
以上就是的分享,希望能幫到大家。
本文章基于ThinkpadE15品牌、centos7系統(tǒng)撰寫的。
方法和操作步驟如下:
1、首先,創(chuàng)建一個(gè)測(cè)試表,如下圖所示,然后進(jìn)入下一步。
2、其次,插入測(cè)試數(shù)據(jù),如下圖所示,然后進(jìn)入下一步。
3、接著,完成上述步驟后,查詢表中的數(shù)據(jù),“select t.* from test_tbl2 t?”,如下圖所示,然后進(jìn)入下一步。
4、最后,完成上述步驟后,編寫sql,兩個(gè)表通過pid與id關(guān)聯(lián), “select t1.*, t2.* from test_tbl1 t1 join test_tbl2 t2 on t1.p_id = t2.id;”,如下圖所示。這樣,問題就解決了。
一、MySQL安裝
Centos下安裝mysql 請(qǐng)點(diǎn)開:二、MySQL的幾個(gè)重要目錄
MySQL安裝完成后不象SQL Server默認(rèn)安裝在一個(gè)目錄,它的數(shù)據(jù)庫文件、配置文件和命令文件分別在不同的目錄,了解這些目錄非常重要,尤其對(duì)于Linux的初學(xué)者,因?yàn)?Linux本身的目錄結(jié)構(gòu)就比較復(fù)雜,如果搞不清楚MySQL的安裝目錄那就無從談起深入學(xué)習(xí)。
下面就介紹一下這幾個(gè)目錄。
2.1、數(shù)據(jù)庫目錄
/var/lib/mysql/
2.2、配置文件
/usr/share/mysql(mysql.server命令及配置文件)2.3、相關(guān)命令
/usr/bin(mysqladmin mysqldump等命令)
2.4、啟動(dòng)腳本
/etc/rc.d/init.d/(啟動(dòng)腳本文件mysql的目錄)三、登錄MySQL
3.1、連接本機(jī)MySQL
例1:連接到本機(jī)上的MYSQL。
首先在打開DOS窗口,然后進(jìn)入目錄 mysqlbin,再鍵入命令mysql -uroot -p,回車后提示你輸密碼,如果剛安裝好MYSQL,超級(jí)用戶root是沒有密碼的,故直接回車即可進(jìn)入到MYSQL中了,MYSQL的提示符 是:mysql。
3.2、連接遠(yuǎn)程MySQL
例2:連接到遠(yuǎn)程主機(jī)上的MYSQL。假設(shè)遠(yuǎn)程主機(jī)的IP為:110.110.110.110,用戶名為root,密碼為abcd123。則鍵入以下命令:
mysql -h110.110.110.110 -uroot -pabcd123
(注:u與root可以不用加空格,其它也一樣)
3.3、退出MYSQL
命令: exit (回車)。
四、修改登錄密碼
MySQL默認(rèn)沒有密碼,安裝完畢增加密碼的重要性是不言而喻的。
格式:mysqladmin -u用戶名 -p舊密碼 password 新密碼4.1、首次改密碼
例1:給root加個(gè)密碼ab12。首先在DOS下進(jìn)入目錄mysqlbin,然后鍵入以下命令:
mysqladmin -uroot -password ab12
注:因?yàn)殚_始時(shí)root沒有密碼,所以-p舊密碼一項(xiàng)就可以省略了。
4.2、再次改密碼
例2:再將root的密碼改為djg345。
mysqladmin -uroot -pab12 password djg345
五、增加用戶
(注意:和上面不同,下面的因?yàn)槭荕ySQL環(huán)境中的命令,所以后面都帶一個(gè)分號(hào)作為命令結(jié)束符)格式:grant select on 數(shù)據(jù)庫.* to 用戶名@登錄主機(jī) identified by \"密碼\"例1、增加一個(gè)用戶test1密碼為abc,讓他可以在任何主機(jī)上登錄,并對(duì)所有數(shù)據(jù)庫有查詢、插入、修改、刪除的權(quán)限。首先用以root用戶連入MySQL,然后鍵入以下命令:
grant select,insert,update,
delete on *.* to test1@\"%\" Identified by \"abc\";但例1增加的用戶是十分危險(xiǎn)的,你想如某個(gè)人知道test1的密碼,那么他就可以在internet上的任何一臺(tái)電腦上登錄你的MySQL數(shù)據(jù)庫并對(duì)你的數(shù)據(jù)可以為所欲為了,解決辦法見例2。
例2、增加一個(gè)用戶test2密碼為abc,讓他只可以在localhost上登錄,并可以對(duì)數(shù)據(jù)庫mydb進(jìn)行查詢、插入、修改、刪除的操作 (localhost指本地主機(jī),即MySQL數(shù)據(jù)庫所在的那臺(tái)主機(jī)),這樣用戶即使用知道test2的密碼,他也無法從internet上直接訪問數(shù)據(jù) 庫,只能通過MySQL主機(jī)上的web頁來訪問。
grant select,insert,update,
delete on mydb.* to test2@localhost identified by \"abc\";如果你不想test2有密碼,可以再打一個(gè)命令將密碼消掉。
grant select,insert,update,delete on mydb.* to test2@localhost identified by \"\";用新增的用戶如果登錄不了MySQL,
在登錄時(shí)用如下命令:mysql -u user_1 -p -h 192.168.113.50 (-h后跟的是要登錄主機(jī)的ip地址)六、啟動(dòng)與停止
6.1、啟動(dòng)
MySQL安裝完成后啟動(dòng)文件mysql在/etc/init.d目錄下,在需要啟動(dòng)時(shí)運(yùn)行下面命令即可。
[root@test1 init.d]# /etc/init.d/mysql start6.2、停止
/usr/bin/mysqladmin -u root -p shutdown
6.3、自動(dòng)啟動(dòng)
6.3.1、察看mysql是否在自動(dòng)啟動(dòng)列表中
[root@test1 local]# /sbin/chkconfig –list6.3.2、把MySQL添加到你系統(tǒng)的啟動(dòng)服務(wù)組里面去[root@test1 local]# /sbin/chkconfig – add mysql6.3.3、把MySQL從啟動(dòng)服務(wù)組里面刪除。
[root@test1 local]# /sbin/chkconfig – del mysql七、更改MySQL目錄
MySQL默認(rèn)的數(shù)據(jù)文件存儲(chǔ)目錄為/var/lib/mysql。
假如要把目錄移到/home/data下需要進(jìn)行下面幾步:
7.1、home目錄下建立data目錄
cd /home mkdir data
7.2、把MySQL服務(wù)進(jìn)程停掉:
mysqladmin -u root -p shutdown
7.3、把/var/lib/mysql整個(gè)目錄移到/home/datamv /var/lib/mysql /home/data/
這樣就把MySQL的數(shù)據(jù)文件移動(dòng)到了/home/data/mysql下7.4、找到my.cnf配置文件
如果/etc/目錄下沒有my.cnf配置文件,請(qǐng)到/usr/share/mysql/下找到*.cnf文件,拷貝其中一個(gè)到/etc/并改名為my.cnf)中。
命令如下:
[root@test1 mysql]# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf7.5、編輯MySQL的配置文件/etc/my.cnf
為保證MySQL能夠正常工作,需要指明mysql.sock文件的產(chǎn)生位置。
修改socket=/var/lib/mysql/mysql.sock一行中等號(hào)右邊的值為:/home/mysql/mysql.sock 。
操作如下:
vi my.cnf
(用vi工具編輯my.cnf文件,找到下列數(shù)據(jù)修改之)# The MySQL server [mysqld]
port = 3306
#socket = /var/lib/mysql/mysql.sock(原內(nèi)容,為了更穩(wěn)妥用“#”注釋此行)socket = /home/data/mysql/mysql.sock (加上此行)7.6、修改MySQL啟動(dòng)腳本/etc/rc.d/init.d/mysql最后,需要修改MySQL啟動(dòng)腳本/etc/rc.d/init.d/mysql,把其中datadir=/var/lib/mysql一行中,等號(hào)右邊的路徑改成你現(xiàn)在的實(shí)際存放路徑:home/data/mysql。
[root@test1 etc]# vi /etc/rc.d/init.d/mysql#datadir=/var/lib/mysql(注釋此行)datadir=/home/data/mysql (加上此行)7.7、重新啟動(dòng)MySQL服務(wù)
/etc/rc.d/init.d/mysql start
或用reboot命令重啟Linux
如果工作正常移動(dòng)就成功了,否則對(duì)照前面的7步再檢查一下。
八、MySQL的常用操作
注意:MySQL中每個(gè)命令后都要以分號(hào);結(jié)尾。
8.1、MySQL常用操作命令
8.1.1、顯示數(shù)據(jù)庫列表:
show databases;
剛開始時(shí)才兩個(gè)數(shù)據(jù)庫:mysql和test。MySQL庫很重要它里面有MYSQL的系統(tǒng)信息,我們改密碼和新增用戶,實(shí)際上就是用這個(gè)庫進(jìn)行操作。
8.1.2、顯示庫中的數(shù)據(jù)表:
use mysql; //打開庫,學(xué)過FOXBASE的一定不會(huì)陌生吧show tables;
8.1.3、顯示數(shù)據(jù)表的結(jié)構(gòu):
describe 表名;
8.1.4、建庫:
create database 庫名;
8.1.5、建表:
use 庫名;
create table 表名 (字段設(shè)定列表);
8.1.6、刪庫和刪表:
drop database 庫名;
drop table 表名;
8.1.7、將表中記錄清空:
delete from 表名;
8.1.8、顯示表中的記錄:
select * from 表名;
8.1.9、增加記錄
例如:增加幾條相關(guān)紀(jì)錄。
mysql insert into name values('','張三','男','1971-10-01');mysql insert into name values('','白云','女','1972-05-20');可用select命令來驗(yàn)證結(jié)果。
mysql select * from name;
+----+------+------+------------+
| id | xm | xb | csny |
+----+------+------+------------+
| 1 | 張三 | 男 | 1971-10-01 |
| 2 | 白云 | 女 | 1972-05-20 |
+----+------+------+------------+
8.1.10、修改紀(jì)錄
例如:將張三的出生年月改為1971-01-10
mysql update name set csny='1971-01-10' where xm='張三';8.1.11、刪除紀(jì)錄
例如:刪除張三的紀(jì)錄。
mysql delete from name where xm='張三';
8.2、一個(gè)建庫和建表以及插入數(shù)據(jù)的實(shí)例
drop database if exists school; //如果存在SCHOOL則刪除create database school; //建立庫SCHOOL
use school; //打開庫SCHOOL
create table teacher //建立表TEACHER
(
id int(3) auto_increment not null primary key,name char(10) not null,
address varchar(50) default ’深圳’,
year date
); //建表結(jié)束
//以下為插入字段
insert into teacher values(’’,’glchengang’,’深圳一中’,’1976-10-10’);insert into teacher values(’’,’jack’,’深圳一中’,’1975-12-23’);注:在建表中(1)將ID設(shè)為長(zhǎng)度為3的數(shù)字字段:int(3)并讓它每個(gè)記錄自動(dòng)加一:auto_increment并不能為空:not null而且讓他成為主字段primary key(2)將NAME設(shè)為長(zhǎng)度為10的字符字段(3)將ADDRESS設(shè)為長(zhǎng)度50的字符字段,而且缺省值為深圳。varchar和char有什么區(qū)別 呢,只有等以后的文章再說了。(4)將YEAR設(shè)為日期字段。
如果你在MySQL提示符鍵入上面的命令也可以,但不方便調(diào)試。你可以將以上命令原樣寫入一個(gè)文本文件中假設(shè)為school.sql,然后復(fù)制到c:\\下,并在DOS狀態(tài)進(jìn)入目錄\\mysql\\bin,然后鍵入以下命令:
mysql -uroot -p密碼 c:\\school.sql
如果成功,空出一行無任何顯示;如有錯(cuò)誤,會(huì)有提示。(以上命令已經(jīng)調(diào)試,你只要將//的注釋去掉即可使用)。
九 、修改數(shù)據(jù)庫結(jié)構(gòu)
9.1、字段操作
9.1.1、增加字段
alter table dbname add column 字段名字段選項(xiàng)
9.1.2、修改字段
alter table dbname change 舊字段名 新字段名選項(xiàng)
9.1.3、刪除字段
alter table dbname drop column 字段名
十、數(shù)據(jù)導(dǎo)出
數(shù)據(jù)導(dǎo)出主要有以下幾種方法:
使用select into outfile "filename"語句
使用mysqldump實(shí)用程序
10.1、使用select into outfile "filename"語句可以在mysql的命令行下或在php程序中執(zhí)行它。我下面以在mysql命令行下為 例。在php中使用時(shí),將其改成相應(yīng)的查詢進(jìn)行處理即可。不過在使用這個(gè)命令時(shí),要求用戶擁有file的權(quán)限。如我們有一個(gè)庫為phptest,其中有一 個(gè)表為driver。現(xiàn)在要把driver卸成文件。執(zhí)行命令:
mysql use phptest;
Database Changed
mysql select * from driver into outfile "a.txt";Query OK, 22 rows affected (0.05 sec)
上面就可以完成將表driver從數(shù)據(jù)庫中卸到a.txt文件中。注意文件名要加單引 號(hào)。那么這個(gè)文件在哪呢?在mysql目錄下有一個(gè)data目錄,它即是數(shù)據(jù)庫文件所放的地方。每個(gè)庫在單獨(dú)占一個(gè)子目錄,所以phptest的目錄為 c:\mysql\data\phptest(注意:我的mysql安裝在c:\mysql下)。好,現(xiàn)在我們進(jìn)去,a.txt就是它。打開這個(gè)文件,可 能是:
1 Mika Hakinnen 1
2 David Coulthard 1
3 Michael Schumacher 2
4 Rubens Barrichello 2
...
可能還有很多記錄。每個(gè)字段之間是用制表符分開的(\t)。那么我們可以修改輸出文件 名的目錄,以便放在指定的位置。如"a.txt"可以改成"./a.txt"或"/a.txt"。其中"./a.txt"放在c:\mysql\data 目錄下了,而"/a.txt"文件則放在c:\目錄下了。所以select命令認(rèn)為的當(dāng)前目錄是數(shù)據(jù)庫的存放目錄,這里是c:\mysql\data。
使用select命令還可以指定卸出文件時(shí),字段之間的分隔字符,轉(zhuǎn)義字符,包括字符,及記錄行分隔字符。列在下面:
FIELDS
TERMINATED BY "\t"
[OPTIONALLY] ENCLOSED BY ""
ESCAPED BY ""
LINES
TERMINATED BY "\n"
TERMINATED 表示字段分隔
[OPTIONALLY] ENCLOSED 表示字段用什么字符包括起來,如果使用了OPTIONALLY則只有CHAR和VERCHAR被包括ESCAPED 表示當(dāng)需要轉(zhuǎn)義時(shí)用什么作為轉(zhuǎn)義字符LINES TERMINATED 表示每行記錄之間用什么分隔上面列的是缺省值,而且這些項(xiàng)都是可選的,不選則使用缺省值。可以根據(jù)需要進(jìn)行修改。給出一個(gè)例子如下:
mysql select * from driver into outfile "a.txt" fields terminated by ","enclosed by """;
Query OK, 22 rows affected (0.06 sec)
結(jié)果可能如下:
"1","Mika","Hakinnen","1"
"2","David","Coulthard","1"
"3","Michael","Schumacher","2"
"4","Rubens","Barrichello","2"
...
可以看到每個(gè)字段都用","進(jìn)行了分隔,且每個(gè)字段都用"""包括了起來。注意,行記錄分隔符可以是一個(gè)字符串,請(qǐng)大家自行測(cè)試。不過,如果輸出文件在指定目錄下如果存在的話就會(huì)報(bào)錯(cuò),先刪除再測(cè)試即可。
10.2、使用mysqldump實(shí)用程序
從上面的select方法可以看出,輸出的文件只有數(shù)據(jù),而沒有表結(jié)構(gòu)。而且,一次只 能處理一個(gè)表,要處理多個(gè)表則不是很容易的。不過可以將select命令寫入一個(gè)sql 文件(復(fù)制文本應(yīng)該是很容易的吧),然后在命令行下執(zhí)行即可:mysql 庫名先來個(gè)最簡(jiǎn)單的吧:
mysqldump phptest a.sql
可能結(jié)果如下:
# MySQL dump 7.1
#
# Host: localhost Database: phptest
#--------------------------------------------------------# Server version 3.22.32-shareware-debug
#
# Table structure for table "driver"
#
CREATE TABLE driver (
drv_id int(11) DEFAULT "0" NOT NULL auto_increment,drv_forename varchar(15) DEFAULT "" NOT NULL,drv_surname varchar(25) DEFAULT "" NOT NULL,drv_team int(11) DEFAULT "0" NOT NULL,
PRIMARY KEY (drv_id)
);
#
# Dumping data for table "driver"
#
INSERT INTO driver VALUES (1,"Mika","Hakinnen",1);INSERT INTO driver VALUES (2,"David","Coulthard",1);INSERT INTO driver VALUES (3,"Michael","Schumacher",2);INSERT INTO driver VALUES (4,"Rubens","Barrichello",2);...
如果有多表,則分別列在下面。可以看到這個(gè)文件是一個(gè)完整的sql文件,如果要將 其導(dǎo)入到其它的數(shù)據(jù)庫中可以通過命令行方式,很方便:mysql phptest a.sql。如果將數(shù)據(jù)從本地傳到服務(wù)器上,則可以將這個(gè)文件上傳,然后在服務(wù)器通過命令行方式裝入數(shù)據(jù)。
如果只想卸出建表指令,則命令如下:
mysqldump -d phptest a.sql
如果只想卸出插入數(shù)據(jù)的sql命令,而不需要建表命令,則命令如下:
mysqldump -t phptest a.sql
那么如果我只想要數(shù)據(jù),而不想要什么sql命令時(shí),應(yīng)該如何操作呢?
mysqldump -T./ phptest driver
其中,只有指定了-T參數(shù)才可以卸出純文本文件,表示卸出數(shù)據(jù)的目錄,./表示當(dāng)前目 錄,即與mysqldump同一目錄。如果不指定driver表,則將卸出整個(gè)數(shù)據(jù)庫的數(shù)據(jù)。每個(gè)表會(huì)生成兩個(gè)文件,一個(gè)為.sql文件,包含建表執(zhí)行。 另一個(gè)為.txt文件,只包含數(shù)據(jù),且沒有sql指令。
對(duì)卸出的數(shù)據(jù)文件,也可以同select方法一樣,指定字段分隔符,包括字符,轉(zhuǎn)義字段,行記錄分隔符。參數(shù)列在下面:
--fields-terminated-by= 字段分隔符
--fields-enclosed-by= 字段包括符
--fields-optionally-enclosed-by= 字段包括符,只用在CHAR和VERCHAR字段上--fields-escaped-by= 轉(zhuǎn)義字符
--lines-terminated-by= 行記錄分隔符
我想大家應(yīng)該明白這些參數(shù)的意思了吧。一個(gè)例子如下:
mysqldump -T./ --fields-terminated-by=, --fields-enclosed-by=" phptest driver輸出結(jié)果為:
"1","Mika","Hakinnen","1"
"2","David","Coulthard","1"
"3","Michael","Schumacher","2"
"4","Rubens","Barrichello","2"
...
請(qǐng)注意字符的使用。
10.3、小結(jié)
以上為使用select和mysqldump實(shí)用程序來卸出文本的方法。select適合利用程序進(jìn)行處理,而mysqldump則為手工操作,同時(shí)提供強(qiáng)大的導(dǎo)出功能,并且可以處理整個(gè)庫,或庫中指定的多表。大家可以根據(jù)需求自行決定使用。
同時(shí)還有一些方法,如直接數(shù)據(jù)庫文件拷貝也可以,但是移動(dòng)后的數(shù)據(jù)庫系統(tǒng)與原系統(tǒng)應(yīng)一致才行。這里就不再提了。
十一、數(shù)據(jù)導(dǎo)入
同導(dǎo)出相類似,導(dǎo)入也有兩種方法:
使用LOAD DATA INFILE "filename"命令
使用mysqlimport實(shí)用程序
使用sql文件
由于前兩個(gè)處理與導(dǎo)出處理相似,只不過是它們的逆操作,故只給出幾種命令使用的例子,不再解釋了,大家可以自行查閱手冊(cè)。
11.1、使用load命令:
load data infile "driver.txt" into table driver fields terminated by ","enclosed by """;
11.2、使用mysqlimport實(shí)用程序:
mysqlimport --fields-terminated-by=, --fields-enclosed-by=" phptest driver.txt11.3、使用SQL文件
則可以使用由mysqldump導(dǎo)出的sql文件,在命令行下執(zhí)行mysql庫名。
首先要聲明一點(diǎn),大部分情況下,修改MySQL是需要有mysql里的root權(quán)限的,所以一般用戶無法更改密碼,除非請(qǐng)求管理員。
方法一
使用phpmyadmin,這是最簡(jiǎn)單的了,修改mysql庫的user表,不過別忘了使用PASSWORD函數(shù)。
方法二
使用mysqladmin,這是前面聲明的一個(gè)特例。
mysqladmin -u root -p password mypasswd
輸入這個(gè)命令后,需要輸入root的原密碼,然后root的密碼將改為 mypasswd。把命令里的root改為你的用戶名,你就可以改你自己的密碼了。當(dāng)然如果你的mysqladmin連接不上mysql server,或者你沒有辦法執(zhí)行mysqladmin,那么這種方法就是無效的。而且mysqladmin無法把密碼清空。
下面的方法都在mysql提示符下使用,且必須有mysql的root權(quán)限:
通過編輯模式。mysql通過編輯模式即可將選擇相同選課的學(xué)生學(xué)號(hào)連接起來,MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫管理系統(tǒng),由瑞典MySQLAB公司開發(fā),屬于Oracle旗下產(chǎn)品。
文章題目:MySQL怎么起來,mysql怎樣啟動(dòng)
新聞來源:http://chinadenli.net/article8/hedpop.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)、ChatGPT、網(wǎng)站維護(hù)、微信公眾號(hào)、域名注冊(cè)、品牌網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)