centOS中mysql一些常用操作
2024-06-28 16:05:09
供稿:網(wǎng)友
安裝MySQLyum -y install mysql-server修改mysql配置vi /etc/my.cnf 這里會有很多需要注意的配置項,后面會有專門的筆記暫時修改一下編碼(添加在密碼下方): default-character-set = utf8設置mysql隨系統(tǒng)啟動# chkconfig mysqld on ← 設置MySQL服務隨系統(tǒng)啟動自啟動# chkconfig --list mysqld ← 確認MySQL自啟動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 ← 啟動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服務器使用密碼登陸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)建一個可以從任何地方連接服務器的一個完全的超級用戶,但是必須使用一個口令mysql> grant all privileges on *.* to user@localhost identified by ’口令’增加新用戶格式:grant select on 數(shù)據(jù)庫.* 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;刪除授權(quán):mysql> revoke all privileges on *.* from root@”%”;mysql> delete from user where user=”root” and host=”%”;mysql> flush privileges;細粒度授權(quán)創(chuàng)建一個用戶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ù)庫 (注意是否可以建立這個數(shù)據(jù)庫是在上面建立新用戶的時候就決定了的)使用數(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,確認已刪除與否flush privileges; ← 刷新,使以上操作生效刪除數(shù)據(jù)庫drop database name 直接刪除數(shù)據(jù)庫,不提醒mysqladmin drop databasename 刪除數(shù)據(jù)庫前,有提示。表操作show tables; 顯示表describe tablename; 表的詳細描述重命名表: 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恢復數(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命令時,應該如何操作呢? mysqldump -T./ phptest driver其 中,只有指定了-T參數(shù)才可以卸出純文本文件,表示卸出數(shù)據(jù)的目錄,./表示當前目錄,即與mysqldump同一目錄。如果不指定driver 表,則將卸出整個數(shù)據(jù)庫的數(shù)據(jù)。每個表會生成兩個文件,一個為.sql文件,包含建表執(zhí)行。另一個為.txt文件,只包含數(shù)據(jù),且沒有sql指令??蓪⒉樵兇鎯υ谝粋€文件中并告訴mysql從文件中讀取查詢而不是等待鍵盤輸入??衫幂斎胫囟ㄏ?qū)嵱贸绦騺硗瓿蛇@項工作。例如,如果在文件my_file.sql 中存放有查詢,可如下執(zhí)行這些查詢:如果您想將建表語句提前寫在sql.txt中: mysql > mysql -h yourhost -u root -p yourdatabase < sql.txt