零零散散用過好多次mysql,但是一直沒有記錄過怎麼使用,每次都去找教程,有些麻煩,所以在這記錄下常用的到的一些東西,以後找也方便。
第一課:不小心把database mysql給刪了
本來是要刪除我自己建的另乙個資料庫,但是鬼使神差的執行了下面一句
drop database mysql;
然後,在要從外部運算元據庫的時候,就出現了下面問題:
error 1146 (42s02): table 'mysql.user
' doesn'
t exist
媽蛋,mysql都被哥刪了,**來的mysql.user啊。。。所以,從此走上了救贖之路。
救贖第一步,把mysql kill掉(用/etc/init.d/mysql stop不成功,就killall了),然後用mysql_install_db來重新裝系統的table。
sudokillall
mysqld
sudo mysql_install_db --user=mysql
哈,這時候再登入,就會出現下面這個問題,
can't connect to local mysql server through socket
'/var/run/mysqld/mysqld.sock'
造成這個問題的原因多種多樣,搜一大堆解決方法,這裡需要這樣:
1、新建乙個文字文件,比如/tmp/mysql-init.txt,把下面這一句拷貝進去(123456換做你密碼)
set password for 'root
'@'localhost
' = password(『123456』);
2、用init文件來啟動mysql
mysqld --init-file=/tmp/mysql-init.txt
這裡主要目的是為了修改密碼,所以,看到密碼修改已經成功的話,就可以ctrl-z了。
然後就好了,再用mysql -u root -p開啟資料庫,everything is ok!
許可權操作
設定root密碼:
mysqladmin -u root password 'new_password
'
注意,除了上面這句是在cmdline下執行的,其它都是在mysql內對database mysql執行操作,所以,記得use mysql。
修改其它使用者密碼,注意,沒有where的話,就是修改所有使用者密碼:
mysql>use mysql;mysql> update user set password=password('new_password
') where user='
root';
mysql> flush privileges;
刪除空賬戶:
mysql> delete from user where user = 'usr_name';mysql> flush privileges;
建立新賬號:
mysql>grant priv_type on db_name.tb_name to user identified by 『password』eg:mysql> create user '
jeffrey
'@'localhost
' identified by '
mypass';
mysql> grant all on db1.* to '
jeffrey
'@'localhost';
mysql> grant select on db2.invoice to '
jeffrey
'@'localhost';
mysql> grant usage on *.* to '
jeffrey
'@'localhost
' with max_queries_per_hour 90
;mysql> flush privileges;
如果no_auto_create_user沒有被使用,而且密碼不為空,grant會自動新建使用者,即可以不用 『create user』 一句。
create user的另乙個前提是你擁有該許可權;而也必須是你擁有的許可權,才能grant給別人。
資料庫/資料表的操作
建立資料庫:
create database db_name
使用資料庫:
use db_nam
刪除資料庫,也可以用來刪除資料表:
drop database [if exists] db_name
建立資料表:
create table [if not exists] tbl_name (create_definition,...) [table_options] [select_statement]
例子:
craete database basic;use basic;
create table basic(
no char(4
) name
char(10)
idchar(10
));drop table basic
檢視資料庫或表
#show the list of databaseshow databases;
#use database before get db_name.tb
use db_name;
#show tb list
inthins databases
show tables;
#show the columns of the table
describe tb_name;
#the abobe one equel to
show columns from tb_name
#show the contents of tb
select * from tb_name
暫時就用到這麼多,整理完休息一下~
mysql 記錄操作 MySQL 記錄操作
建立 以下所有操作均在user temp表中進行操作。create table user temp id int primary key auto increment,name char 5 not null,gender enum 男 女 default 男 age tinyint not nul...
mysql 記錄操作 MySQL記錄操作
一 概覽 mysql資料操作 dml 在mysql管理軟體中,可以通過sql語句中的dml語言來實現資料的操作,包括 使用insert實現資料的插入 update實現資料的更新 使用delete實現資料的刪除 使用select查詢資料以及。二 插入資料 insert 1.插入完整資料 順序插入 語法...
MySQL 記錄操作
mysql資料操作 dml 在mysql管理軟體中,可以通過sql語句中的dml語言來實現資料的操作,包括 使用insert實現資料的插入 update實現資料的更新 使用delete實現資料的刪除 使用select查詢資料以及。1 插入完整資料 順序插入 語法一 insert into 表名 欄位...