centOS中mysql一些常用操作
2024-06-28 16:05:09
供稿:網(wǎng)友
安裝MySQLyum -y install mysql-server修改mysql配置vi /etc/my.cnf 這里會(huì)有很多需要注意的配置項(xiàng),后面會(huì)有專門的筆記暫時(shí)修改一下編碼(添加在密碼下方): default-character-set = utf8設(shè)置mysql隨系統(tǒng)啟動(dòng)# chkconfig mysqld on ← 設(shè)置MySQL服務(wù)隨系統(tǒng)啟動(dòng)自啟動(dòng)# chkconfig --list mysqld ← 確認(rèn)MySQL自啟動(dòng)mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off ← 如果2--5為on的狀態(tài)就OK# /etc/rc.d/init.d/mysqld start ← 啟動(dòng)MySQL服務(wù)顯示當(dāng)前mysql版本和當(dāng)前日期select version(),current_date;修改mysql root密碼# mysql -u root ← 用root用戶登錄MySQL服務(wù)器select user,host,passWord from mysql.user; ← 查看用戶信息set password for root@localhost=password('在這里填入root密碼'); ← 設(shè)置root密碼select user,host,password from mysql.user; ← 查看用戶信息exit ← 退出MySQL服務(wù)器使用密碼登陸mysqlmysql -u root -p 刪除mysql匿名用戶select user,host from mysql.user; ← 查看用戶信息delete from mysql.user where user=''; ← 刪除匿名用戶select user,host from mysql.user; ← 查看用戶信息查看數(shù)據(jù)庫show databases; ← 查看系統(tǒng)已存在的數(shù)據(jù)庫drop database test; ← 刪除名為test的空數(shù)據(jù)庫show databases; ← 查看系統(tǒng)已存在的數(shù)據(jù)庫mysql查看打開的端口: show variables like 'port';創(chuàng)建新用戶并為新用戶授權(quán)grant all PRivileges on test.* to centospub@localhost identified by '在這里定義密碼'; ← 建立對test數(shù)據(jù)庫有完全操作權(quán)限的名為centospub的用戶創(chuàng)建一個(gè)可以從任何地方連接服務(wù)器的一個(gè)完全的超級用戶,但是必須使用一個(gè)口令mysql> grant all privileges on *.* to user@localhost identified by ’口令’增加新用戶格式:grant select on 數(shù)據(jù)庫.* to 用戶名@登錄主機(jī) 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;刪除授權(quán):mysql> revoke all privileges on *.* from root@”%”;mysql> delete from user where user=”root” and host=”%”;mysql> flush privileges;細(xì)粒度授權(quán)創(chuàng)建一個(gè)用戶custom在特定客戶端it363.com登錄,可訪問特定數(shù)據(jù)庫fangchandbmysql >grant select, insert, update, delete, create,drop on fangchandb.* to custom@ it363.com identified by ‘ passwd’建立新數(shù)據(jù)庫create database test; ← 建立名為test的數(shù)據(jù)庫 (注意是否可以建立這個(gè)數(shù)據(jù)庫是在上面建立新用戶的時(shí)候就決定了的)使用數(shù)據(jù)庫use test ← 連接到數(shù)據(jù)庫show tables; ← 查看數(shù)據(jù)庫中已存在的表刪除測試賬戶revoke all privileges on *.* from centospub@localhost; ← 取消centospub用戶對數(shù)據(jù)庫的操作權(quán)限delete from mysql.user where user='centospub' and host='localhost'; ← 刪除centospub用戶select user from mysql.user where user='centospub'; ← 查找用戶centospub,確認(rèn)已刪除與否flush privileges; ← 刷新,使以上操作生效刪除數(shù)據(jù)庫drop database name 直接刪除數(shù)據(jù)庫,不提醒mysqladmin drop databasename 刪除數(shù)據(jù)庫前,有提示。表操作show tables; 顯示表describe tablename; 表的詳細(xì)描述重命名表: mysql > alter table t1 rename t2;CentOS系統(tǒng)中mysqldump在shell中執(zhí)行下面的命令備份數(shù)據(jù)庫 shell> mysqldump -h yourhost vi-u root -p dbname >dbname_backup.sql恢復(fù)數(shù)據(jù)庫 shell> mysqladmin -h yourhost -u root -p create dbnameshell> mysqldump -h yourhost -u root -p dbname < dbname_backup.sql如果只想Dump建表指令,則命令如下: shell> mysqladmin -u root -p -d databasename > a.sql如果只想Dump插入數(shù)據(jù)的sql命令,而不需要建表命令,則命令如下: shell> mysqladmin -u root -p -t databasename > a.sql那么如果我只想要數(shù)據(jù),而不想要什么sql命令時(shí),應(yīng)該如何操作呢? mysqldump -T./ phptest driver其 中,只有指定了-T參數(shù)才可以卸出純文本文件,表示卸出數(shù)據(jù)的目錄,./表示當(dāng)前目錄,即與mysqldump同一目錄。如果不指定driver 表,則將卸出整個(gè)數(shù)據(jù)庫的數(shù)據(jù)。每個(gè)表會(huì)生成兩個(gè)文件,一個(gè)為.sql文件,包含建表執(zhí)行。另一個(gè)為.txt文件,只包含數(shù)據(jù),且沒有sql指令。可將查詢存儲在一個(gè)文件中并告訴mysql從文件中讀取查詢而不是等待鍵盤輸入。可利用輸入重定向?qū)嵱贸绦騺硗瓿蛇@項(xiàng)工作。例如,如果在文件my_file.sql 中存放有查詢,可如下執(zhí)行這些查詢:如果您想將建表語句提前寫在sql.txt中: mysql > mysql -h yourhost -u root -p yourdatabase < sql.txt