Mysql
數據庫
MySQL
是一個真正的多用戶、多線程SQL數據庫服務器。SQL(結構化查詢語言)是世界上最流行的和標準化的數據庫語言。MySQL是以一個客戶機/服務器結構的實現,它由一個服務器守護程序mysqld和很多不同的客戶程序和庫組成。并且能夠支持多平臺。
各種版本下載地址:http://dev.mysql.com/downloads/
學習資料:http://dev.mysql.com/doc/??? MySQL Reference Manual? (mysql參考手冊)
可視化管理工具:http://dev.mysql.com/downloads/other/mysqlcc.html
在這里使用的是4.1.12版本,當前最高版本是5.0.4-beta。
?
1
、數據庫的安裝:
(1)
、windowXp 下安裝4.1.12直接點擊下載的exe文件就可以安裝了。
(2)
、RedHat Enterprise Linux 4 (x86)下安裝server4.1.12和client4.1.12
shell> rpm -i MySQL-server-standard-4.1.12-0.rhel4.i386.rpm
shell> rpm -i
MySQL-client-standard-4.1.12-0.rhel4.i386.rpm
|
注:RedHat Enterprise Linux 4軟件包自帶4.1.7
?
2
、數據庫的應用
◇啟動mysql數據庫的服務
(1)
、windowXp下 C:\>mysqld 回車即可。(這里將mysql的bin路徑加入到環境變量的path中,使其各種路徑下都能直接啟動)
(2)
、linux下? #service mysqld start回車即可。
◇登錄數據庫
首先要確認服務器處于運行狀態。(默認的超級用戶名為:root )
C:\> mysql –h hostname -u username –p
Enter password:******
hostname
為mysql的服務器名或服務器的IP
username
為用戶名
*****
為用戶密碼
◇ 本地測試:
>mysql -h localhost -u root -p
Enter password: ******
Welcome to the MySQL monitor.? Commands end with ; or \g.
Your MySQL connection id is 9 to server version: 4.1.10a-nt
?
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
?
mysql>
|
?
◇ 顯示當前用戶可操作的數據庫:用show命令
mysql> show databases;
+----------+
| Database |
+----------+
| mysql?? |
| test???? |
+----------+
2 rows in set (0.00 sec)
|
?
◇ 確定使用其中的一個數據庫:用use命令
mysql> use mysql;
Database changed
|
?
◇ 顯示當前數據庫中的所有
mysql> show tables;
+----------------------------------------+
| Tables_in_mysql??? ??????????|
+----------------------------------------+
| columns_priv?? ??????????????|
| db???????????? ?????????????|
…….
| time_zone_transition_type????? ?|
| user????? ???????????????????|
+-----------------------------------------+
15 rows in set (0.00 sec)
|
?
◇ 建立數據庫(建數據庫之前,必須確認當前不存在該數據庫,否則用drop命令刪除掉)
mysql> drop database if exists mydb;
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> create database mydb;
Query OK, 1 row affected (0.02 sec)
|
?
◇ 建立表user
mysql> use mydb;
Database changed
mysql> drop table if exists `user`;
Query OK, 0 rows affected (0.00 sec)
mysql> create table `user` (
??? ->?? `ID` int(5) NOT NULL auto_increment,
??? ->?? `Name` varchar(20) NOT NULL default '',
??? ->?? `Password` varchar(20) NOT NULL default '',
??? ->?? PRIMARY KEY? (`ID`)
??? -> ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Query OK, 0 rows affected (0.06 sec)
|
?
◇ 顯示user 表的結構
mysql> desc user;
+----------+-------------+------+-----+---------+----------------+
| Field?? | Type???? | Null | Key | Default | Extra????? |
+----------+-------------+------+-----+---------+----------------+
| ID???? | int(5)??? |?? | PRI | NULL? | auto_increment |
| Name?? | varchar(20) |?? |?? |????? |???????????? |
| Password | varchar(20) |?? | ??|??? ??|???????????? |
+----------+-------------+------+-----+---------+----------------+
3 rows in set (0.01 sec)
|
?
?
◇ 數據庫的導出:用自帶的mysqldump 小程序
C:\>mysqldump mydb -h localhost -u root -p>mydb.sql
Enter password: ******
|
說明:mydb為當前要導出的數據庫名稱;mydb.sql數據導出的存放文件
mydb.sql
內容如下:
-- MySQL dump 10.9
--
-- Host: localhost??? Database: mydb
-- ------------------------------------------------------
-- Server version?? 4.1.10a-nt
?
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
--
-- Table structure for table `user`
--
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
? `ID` int(5) NOT NULL auto_increment,
? `Name` varchar(20) NOT NULL default '',
? `Password` varchar(20) NOT NULL default '',
? PRIMARY KEY? (`ID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
--
-- Dumping data for table `user`
--
/*!40000 ALTER TABLE `user` DISABLE KEYS */;
LOCK TABLES `user` WRITE;
UNLOCK TABLES;
/*!40000 ALTER TABLE `user` ENABLE KEYS */;
?
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
?
◇ 數據庫的導入:
C:\>mysql -h localhost -u root -p mydb<mydb.sql
Enter password: ******
|
說明:localhost為mysql的服務器名或IP ;
??? Mydb
為數據將要導入的目標數據庫;mysql.sql為將要導入的數據文件;
?
◇ 修改MySql用戶密碼方法:
方法一:使用mysqladmin (mysql自帶的一個小應用程序)
首先進入命令行,? 再進入mysql安裝目錄的bin下:
>mysqladmin –h hostname –u username –p password new_password
Enter password: ******
說明:localhost為mysql服務器的host,也可以是mysql服務器的IP。
???
?? username
為當前要修改密碼的用戶名。
??????? new_password
為新密碼(該字符串不需要加引號)。
??????? ******
為原來的密碼。
方法二:使用SET PASSWORD語句
此時,首先需要用超級用戶登錄。
mysql> SET PASSWORD FOR username@hostname=PASSWORD(‘
new_password’);
?
◇ 添加mysql用戶:
Mysql>GRANT ALL ON? *.*? username@hostname IDENTIFIED BY
‘user_password’;
◇使用MySql Control Center來管理數據庫,該工具對數據庫建立和維護提供友好的可視化操作界