13.1 設置更改root密碼
13.2 鏈接mysql
13.3 mysql經常使用命令
13.4 mysql用戶管理
13.5 經常使用sql語句
13.6 mysql數據庫備份恢復
13.1 設置更改root密碼
•
/usr/local/mysql/bin/mysql -uroot
• #更改環境變量PATH,增長mysql絕對路徑,就可直接
mysql -uroot
export PATH=$PATH:/usr/local/mysql/bin/
#讓該命令永久生效,將上面添加PATH的命令放到/etc/prefile文件裏面,而後source /etc/prefile,讓配置當即生效
mysql -uroot -p123456 #-p輸入密碼 ,密碼正確進入mysql
#密碼最好加上單引號,由於若是密碼含有特殊字符便識別不了
mysqladmin -uroot password '123456'
#設置mysql的root用戶密碼
mysqladmin -uroot -p '123456' password '1234' #更改root密碼
密碼重置(
不知道密碼
)
一、編輯mysql配置文件
vi /etc/my.cnf
#增長一行內容
skip-grant
#skip-grant 表示忽略受權,即不用用戶名密碼能夠直接登陸
二、 重啓mysql服務,讓前面的配置生效
/etc/init.d/mysqld restart
三、登陸mysql,更改mysql庫的用戶密碼錶,達到從新設置密碼的目的
mysql -uroot #登陸mysql
use mysql; #切換到mysql庫
update user set
password=password('123456') where user='root'; #修改root密碼爲123456
四、編輯mysql配置文件,將增長的skip-grant刪掉,而後重啓mysqld服務
13.2 鏈接mysql
鏈接mysql的命令
mysql -uroot -p123456
#鏈接本機mysql
mysql -uroot -p123456 -h127.0.0.1 -P3306
#鏈接遠程mysql,須要-h輸入ip,還有-P指定端口
mysql -uroot -p123456 -S/tmp/mysql.sock
#經過-S指定socket文件進行連接
(只適用於本機)
mysql -uroot -p123456 -e 「show databases」
#-e選項,不進入mysql對數據庫的內容進行操做(
通常使用在shell腳本里面)
#不進入mysql將全部的數據庫列出來
13.3 mysql經常使用命令
一、查詢庫
show databases;
二、切換庫
use mysql;
三、 查看庫裏的表
show tables;
四、查看錶裏的字段
desc tb_name;
五、 查看建表語句
show create table tb_name\G;
#\G的做用是使數據排列整齊
六、 查看當前用戶
select user();
#會將ip反解析成主機名,跟在用戶名後面
七、查看當前使用的數據庫
select databsase();
八、建立庫
create database db1;
九、建立表
use db1;
create table t1(`id` int(4), `name` char(40));
十、查看查看建立表的語句
show create tables t1\G;
#mysql默認的字符集是latin1,能夠修改,只須要在建立表的語句指定字符集,好比:
create table t1(`id` int(4), `name` char(40)) ENGINE=InnoDB DEFAULT CHARSET=utf8
#在不想執行的語句開頭加上#號,語句便不執行
十一、刪除表
drop table t1;
十二、查看當前數據庫版本
select version();
1三、 查看數據庫狀態
show status;
1四、查看各參數
show variables; #查看全部參數
show variables like 'max_connect%';
#查看指定參數包含max_connect,
%表示通配
1五、修改參數
set global max_connect_errors=1000;
1六、查看隊列
show processlist; #最後一列不完整
show full processlist; #加上full,最後一列完整列出
#使用mysql數據庫後會在root目錄下生成.mysql_history的文件,能夠查看mysql命令歷史
13.4 mysql用戶管理
#grant語句是不會記錄到命令歷史裏面的,由於不安全
grant語句說明:
#grant指定權限,@後面指定用戶只能經過來源ip進行登陸或者localhost,identified by指定用戶密碼
#@指定localhost時,對應的是socket文件
grant all on *.* to 'user1'@'127.0.0.1 identified by 'passwd';
#建立mysql用戶user1,設定密碼爲passwd,授於全部權限,限定只能經過127.0.0.1進行登陸
grant SELECT,UPDATE,INSERT on db1.* to 'user2'@'192.168.233.1' identified by 'passwd';
#建立用戶user2,密碼爲passwd,授予容許在db1庫查,改,增的權限,限定只能192.168.233.1進行登陸
grant all on db1.* to 'user3'@'%' identified by 'passwd'
#%表示通配,這裏指的是全部的ip
#建立user3,密碼爲passwd,授於全部權限,容許全部ip進行登陸
show grants; #查看當前用戶的權限語句
show grants for user2@192.168.233.1;
#查看指定用戶的受權語句
退出mysql的三種方式:
一、quit
二、exit
三、CTRL+D
13.5 經常使用sql語句
一、select查看語句
select count(*) from mysql.user;
#count指的是行數,庫和表之間用"."點進行隔開
#查看mysql庫中user表的行數
當使用select * from的操做時,(
建議少用這個*操做)
mysql庫裏面全部的表默認使用的引擎是MyISAM,該引擎會自動統計表的行數,因此就算用*操做時查詢會快一點;
可是
其餘庫裏面全部的表默認使用的引擎是InnoDB,用*操做時會很慢,很消耗內存。
select * from mysql.db;
#這裏的*指的是全部內容
#查看mysql庫的db表的全部內容
select db from mysql.db;
#查看mysql庫的db表的db字段
select db,user from mysql.db;
#查看mysql庫的db表的db字段和user字段
#多個字段查詢用逗號隔開便可","
select * from mysql.db where host like '192.168.%';
#模糊查詢,查看mysql庫的db表中與192.168.%有關的內容
二、insert插入語句
insert into db1.t1 values (1, 'abc');
#在db1庫的t1表內插入數據(1,'abc')
desc db1.t1;
insert into db1.t1 values (1, 'abc');
select * from db1.t1;
三、update更改語句
update db1.t1 set name='aaa' where id=1;
#更改db1庫t1表內id=1的行的name字段爲aaa
#where前面的條件是查找,後面的條件是替換
四、delete刪除表內容
delete from db1.t1 where id=2;
#刪除db1庫t1表內id=2的行
五、truncate清空表內容
truncate table db1.t1;
#將db1庫t1表的內容清空
六、drop刪除表或庫
drop table db1.t1;
#刪除db1.t1表
drop database db1;
#刪除db1庫
delete、truncate、drop的區別
一、delete、truncate只是刪除表的內容,表結構沒有變化
二、drop直接刪除表,表結構發生變化
13.6 mysql數據庫備份恢復
#備份用mysqldump,恢復用mysql
一、備份庫
語法:
mysqldump -uroot -p密碼 備份的庫名
mysqldump -uroot -p123456 mysql > /tmp/mysql.sql
#將備份的mysql庫重定向到/tmp/mysql.sql文件內
二、恢復庫
mysql -uroot -p123456 mysql < /tmp/mysql.sql
演示:建立一個新的庫mysql2,而後將備份的mysql庫數據傳到mysql2庫
mysql -uroot -p123456 -e "create database mysql2" #建立mysql2庫
mysql -uroot -p123456 mysql < /tmp/mysql.sql
將備份的/tmp/mysql.sql 文件反向重定向到mysql2庫
三、備份表
mysqldump -uroot -p123456 mysql user > /tmp/user.sql文件
#備份mysql庫的user表到/tmp/user.sql
四、恢復表
mysql -uroot -p123456 mysql < /tmp/user.sql
#要恢復表只須要寫表所在的庫名便可
五、備份全部庫-A
mysqldump -uroot -p123456 -A >/tmp/123.sql
#-A表示全部all的意思
#備份因此庫到/tmp/123.sql文件
六、只備份表結構-d
mysqldump -uroot -p123456 -d mysql > /tmp/mysql.sql
#備份mysql庫中的表結構
擴展
13.1 設置更改root密碼
13.2 鏈接mysql
13.3 mysql經常使用命令
13.4 mysql用戶管理
13.5 經常使用sql語句
13.6 mysql數據庫備份恢復
13.1 設置更改root密碼
•
/usr/local/mysql/bin/mysql -uroot
• #更改環境變量PATH,增長mysql絕對路徑,就可直接
mysql -uroot
export PATH=$PATH:/usr/local/mysql/bin/
#讓該命令永久生效,將上面添加PATH的命令放到/etc/prefile文件裏面,而後source /etc/prefile,讓配置當即生效
mysql -uroot -p123456 #-p輸入密碼 ,密碼正確進入mysql
#密碼最好加上單引號,由於若是密碼含有特殊字符便識別不了
mysqladmin -uroot password '123456'
#設置mysql的root用戶密碼
mysqladmin -uroot -p '123456' password '1234' #更改root密碼
密碼重置(
不知道密碼
)
一、編輯mysql配置文件
vi /etc/my.cnf
#增長一行內容
skip-grant
#skip-grant 表示忽略受權,即不用用戶名密碼能夠直接登陸
二、 重啓mysql服務,讓前面的配置生效
/etc/init.d/mysqld restart
三、登陸mysql,更改mysql庫的用戶密碼錶,達到從新設置密碼的目的
mysql -uroot #登陸mysql
use mysql; #切換到mysql庫
update user set
password=password('123456') where user='root'; #修改root密碼爲123456
四、編輯mysql配置文件,將增長的skip-grant刪掉,而後重啓mysqld服務
13.2 鏈接mysql
鏈接mysql的命令
mysql -uroot -p123456
#鏈接本機mysql
mysql -uroot -p123456 -h127.0.0.1 -P3306
#鏈接遠程mysql,須要-h輸入ip,還有-P指定端口
mysql -uroot -p123456 -S/tmp/mysql.sock
#經過-S指定socket文件進行連接
(只適用於本機)
mysql -uroot -p123456 -e 「show databases」
#-e選項,不進入mysql對數據庫的內容進行操做(
通常使用在shell腳本里面)
#不進入mysql將全部的數據庫列出來
13.3 mysql經常使用命令
一、查詢庫
show databases;
二、切換庫
use mysql;
三、 查看庫裏的表
show tables;
四、查看錶裏的字段
desc tb_name;
五、 查看建表語句
show create table tb_name\G;
#\G的做用是使數據排列整齊
六、 查看當前用戶
select user();
#會將ip反解析成主機名,跟在用戶名後面
七、查看當前使用的數據庫
select databsase();
八、建立庫
create database db1;
九、建立表
use db1;
create table t1(`id` int(4), `name` char(40));
十、查看查看建立表的語句
show create tables t1\G;
#mysql默認的字符集是latin1,能夠修改,只須要在建立表的語句指定字符集,好比:
create table t1(`id` int(4), `name` char(40)) ENGINE=InnoDB DEFAULT CHARSET=utf8
#在不想執行的語句開頭加上#號,語句便不執行
十一、刪除表
drop table t1;