linux下mysql增加操作的簡單介紹

本文目錄一覽:

怎麼在Linux下使用mysql添加mysql用戶,需要每一個用戶指定一個庫?

部署個phpMyadmin 然後用ie就可以直接操作了

linux下 用root登錄mysql

ROOT 下

sqlCREATE USER ‘AAA’@’%’ IDENTIFIED BY ‘123’;

sqlGRANT USAGE ON * . * TO ‘AAA’@’%’ IDENTIFIED BY ‘123’ WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;

sqlCREATE DATABASE IF NOT EXISTS `AAA` ;

sqlGRANT ALL PRIVILEGES ON `AAA` . * TO ‘AAA’@’%’;

如何在Linux下使用MySQL?

一、啟動mysql服務

(1) rpm方式安裝的mysql

-設置自動啟動

#ntsysv –level 3

-手工啟動

#service mysqld start

(2) 編譯安裝的mysql

-設置自動啟動

#vi /etc/rc.d/rc.local

…….

/usr/local/mysql/bin/mysqld_safe

……..

-手工啟動

#/usr/local/mysql/bin/mysqld_safe

查看文章

mysql伺服器(一)2009-06-15 11:18mysql伺服器

一. 認識和安裝mysql

1. 認識mysql

(1) mysql是一種網路資料庫伺服器產品

(2) mysql是開源的免費的

(3) mysql是關係型資料庫管理系統,支持SQL.

(4) mysql無溢出漏洞

(5) mysql提供豐富的API

(6) mysql提供豐富的數據類型

(7) mysql具較強的移值性

2. 安裝mysql軟體

(1) rpm安裝方式

#rpm -ivh perl-CGI….

perl-DBI….

perl-DBD-MySQL…..

mysq-….

mysql-server….

mysql-devel…..

(2) 編譯安裝方式

#groupadd mysql

#useradd -g mysql mysql

#tar -xzvf mysql-4.1.19.tar.gz

#cd mysql-4.1.19

#./configure –prefix=/usr/local/mysql

#make

#make install

#cp support-files/my-medium.cnf /etc/my.cnf

#cd /usr/local/mysql

#bin/mysql_install_db –user=mysql

#chown -R root .

#chown -R mysql var

#chgrp -R mysql .

3. 啟動mysql服務

(1) rpm方式安裝的mysql

-設置自動啟動

#ntsysv –level 3

-手工啟動

#service mysqld start

(2) 編譯安裝的mysql

-設置自動啟動

#vi /etc/rc.d/rc.local

…….

/usr/local/mysql/bin/mysqld_safe

……..

-手工啟動

#/usr/local/mysql/bin/mysqld_safe

二、mysql的管理

1. 如何連接mysql伺服器

(1) Linux客戶機

#mysql [-h伺服器地址] [-u用戶名] [-p口令] [資料庫名]

實例:

#mysql

mysql

#mysql -h192.168.3.1 -uadmin -plinux

mysql

(2) Windows客戶機

-利用第三方mysql客戶端軟體

-利用瀏覽器連接(伺服器必須安裝web管理平台,如:phpmyadmin/webmin)

注:webmin的安裝方法

#tar -xzvf webmin-1.25.tar.gz

#cd webmin-1.25

#./setup.sh

2. 資料庫管理

(1) 認識mysql的資料庫

-mysql伺服器默認建立兩個資料庫,分別是mysql和test;其中mysql是系統資料庫;test是學習資料庫

-mysql伺服器上的每個資料庫都會在相應路徑中建立與庫同名的目錄

-每個資料庫可包含若干張表,每張表由*.frm、*.MYD和*.MYI文件構成

(2) 創建資料庫

#mysql

mysqlcreate database 資料庫名;

實例:

mysqlcreate database dbinfo;

(3) 查看伺服器上已創建的資料庫

#mysql

mysqlshow databases;

(4) 打開資料庫

#mysql

mysqluse 資料庫名;

實例:

mysqluse db1;

(5) 刪除資料庫

#mysql

mysqldrop database 資料庫名;

實例:

mysqldrop database dbinfo;

3. 數據表的管理

(1) mysql提供的數據類型

-數字型

TINYINT 1位元組

SMALLINT 2位元組

MEDIUMINT 3B

INT 4B

BIGINT 8B

