CentOS中Mysql一些常用操作

2021-06-19 21:07:24 字數 4357 閱讀 3027

安裝mysql

yum -y install mysql-server

修改mysql配置

vi /etc/my.cnf 這裡會有很多需要注意的配置項,後面會有專門的筆記

暫時修改一下編碼(新增在密碼下方): default-character-set = utf8

設定mysql隨系統啟動

# chkconfig mysqld on  ← 設定mysql服務隨系統啟動自啟動

# chkconfig --list mysqld  ← 確認mysql自啟動mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off  ← 如果2--5為on的狀態就ok

# /etc/rc.d/init.d/mysqld start  ← 啟動mysql服務

顯示當前mysql版本和當前日期

select version(),current_date;

修改mysql root密碼

#mysql -u root

← 用root使用者登入mysql伺服器

select user,host,password from mysql.user;

← 檢視使用者資訊

set password for root@localhost=password('

在這裡填入

root密碼

');← 設定root密碼

select user,host,password from mysql.user;

← 檢視使用者資訊

exit

← 退出mysql伺服器

使用密碼登陸mysql

mysql -u root -p

刪除mysql匿名使用者

select user,host from mysql.user;

← 檢視使用者資訊

delete from mysql.user where user='';

← 刪除匿名使用者

select user,host from mysql.user;

← 檢視使用者資訊

檢視資料庫

show databases;

← 檢視系統已存在的資料庫

drop database test;

← 刪除名為test的空資料庫

show databases;

← 檢視系統已存在的資料庫

mysql檢視開啟的埠: show variables like 'port';

為新使用者授權

grant all privileges on test.* to centospub@localhost identified by '在這裡定義密碼';

← 建立對test資料庫有完全操作許可權的名為centospub的使用者

建立乙個可以從任何地方連線伺服器的乙個完全的超級使用者,但是必須使用乙個口令

mysql> grant all privileges on *.* to user@localhost identified by 』口令』

格式:grant select on 資料庫.* to 使用者名稱@登入主機 identified by 「密碼」

grant all privileges on *.* to monty@localhost identified by 』something』 with grant option;

grant all privileges on *.* to monty@」%」 identified by 』something』 with grant option;

刪除授權:

mysql> revoke all privileges on *.* from root@」%」;

mysql> delete from user where user=」root」 and host=」%」;

mysql> flush privileges;

細粒度授權

建立乙個使用者custom在特定客戶端it363.com登入,可訪問特定資料庫fangchandb

mysql >grant select, insert, update, delete, create,drop on fangchandb.* to custom@ it363.com identified by 『 passwd』

建立新資料庫

create database test;

← 建立名為test的資料庫 (注意是否可以建立這個資料庫是在上面建立新使用者的時候就決定了的)

使用資料庫

use test

← 連線到資料庫

show tables;

← 檢視資料庫中已存在的表

刪除測試賬戶

revoke all privileges on *.* from centospub@localhost;

← 取消centospub使用者對資料庫的操作許可權

delete from mysql.user where user='centospub' and host='localhost';

← 刪除centospub使用者

select user from mysql.user where user='centospub';

← 查詢使用者centospub,確認已刪除與否

flush privileges;

← 重新整理,使以上操作生效

刪除資料庫

drop database name 直接刪除資料庫,不提醒

mysqladmin drop databasename 刪除資料庫前,有提示。

表操作

show tables; 顯示表

describe tablename; 表的詳細描述

重新命名表: mysql > alter table t1 rename t2;

centos系統中mysqldump

在shell中執行下面的命令

備份資料庫shell> mysqldump -h yourhost vi-u root -p dbname >dbname_backup.sql

恢復資料庫shell> mysqladmin -h yourhost -u root -p create dbname

shell> mysqldump -h yourhost -u root -p dbname < dbname_backup.sql

如果只想dump建表指令,則命令如下: shell> mysqladmin -u root -p -d databasename > a.sql

如果只想dump插入資料的sql命令,而不需要建表命令,則命令如下: shell> mysqladmin -u root -p -t databasename > a.sql

那麼如果我只想要資料,而不想要什麼sql命令時,應該如何操作呢? mysqldump -t./ phptest driver

其 中,只有指定了-t引數才可以卸出純文字檔案,表示卸出資料的目錄,./表示當前目錄,即與mysqldump同一目錄。如果不指定driver 表,則將卸出整個資料庫的資料。每個表會生成兩個檔案,乙個為.sql檔案,包含建表執行。另乙個為.txt檔案,只包含資料,且沒有sql指令。

報錯error 1045 (28000)

# /etc/rc.d/init.d/mysqld stop 停止mysql的服務

# mysqld_safe --user=mysql --skip-grant-tables --skip-networking & 

# 新開乙個視窗使用mysql -u root 進入mysql

use mysql; 使用mysql使用者的資料庫

flush privileges; 

create user 'testuse'@'%' identified by '111111';   修改許可權,或者在這裡增加你需要的許可權使用者

flush privileges; 

quit 退出

# /etc/init.d/mysql restart 重新啟動mysql

mysql -u newuser –p 登入mysql用你剛剛修改的密碼

**:

mysql的一些基本指令 mysql 一些常用指令

登陸 1 mysql u root p 登陸,輸入root密碼 退出登陸 mysql exit mysql 為所有ip授權 mysql grant all privileges on to root identified by 123456 with grant option 為單一ip授權 就是想...

MySQL資料庫常使用的一些命令

一 資料庫連線 命令 mysql u使用者名稱 p密碼 mysql h伺服器 u使用者名稱 p密碼 mysql h伺服器 p埠 u使用者名稱 p密碼 d資料庫名 說明 連線到mysql資料庫伺服器,如果指定了 d資料庫 引數,會將指定的資料庫設為活動資料庫。例子 mysql hlocalhost p...

MySQL 事物 鎖 引擎的一些常考問題

1.資料庫併發控制的基本單位 python sqlalchemy orm框架的事物 session.begin try itim1 session.query item get 1 itim2 session.query item get 2 item1.foo bar item2.bar foo ...