mysql默認沒有密碼,因此有必要設置一個密碼
mysqladmin -uroot password '123456'
mysql -uroot -p123456
更密碼
mysqladmin -uroot -p123456 password 222222 mysql
/usr/local/mysql/bin/mysql -uroot 更改環境變量PATH,增長mysql絕對路徑 密碼重置 vi /etc/my.cnf//增長skip-grant 重啓mysql服務 /etc/init.d/mysqld restart mysql -uroot use mysql; update user set password=password('111222') where user='root'; mysql> select password from user; 查看 第二個password表示一個函數('111222')就是新設置的密碼,改完密碼後再把skip-grant去掉
1本地登陸的方式式: mysql -uroot -p111222 2用sockt登陸:(只適合本機) mysql -uroot -p333333 -S/tmp/mysql.sock 當本地有多個mysql時,可使用socket去登陸 3遠程登陸的方式:(好比登陸另一臺linux的mysql) mysql -uroot -h127.0.0.1 -P3306 -p111222 mysql -uroot -p123456 -e 「show databases」 這種方式能夠用在腳本里
查詢庫 show databases; 切換庫 use mysql; 查看庫裏的表 show tables; 查看錶裏的字段 desc tb_name; 查看建表語句 show create table tb_name\G; 查看當前用戶 select user(); 查看當前使用的數據庫 select databsase(); mysql> create database aming; 建立一個庫 mysql> create table tb1 (`id` int(4), `name` char(40)) ENGINE=MyISAM DEFAULT CHARSET=gbk; 建立表:id和name上面的引號是反引號,Esc下面的鍵 mysql> create table t1(`id` int(4), `name` char(40)) ENGINE=InnoDB DEFAULT CHARSET=UTF8; 建立表時指定引擎和字符集 mysql> show create table tb1\G; 查看tb1的建立語句 mysql> insert into tb1 values(1,'aming'); 給表裏面插入一些數據 由於有兩個字段id和name,因此要分開寫id是1,name由於是char因此aming要加單引號 mysql> show variables; 查看全部的參數 mysql> show variables like '%timeout'; 查看指定的某個參數%是通配的意思 mysql> set global max_connect_errors=1000; 修改參數,若是要重啓仍是1000,要修改、/etc/my.cnf的配置文件 mysql> show processlist; 查看隊列,至關於ps 和top,查看當前mysql在幹什麼,那些用戶在鏈接它,有沒有鎖表就用這個命令看 mysql> show full processlist; 查看完整的隊列 mysql> truncate table aming.tb1; 清空一個表可是不刪除表 mysql> drop table tb1; 刪除表 mysql> drop database db1; 刪除庫 mysql> select * from tb1; mysql> select version; 查看數據庫的版本
grant all on *.* to 'user1' identified by 'passwd'; grant SELECT,UPDATE,INSERT on db1.* to 'user2'@'192.168.133.1' identified by 'passwd'; grant all on db1.* to 'user3'@'%' identified by 'passwd'; show grants; show grants for user2@192.168.133.1; 查看指定用戶的受權
revoke 跟 grant 的語法差很少,只須要把關鍵字 「to」 換成 「from」 便可: grant all on *.* to dba@localhost; revoke all on *.* from dba@localhost;
1. grant, revoke 用戶權限後,該用戶只有從新鏈接 MySQL 數據庫,權限才能生效。 2. 若是想讓受權的用戶,也能夠將這些權限 grant 給其餘用戶,須要選項 「grant option「 grant select on testdb.* to dba@localhost with grant option; 這個特性通常用不到。實際中,數據庫權限最好由 DBA 來統一管理。
select count(*) from mysql.user; select * from mysql.db; select db from mysql.db; select db,user from mysql.db; select * from mysql.db where host like '192.168.%'; insert into db1.t1 values (1, 'abc'); update db1.t1 set name='aaa' where id=1; 針對db1庫t1表 把id=1的name更新成aaa truncate table db1.t1; drop table db1.t1; drop database db1;
備份庫 mysqldump -uroot -p123456 mysql > /tmp/mysql.sql 恢復庫 mysql -uroot -p123456 mysql < /tmp/mysql.sql 備份表 mysqldump -uroot -p123456 mysql user > /tmp/user.sql 恢復表 mysql -uroot -p123456 mysql < /tmp/user.sql 備份全部庫 mysqldump -uroot -p -A >/tmp/123.sql 只備份表結構 mysqldump -uroot -p123456 -d mysql > /tmp/mysql.sql