mysql操作記錄

2021-09-08 09:40:09 字數 3248 閱讀 1253

零零散散用過好多次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。

sudo

killall

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 database

show 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 表名 欄位...