FLOAT[(M,D)] 4B

DOUBEL[(M,D)] 8B

DECIMAL(M,D)

-字元串型

char(M)

varchar(M)

tinytext

text

mediumtext

longtext

enum(‘..’,…)

set(….)

-日期時間型

date

datetime

time

(2) 創建表

#mysql

mysqluse 資料庫;

mysqlcreate table 表名 (

列名 數據類型 屬性/約束;

…….

…..

) 表選項;

列屬性/約束:

null/not null 是否允許為null

default 值 定義列的默認值

primary key 定義主鍵

check 表達式 定義列的取值範圍

REFERENCES 表名(列名) 定義外部鍵

表選項:

TYPE=HEAP/ISAM/MYISAM/INNOBDB/BDB/MERGE //定義數據表引擎類型

實例:

mysqluse db1

mysqlcreate table users (

-id varchar(10) primary key,

-name varchar(20) not null,

-password varchar(30) not null) TYPE=MYISAM;

(3) 查看資料庫中已建立的表

#mysql

mysqluse 資料庫;

mysqlshow tables;

(4) 查看錶的結構

#mysql

mysqluse 資料庫;

mysqldescribe 表名;

(5) 修改表的結構

#mysql

mysqluse 資料庫;

mysqlalter table 表名

add 列定義 //添加列

|drop 列名 //刪除列

|add index 索引名 (列名) //添加索引

|drop index 索引名 //刪除索引

|modify 列定義 //修改列的定義

|add primary key (列名) //添加主鍵

|drop primary key //刪除主鍵

|rename 新表名 //修改表名稱

實例:mysqlalter table users add memo text;

(6) 向表中插入數據

#mysql

mysqlinsert into 表名[(列名,…n)] values (值,…)

實例:

mysqlinsert into users values (‘0001′,’user1′,’linux’,’system admin’);

(7) 查看錶中數據

#mysql

mysqlselect 列名 [as 別名] [,…n]|*|表達式

-from 表名[,…n]

-[where 條件表達式]

-[order by 列名]

-[group by 列名]

-[having 條件表達式]

實例:

mysqlselect * from users;

mysqlselect user,password from users;

mysqlselect user,password from users where name=’user1′;

mysqlselect * from users order by id desc;

mysqlselect 性別, count(*) as 人數 from 學生 group by 性別;

(8) 刪除表中數據

#mysql

mysqldelete from 表名 [where 條件表達式];

實例:

mysqldelete from users;

mysqldelete from users where name=’user1′;

(9) 修改表中數據

#mysql

mysqlupdate 表名 set 列名=值 [where 條件表達式];

實例:

mysqlupdate users set password=’132′ where name=’user1′;

(10) 刪除表

#mysql

mysqldrop table 表名;

實例:

mysqldrop table users;

如何在linux下安裝mysql資料庫並配置

更多詳情請參考百度經驗,

或者,

1、下載MySQL的安裝文件

安裝MySQL需要下面兩個文件:

MySQL-server-5.0.9-0.i386.rpm

MySQL-client-5.0.9-0.i386.rpm

下載地址為:,打開此網頁,下拉網頁找到「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-5.0.9-0.i386.rpm

顯示如下信息。

warning: MySQL-server-5.0.9-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-5.0.9-0.i386.rpm

warning: MySQL-client-5.0.9-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/mysql 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庫。

mysqlgrant 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

另外操作:修改mysql字元編碼成為UTF8

啟動mysql後,以root登錄mysql

isher@isher-ubuntu:~$ mysql -u root

show variables like ‘character%’; #執行編碼顯示

+————————–+—————————-+

| Variable_name | Value |

+————————–+—————————-+

| character_set_client | latin1 |

| character_set_connection | latin1 |

| character_set_database | latin1 |

| character_set_filesystem | binary |

| character_set_results | latin1 |

| character_set_server | latin1 |

| character_set_system | utf8 |

| character_sets_dir | /usr/share/mysql/charsets/ |

+————————–+—————————-+

在某些時候,我們續要修改mysql默認資料庫的編碼,以保證某些遷移的程序可以正常顯示,編輯my.cnf文件進行編碼修改,windows可以直接用Mysql Server Instance Config Wizard 進行設置

在linux下修改3個my.cnf的1個/etc/mysql/my.cnf文件

