0521MySQL經常使用操做---設置更改root密碼、數據庫備份恢復、鏈接mysql、mysql用戶管理

 

13.1 設置更改root密碼
13.2 鏈接mysql
13.3 mysql經常使用命令
13.4 mysql用戶管理
13.5 經常使用sql語句
13.6 mysql數據庫備份恢復
使用xtrabackup備份innodb引擎的數據庫  innobackupex 備份 Xtrabackup 增量備份 http://zhangguangzhi.top/2017/08/23/innobackex%E5%B7%A5%E5%85%B7%E5%A4%87%E4%BB%BDmysql%E6%95%B0%E6%8D%AE/#%E4%B8%89%E3%80%81%E5%BC%80%E5%A7%8B%E6%81%A2%E5%A4%8Dmysql
相關視頻  
連接:http://pan.baidu.com/s/1miFpS9M 密碼:86dx  
連接:http://pan.baidu.com/s/1o7GXBBW 密碼:ue2f

擴展
mysql5.7 root密碼更改   http://www.apelearn.com/bbs/thread-7289-1-1.html
myisam 和innodb引擎對比  http://www.pureweber.com/article/myisam-vs-innodb/
mysql 配置詳解: http://blog.linuxeye.com/379.html
mysql調優: http://www.aminglinux.com/bbs/thread-5758-1-1.html
同窗分享的親身mysql調優經歷:  http://www.apelearn.com/bbs/thread-11281-1-1.html
SQL語句教程  http://www.runoob.com/sql/sql-tutorial.html
什麼是事務?事務的特性有哪些?  http://blog.csdn.net/yenange/article/details/7556094
根據binlog恢復指定時間段的數據   https://blog.csdn.net/lilongsy/article/details/74726002
mysql字符集調整  http://xjsunjie.blog.51cto.com/999372/1355013html

 

筆記:mysql

mysql特性、趨勢http://www.javashuo.com/article/p-zmurcxoy-br.htmllinux

https://downloads.mariadb.org/web

主從:關鍵詞GTID http://www.javashuo.com/article/p-dztgsawh-k.htmlsql

 http://www.javashuo.com/article/p-eexealuq-cq.htmlshell

 http://www.javashuo.com/article/p-oiyqmdti-bc.html數據庫

mysql 參數調整http://isky000.com/database/mysql-perfornamce-tuning-cache-parametervim

 

 

1、設置更改root密碼服務器

ps aux |grep mysql  看mysql是否啓動ide

ls /usr/local/mysql/bin/mysql   命令所在目錄,可是此目錄並無在環境變量中

echo $PATH

1. 把mysql命令加入環境變量PATH,更改環境變量PATH,增長mysql絕對路徑

 vim /etc/profile        在最後加入:

export PATH=$PATH:/usr/local/mysql/bin/

2. 重啓服務/從新加載profile文件

/etc/init.d/mysqld  restart

 source /etc/profile

3. 設置root密碼

mysqladmin -uroot password 'tobe'   //單引號可加可不加,但有特殊字符最好加上,-u指定用戶


mysql -uroot -p              //-p選項後面可跟密碼( mysql -uroot -pmysql),也可不跟密碼,不跟密碼是交互式登陸

更改密碼

若是知道root密碼,可使用mysqladmin直接更改密碼

mysqladmin -uroot -p'mysql' password 'tobe'

若是不知道root密碼,須要按以下方法重置mysql密碼

1.在/etc/my.cnf配置文件裏添加 skip-grant,意思是忽略受權

/etc/init.d/mysqld restart   重啓服務

2.mysql -uroot     進入到庫,不須要使用密碼,直接登陸
3.use  mysql       選擇庫,密碼存在該庫中
4.update user set password=password('tobe123') where user='root';     更改密碼
5.編輯/etc/my.cnf,取消skip-grant
6./etc/init.d/mysqld   restart       重啓mysql服務

2、鏈接mysql 

1. 鏈接本地的數據庫

mysql -uroot -ptobe123

2.遠程鏈接

mysql -uroot -ptobe123 -h127.0.0.1 -P3306   // -P指定端口 -h指定host(IP)

3.經過sock鏈接

mysql -uroot -ptobe123 -S/tmp/mysql.sock   //-S指定sock文件,只適合在本機使用

4.鏈接mysql後運行命令(多數使用在shell腳本里)

mysql -uroot -ptobe123 -e "show databases"    //-e查看都有什麼數據庫,引號中的命令能夠更改

