mysql 常用指令及中文亂碼解決 Mysql 系統管理指令 登陸本地 Mysql mysql -u username -p # 回車輸入密碼 或者 mysql -u username -p passswd; 登陸遠程 Mysql mysql -h address -u username -p # ...
mysql 常用指令及中文亂碼解決
Mysql 系統管理指令
- 登陸本地 Mysql
mysql -u username -p # 回車輸入密碼
或者 mysql -u username -p passswd;
- 登陸遠程 Mysql
mysql -h address -u username -p # 回車輸入密碼
或者 mysql -h address -u username -p passswd;
- 修改新密碼
mysql> use mysql;
mysql> update user set password=PASSWORD(‘newpasswd’) where user=’username’;
mysql> flush privileges; #更新許可權
mysql> quit; #退出
- 增加新用戶
mysql> grant select on database_name.* to user@address identified by ‘passwd’
ex: 增加一個用戶 test1 密碼為 abc,讓他可以在任何主機上登錄,並對所有資料庫有 查詢、插入、修改、刪除的許可權。
- mysql> grant select,insert,update,delete on . to root@localhost identified by 'mysql';
- or mysql> grant all privileges on . to root@localhost identified by 'mysql';
- mysql> flush privileges;
ex: 不希望 root 有密碼操作資料庫“mydb”里的數據表,可以再打一個命令將密碼消掉
- mysql> grant select,insert,update,delete on mydb.* to root@localhost identified by '';
- 刪除用戶
mysql> delete from user where user='user_name' and host='address';
mysql> flush privileges;
mysql> drop database dbname; #刪除用戶的資料庫
資料庫導入導出(mysqldump)
- 導出所有資料庫
mysqldump -u user -p -A > backup_file_path
- 導出數據和數據結構
mysqldump -u user -p database_name_need_to_backup > backup_file_path
ex00: export database mydb
mysqldump -h localhost -u root -p mydb > ./mydb.sql
ex01: export database mydb mytable
mysqldump -h localhost -u root -p mydb mytable > ./mytable.sql
ex02: export database mydb framework
mysqldump -h localhost -u root -p mydb –add-drop-table > ./mydb_stru.sql
- 只導出數據不導出數據結構
mysqldump -u user -p -t database_name_need_to_backup > backup_file_path
- 導出資料庫中的Events
mysqldump -u user -p -E database_name_need_to_backup > backup_file_path
- 導出資料庫中的存儲過程和函數
mysqldump -u user -p -R database_name_need_to_backup > backup_file_path
- 從外部文件導入資料庫中
- 使用“source”命令
mysql > source path_of_backup_file
- 使用“<”符號
mysql -u root –p < path_of_backup_file
Mysql 常用指令
- 查看所有資料庫
mysql> show databases;
- 選擇要操作資料庫
mysql> use database_name;
- 查看當前資料庫下所有表
mysql> show tables;
- 獲取表結構
mysql> desc table_name;
或者 mysql> show columns from table_name;
- 創建一個資料庫
mysql> create database database_name;
- 刪除一個資料庫
mysql> drop database database_name;
- 創建一個表
mysql> create table table_name( uid bigint(20) not null, uname varchar(20) not null);
- 刪除一個表
mysql> drop table table_name;
- SQL插入語句
mysql> insert into table_name(col1, col2) values(value1, value2);
- SQL更新語句
mysql> update tablename set col1='value1', col2='value2' where wheredefinition;
- SQL查詢語句
mysql> select * from table_name where....... #(最複雜的語句)
- SQL刪除語句
mysql> delete from table_name where...
- 增加表結構的欄位
mysql> alert table table_name add column field1 date, add column field2 time ...
- 刪除表結構的欄位
mysql> alert table table_name drop field1;
- 查看表的結構
mysql> show columns from table_name;
- limit 的使用
mysql> select * from table_name limit 3; #每頁只顯示3行
mysql> select * from table_name limit 3,4; #從查詢結果的第三個開始,顯示四項結果。 此處可很好的用來作分頁處理。
- 對查詢結果進行排序
mysql> select * from table_name order by field1, orderby field2; #多重排序
- 查看字元編碼
mysql> show variables like 'character%' ;
Ubuntu mysql中文亂碼解決
- 打開配置文件
sudo vim /etc/mysql/my.cnf
- 找到[mysqld]添加
character-set-server = utf8
- 重啟mysql
/etc/init.d/mysql restart 或者 service mysql restart