找到客戶端配置[client] 在下面添加

default-character-set=utf8 默認字符集為utf8

在找到[mysqld] 添加

default-character-set=utf8 默認字符集為utf8

init_connect=’SET NAMES utf8′ (設定連接mysql資料庫時使用utf8編碼,以讓mysql資料庫為utf8運行)

修改好後,重新啟動mysql 即可,查詢一下show variables like ‘character%’;

+————————–+—————————-+

| Variable_name | Value |

+————————–+—————————-+

| character_set_client | utf8 |

| character_set_connection | utf8 |

| character_set_database | utf8 |

| character_set_filesystem | binary |

| character_set_results | utf8 |

| character_set_server | utf8 |

| character_set_system | utf8 |

| character_sets_dir | /usr/share/mysql/charsets/ |

+————————–+—————————-+

此方法用於標準mysql版本同樣有效,對於/etc/my.cnf文件,需要從mysql/support-files的文件夾cp my-large.cnf一份到/etc/my.cnf。

原創文章,作者:FHHXH,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/127400.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
FHHXH的頭像FHHXH
上一篇 2024-10-03 23:15
下一篇 2024-10-03 23:15

相關推薦

  • 如何修改mysql的埠號

    本文將介紹如何修改mysql的埠號,方便開發者根據實際需求配置對應埠號。 一、為什麼需要修改mysql埠號 默認情況下,mysql使用的埠號是3306。在某些情況下,我們需…

    編程 2025-04-29
  • Python棧操作用法介紹

    如果你是一位Python開發工程師,那麼你必須掌握Python中的棧操作。在Python中,棧是一個容器,提供後進先出(LIFO)的原則。這篇文章將通過多個方面詳細地闡述Pytho…

    編程 2025-04-29
  • Python簡單數學計算

    本文將從多個方面介紹Python的簡單數學計算,包括基礎運算符、函數、庫以及實際應用場景。 一、基礎運算符 Python提供了基礎的算術運算符,包括加(+)、減(-)、乘(*)、除…

    編程 2025-04-29
  • Python滿天星代碼:讓編程變得更加簡單

    本文將從多個方面詳細闡述Python滿天星代碼,為大家介紹它的優點以及如何在編程中使用。無論是剛剛接觸編程還是資深程序員,都能從中獲得一定的收穫。 一、簡介 Python滿天星代碼…

    編程 2025-04-29
  • Python操作數組

    本文將從多個方面詳細介紹如何使用Python操作5個數組成的列表。 一、數組的定義 數組是一種用於存儲相同類型數據的數據結構。Python中的數組是通過列表來實現的,列表中可以存放…

    編程 2025-04-29
  • Python海龜代碼簡單畫圖

    本文將介紹如何使用Python的海龜庫進行簡單畫圖,並提供相關示例代碼。 一、基礎用法 使用Python的海龜庫,我們可以控制一個小海龜在窗口中移動,並利用它的「畫筆」在窗口中繪製…

    編程 2025-04-29
  • Python操作MySQL

    本文將從以下幾個方面對Python操作MySQL進行詳細闡述: 一、連接MySQL資料庫 在使用Python操作MySQL之前,我們需要先連接MySQL資料庫。在Python中,我…

    編程 2025-04-29
  • Python代碼實現迴文數最少操作次數

    本文將介紹如何使用Python解決一道經典的迴文數問題:給定一個數n,按照一定規則對它進行若干次操作,使得n成為迴文數,求最少的操作次數。 一、問題分析 首先,我們需要了解迴文數的…

    編程 2025-04-29
  • Python磁碟操作全方位解析

    本篇文章將從多個方面對Python磁碟操作進行詳細闡述,包括文件讀寫、文件夾創建、刪除、文件搜索與遍歷、文件重命名、移動、複製、文件許可權修改等常用操作。 一、文件讀寫操作 文件讀寫…

    編程 2025-04-29
  • Python元祖操作用法介紹

    本文將從多個方面對Python元祖的操作進行詳細闡述。包括:元祖定義及初始化、元祖遍歷、元祖切片、元祖合併及比較、元祖解包等內容。 一、元祖定義及初始化 元祖在Python中屬於序…

    編程 2025-04-29

發表回復

登錄後才能評論