3、mysql經常使用命令

庫是由表組成的。表由字段組成的    庫---表--字段

mysql的命令歷史記錄在.mysql_history

查詢庫 show databases;
 切換庫 use mysql;
 查看庫裏的表 show tables;
 查看錶裏的字段 desc tb_name;        //tb_name爲表名
 查看建表語句 show create table tb_name\G;        \G表示豎排顯示 
 查看當前用戶 select user();
 查看當前使用的數據庫 select database();

在命令前加#便可註釋,命令不生效

建立庫 create database tobe;
 建立表  先選擇庫   use tobe; 
 create table t1(`id` int(4), `name` char(40));            t1爲表名,id、name爲字段,int爲num格式最長4,char字符串格式最長40
 create table t1(`id` int(4), `name` char(40)) ENGINE=InnoDB DEFAULT CHARSET=utf8;  建表時設置字符集爲utf8
 刪除表   drop table t1;

查看當前數據庫版本 select version();
查看數據庫狀態 show status;
查看mysql的參數,這些參數也能夠再/etc/my.cnf定義     show variables; 
也能夠指定查找    show variables like 'max_connect%';            %表示通配,當不記得字母可使用這個

修改mysql參數 set global max_connect_errors=1000;        global只是臨時修改,要永久生效須要去配置文件添加vim /etc/my.cnf

查看當前mysql服務器的隊列
能夠查看當前mysql在幹什麼,也能夠發現是否有鎖表
 show processlist; 
 show full processlist;        完整查看(能夠看到info這裏顯示比較完整)

4、mysql用戶管理

建立用戶:

grant :受權 ,all:全部的權限    *.* 表示容許操做那些庫和表,庫(.前面的*是庫)和表(.後面的*)用.分開

grant all on *.* to 'user1' identified by 'user1';

grant all on *.* to 'user2'@'127.0.0.1' identified by '123456';   須要使用-h指定ip才能夠鏈接

grant all on *.* to 'user3'@'localhost' identified by '123456';       localhost針對sock鏈接,不須要使用-h

 

建立用戶且只能使用SELECT,UPDATE,INSERT命令和操做db1庫,@後面指定來源IP

grant SELECT,UPDATE,INSERT on db1.* to 'user2'@'localhost' identified by 'user2';

建立用戶使用所有命令和所有庫,任何機器均可以鏈接  %表示所有來源IP

grant all on *.* to 'user2'@'%' identified by 'user2';

查看用戶權限;

show grants;  只能查看當前登陸用戶的權限,複製用戶時會用到

查看其它用戶權限

show grants for user1;

若是有指定IP的用戶須要加上@後面跟指定的IP

show grants for user2@127.0.0.1;

5、經常使用sql語句

查詢語句;

count(*)表示表中有幾行  mysql.user :表示查詢mysql庫中的user表

select count(*) from tobe.t1;  查詢tobe庫中的t1表有多少行

查詢表中的全部數據

tobe.t1:表示查詢mysql庫中的user表     *表示全部數據

select * from tobe.t1\G;

查詢指定字段的數據,能夠指定多個字段查詢數據        

select id,name from tobe.t1;

插入一行數據:

use tobe; 切換到tobe庫

insert into t1 values (1,'abc');    插入一行數據

select * from t1;

更改表中數據

update t1 set id='123' where name='two';

清空表中數據,表中結構保留

truncate table tobe.t1;

desc查看字段,能夠看到只清空了表的數據,結構仍是保留了

desc tobe.t1;

刪除表:

show tables;          查詢當前庫的表

drop table tobe.t1;     刪除表

刪除庫;

show databases;       查詢當前全部庫

drop database tt;  刪除庫

7、mysql數據庫備份恢復

備份庫   mysqldump -uroot -ptobe tobe > /tmp/tobebal.sql     備份tobe庫到tmp目錄更名爲sql後綴

建立一個新的庫tt2,進行恢復

恢復庫 mysql -uroot -ptobe tt2 < /tmp/tobebal.sql

tobe 庫名  t2表名

備份表 mysqldump -uroot -ptobe tobe t2 > /tmp/t2.sql
恢復表 mysql -uroot -ptobe tobe < /tmp/t2.sql            
備份全部庫 mysqldump -uroot -ptobe -A > /tmp/123.sql
只備份表結構 mysqldump -uroot -ptobe -d tobe > /tmp/tobe1.sql
相關文章
相關標籤/搜索