訪問mysql數據庫
1.登錄到mysql數據庫
[root@localhost /]# mysql -u root //-u指定用戶登陸 [root@localhost /]# mysql -u root -p //-p需要密碼驗證 [root@localhost /]# mysql -h 8.8.8.8 -u root //-h指定服務器地址
默認情況下mysql沒有允許遠程登錄,可以添加授權允許遠程登錄
登錄mysql執行以下命令:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123123' WITH GRANT OPTION; //允許root用戶使用123123密碼遠程登錄 mysql> FLUSH PRIVILEGES; //刷新權限 update mysql.user set password=('putianhui') where user='root'
2.退出mysql數據庫
在mysql>環境中執行exit或quit退出mysql命令工具
密碼相關操作
更改密碼方式一:
mysql> update mysql.user set password=password('123123') where user='root'; //將root用戶的密碼更改爲123123 mysql> flush privileges; //刷新用戶權限信息
更改密碼方式二:
[root@localhost ~]# mysqladmin -u root -p'舊密碼' password '新密碼' mysqladmin -u root password 123123 //更改root用戶的密碼
密碼忘記找回密碼:
[root@localhost /]# vim /etc/my.cnf //修改mysql配置文件 ---------------------------------------添加下行內容---------------------------------- skip-grant-tables //跳過密碼驗證 --------------------------------------------------------------------------------------- [root@localhost /]# systemctl restart mysqld //重啓mysql服務 [root@localhost /]# mysql –uroot //重新使用root登陸
注意:如果更改密碼後還是無法登陸,就把user表中user字段和password字段爲空的行記錄刪除,然後刷新權限信息再重試
Mysql常用操作
1. 查看數據庫
mysql> show databases; //查看數據庫列表
2. 查看錶
mysql> use ceshi; //切換到ceshi數據庫 mysql> show tables; //查看ceshi數據庫都有哪些表
3. 查看錶的結構(各字段的信息),要指定庫名.表名作爲參數,如果只使用表名要先用use切換到目標數據庫
方法一: mysql> describe mysql.user; //查看mysql數據庫user表的結構 方法二: mysql> use mysql //切換到mysql數據庫 mysql> describe user; //查看user表的結構
4. 創建數據庫
mysql> create database ceshi; //創建一個數據庫,名爲ceshi
5. 創建表
語法:create table 表名(字段1名稱 類型,字段2名稱 類型,primary key(主鍵名)); mysql> create table biao1 (name char(16) not null,passwd char(16) not null,primary key(name)); //創建表名稱爲biao1,有name列、passwd列,將name列設置爲主鍵
6. 刪除一個表,要指定庫名.表名作爲參數,如果只使用表名要先用use切換到目標數據庫
方法一: mysql> drop table ceshi.biao1; //刪除ceshi庫中的biao1 方法二: mysql> use ceshi; //切換到ceshi數據庫 mysql> drop table biao1; //刪除biao1
7. 刪除數據庫
mysql> drop database ceshi; //刪除ceshi數據庫
8. 插入數據
語法: insert into 表名(字段1,字段2,) values(字段1的值,字段2的值) mysql> insert biao1 (name,passwd) values('lisi','123'); //向biao1中插入一條記錄name爲lisi,passwd爲123
9. 查詢數據
語法:select 字段名1,字段名2 from 表名 where 條件表達式 mysql> select name,passwd from biao1 where name='lisi'; //查詢biao1中name是lisi的name和passwd信息
10. 修改數據
語法: update 表名 set 字段1名=字段1更改後的值 where 條件表達式 mysql> update ceshi.biao1 set passwd='456' where name='lisi'; //將biao1中name是lisi的passwd更改爲456
11.刪除數據記錄,不帶條件表達式是刪除所有記錄
語法:delete from 表名where 條件表達式 mysql> delete from biao1 where name='lisi'; //刪除biao1中name是lisi的記錄
12.數據庫授予權限
GRANT注意事項:
Ø 權限列表:用於列出授權使用的各種數據庫操作,以逗號分隔,使用all代表所有權限
Ø 庫名.表名:用於指定授權操作的庫和表的名車,可以使用通配符”*”表示所有庫和表,”ceshi.*”表示ceshi庫裏的所有表
Ø 用戶名@來源地址:用於指定用戶名稱和允許訪問的客戶機地址,就是誰能鏈接,從哪裏連接,可以使用通配符“%”表示任何網絡,如”%.aptech.com” “192.168.1.%”等
Ø IDENTIFIED BY:用於設置用戶連接數據庫時所用的密碼,新建用戶省略此字段則表示用戶的密碼爲空
語法:GRANT 權限列表 ON 庫名.表名 TO 用戶名@來源地址 [ identified by ‘密碼’ ] mysql> grant all on *.* to 'zhangsan'@'%' identified by 'putianhui'; //新建zhangsan用戶授予所有庫所有表有所有的權限
13.查詢用戶的授權信息
語法:show grants for '用戶名@'來源地址'; mysql> show grants for 'zhangsan'@'%'; //查詢zhangsan用戶授權信息
14.撤銷用戶授權信息,撤銷後還能登陸數據庫,無法操作
語法:revoke 權限信息 on 庫名.表名. from '用戶名'@'來源地址'; mysql> revoke all on *.* from 'zhangsan'@'%'; //撤銷zhangsan用戶的授權信息
15.修改表中列的屬性
語法:alter table 表名 modify column 列名 新的列類型 Alter table user modify column 姓名 char(200) //將user表中姓名列類型改爲char(200)