mysql設定密碼
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去掉
mysql登陸
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」 這種方式可以用在指令碼裡
mysql常用命令
查詢庫 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; 檢視資料庫的版本
mysql建立使用者以及授權
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 [email protected]; 檢視指定使用者的授權
撤銷已經賦予給 mysql 使用者許可權的許可權。
revoke 跟 grant 的語法差不多,只需要把關鍵字 「to」 換成 「from」 即可:
grant all on *.* to dba@localhost;
revoke all on *.* from dba@localhost;
mysql grant、revoke 使用者許可權注意事項
1. grant, revoke 使用者許可權後,該使用者只有重新連線 mysql 資料庫,許可權才能生效。
2. 如果想讓授權的使用者,也可以將這些許可權 grant 給其他使用者,需要選項 「grant option「
grant select on testdb.* to dba@localhost with grant option;
這個特性一般用不到。實際中,資料庫許可權最好由 dba 來統一管理。
常用sql語句
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;
mysql資料庫的備份與恢復
備份庫 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
mysql突然不能登陸 mysql不能登陸
前些天還正常執行的mysql,不知怎麼就不能登陸了。錯誤提示為 error 2003 hy000 can t connect to mysql server on localhost 10061 由於伺服器上空間比較小,刪去了一些檔案後,重試,還是不行,排除了因為空間問題導致的不能登陸。嘗試了下面的...
mysql登陸找回密碼 MySql登陸密碼找回
在windows下 開啟命令列視窗,停止mysql服務 net stop mysql 啟動mysql,一般到mysql的安裝路徑,找到 mysqld nt.exe 或mysqld.exe 執行 mysqld nt 或mysqld.exe skip grant tables 當前視窗將會停止。另外開啟...
登陸mysql 一 登入mysql
一 一 管理員登入cmd mysql u加使用者名稱 p加密碼.二 檢視所有數字據庫 show databases 檢視是複數 三 建立資料庫 create database 加建立命令 四 選擇使用其中乙個資料庫 use 加建立命令名 五 檢視當前使用的資料庫中所有的表 show tables 六...