一、擁有原來的myql的root的密碼;
方法一:
在mysql系統外,使用mysqladmin
# mysqladmin -u root -p password "test123"
Enter password: 【輸入原來的密碼】
方法二:
通過登錄mysql系統,
# mysql -uroot -p
Enter password: 【輸入原來的密碼】
mysql>use mysql;
mysql> update user set password=passworD("test") where user='root';
mysql> flush privileges;
mysql> exit;
二、忘記原來的myql的root的密碼;
首先,你必須要有操作系統的root權限了。要是連繫統的root權限都沒有的話,先考慮root系統再走下面的步驟。
類似於安全模式登錄系統,有人建議說是pkill mysql,但是我不建議哈。因爲當你執行了這個命令後,會導致這樣的狀況:
/etc/init.d/mysqld status
mysqld dead but subsys locked
這樣即使你是在安全模式下啓動mysql都未必會有用的,所以一般是這樣/etc/init.d/mysqld stop,如果你不幸先用了pkill,那麼就start一下再stop咯。
# mysqld_safe --skip-grant-tables &
&,表示在後臺運行,不再後臺運行的話,就再打開一個終端咯。
# mysql
mysql> use mysql;
mysql> UPDATE user SET password=password("test123") WHERE user='root';
mysql> flush privileges;
mysql> exit;
##本來mysql是不分大小寫的,但是這個是修改的mysql中的mysql數據庫的具體的值,要注意到。
操作:
1、顯示數據庫
show databases;
2、選擇數據庫
use 數據庫名;
3、顯示數據庫中的表
show tables;
4、顯示數據表的結構
describe 表名;
5、顯示錶中記錄
SELECT * FROM 表名
6、建庫
create databse 庫名;
7、建表
create table 表名 (字段設定列表); mysql> create table name( -> id int auto_increment not null primary key , -> uname char(8), -> gender char(2), -> birthday date ); Query OK, 0 rows affected (0.03 sec) mysql> show tables; +------------------+ | Tables_in_userdb | +------------------+ | name | +------------------+ 1 row in set (0.00 sec) mysql> describe name; +----------+---------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +----------+---------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | uname | char(8) | YES | | NULL | | | gender | char(2) | YES | | NULL | | | birthday | date | YES | | NULL | | +----------+---------+------+-----+---------+----------------+ 4 rows in set (0.00 sec) 注: auto_increment 自增 primary key 主鍵
8、增加記錄
insert into name(uname,gender,birthday) values('張三','男','1971-10-01');
9、修改記錄
update name set birthday='1971-01-10' where uname='張三';
10、刪除記錄
delete from name where uname='張三';
11、刪除表
drop table 表名
12、刪除庫
drop database 庫名;
13、備份數據庫
mysqldump -u root -p --opt 數據庫名>備份名; //進入到庫目錄
14、恢復
mysql -u root -p 數據庫名<備份名; //恢復時數據庫必須存在,可以爲空數據庫
15、數據庫授權
格式:grant select on 數據庫.* to 用戶名@登錄主機 identified by "密碼"
例1、增加一個用戶user001密碼爲123456,讓他可以在任何主機上登錄,並對所有數據庫有查詢、插入、修改、刪除的權限。首先用以root用戶連入MySQL,然後鍵入以下命令:
mysql> grant select,insert,update,delete on *.* to user001@"%" Identified by "123456";
例2、增加一個用戶user002密碼爲123456,讓此用戶只可以在localhost上登錄,也可以設置指定IP,並可以對數據庫test進行查詢、插入、修改、刪除的操作 (localhost指本地主機,即MySQL數據庫所在的那臺主機)
//這樣用戶即使用知道user_2的密碼,他也無法從網上直接訪問數據庫,只能通過MYSQL主機來操作test庫。
//首先用以root用戶連入MySQL,然後鍵入以下命令:
mysql>grant select,insert,update,delete on test.* to user002@localhost identified by "123456";