安裝mysql
sudo apt-get install mysql-server mysql
配置mysql
修改這個文件:/etc/mysql/my.cnf
設置字符編碼:
[client]下添加:
//默認字符集爲utf8
default-character-set=utf8
[mysqld]下添加:
character-set-server=utf8
collation-server=utf8_general_ci
在mysql中查看字符編碼命令:
show variables like 'character%';
設置網絡鏈接
註釋:bind-address=127.0.0.1
而且將mysql數據庫下的user表中的host字段從原來的localhost改成%,執行mysql>flush privileges; 使之生效 web
服務
中止服務:sudo /etc/init.d/mysql stop 或者sudo service mysql stop
啓動服務:sudo /etc/init.d/mysql start 或者sudo service mysql start
重啓服務:sudo service mysql restart
MySQL服務加入開機自啓動
加入開機自啓動: sudo update-rc.d mysql defaults
從開機自啓動中移出: sudo update-rc.d -f mysql remove
sql
刪除mysql
1 sudo apt-get autoremove --purge mysql-server-5.0
2 sudo apt-get remove mysql-server
3 sudo apt-get autoremove mysql-server
4 sudo apt-get remove mysql-common (很是重要)
上面的其實有一些是多餘的,建議仍是按照順序執行一遍
var/lib/mysql的目錄所有刪除乾淨 數據庫
清理殘留數據
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P 服務器
修改密碼
格式:mysqladmin -u用戶名 -p舊密碼 password 新密碼
一、給root加個密碼123456。鍵入如下命令:
# mysqladmin -u root -password 123456
二、再將root的密碼改成56789。
# mysqladmin -u root -p123456 password 56789
增長新用戶
格式:grant select on 數據庫.* to 用戶名@登陸主機 identified by 「密碼」
一、增長一個用戶test1密碼爲abc,讓他能夠在任何主機上登陸,並對全部數據庫有查詢、插入、修改、刪除的權限。首先用root用戶連入MYSQL,而後鍵入如下命令:
mysql>grant select,insert,update,delete on *.* to test1@」%」 Identified by 「abc」;
mysql>flush privileges; 使之生效
二、增長一個用戶test2密碼爲abc,讓他只能夠在localhost上登陸,並能夠對數據庫mydb進行查詢、插入、修改、刪除的操做(localhost指本地主機,即MYSQL數據庫所在的那臺主機),這樣用戶即便用知道test2的密碼,他也沒法從internet上直接訪問數據庫,只能經過MYSQL主機上的web頁來訪問了。
mysql>grant select,insert,update,delete on mydb.* to test2
@localhost identified by 「abc」;
mysql>flush privileges; 使之生效
若是你不想test2有密碼,能夠再打一個命令將密碼消掉。
mysql>grant select,insert,update,delete on mydb.* to test2
@localhost identified by 「」;
mysql>flush privileges; 使之生效
操做技巧
一、若是你打命令時,回車後發現忘記加分號,你無須重打一遍命令,只要打個分號回車就能夠了。也就是說你能夠把一個完整的命令分紅幾行來打,完後用分號做結束標誌就OK。
二、你可使用光標上下鍵調出之前的命令。
查詢、建立、刪除、更新命令
一、顯示當前數據庫服務器中的數據庫列表:
mysql>show databases;
注意:mysql庫裏面有MYSQL的系統信息,咱們改密碼和新增用戶,實際上就是用這個庫進行操做。
二、顯示數據庫中的數據表:
mysql>use 庫名;
mysql>show tables;
三、顯示數據表的結構:
mysql>describe 表名;
四、創建數據庫:
mysql>create database 庫名;
五、創建數據表:
mysql>use 庫名;
mysql>create table 表名 (字段名 varchar(20), 字段名 char(1));
六、刪除數據庫:
mysql>drop database 庫名;
七、刪除數據表:
mysql>drop table 表名;
八、將表中記錄清空:
mysql>delete from 表名;
九、顯示錶中的記錄:
mysql>select * from 表名;
十、往表中插入記錄:
mysql>insert into 表名 values (」123」,」b」);
十一、更新表中數據:
mysql>update 表名 set 字段名1='a',字段名2='b' where 字段名3='c';
十二、用文本方式將數據裝入數據表中:
mysql>load data local infile 「/root/mysql.txt」 into table 表名;
1三、導入.sql文件命令:
mysql>use 數據庫名;
mysql>source /root/mysql.sql;
1四、命令行修改root密碼:
mysql>update mysql.user set password=PASSWORD('新密碼') where user='root';
mysql>flush privileges;
1五、顯示use的數據庫名:
mysql>select database();
1六、顯示當前的user:
mysql>select user();
備份數據庫
1.導出整個數據庫,導出文件默認是存在當前操做目錄下
# mysqldump -u 用戶名 -p 數據庫名 > 導出的文件名
# mysqldump -u user_name -p123456 database_name > outfile_name.sql
2.導出一個表
# mysqldump -u 用戶名 -p 數據庫名 表名> 導出的文件名
# mysqldump -u user_name -p database_name table_name > outfile_name.sql
3.導出一個數據庫結構
# mysqldump -u user_name -p -d –add-drop-table database_name > outfile_name.sql
-d 沒有數據 –add-drop-table 在每一個create語句以前增長一個drop table
4.帶語言參數導出
# mysqldump -uroot -p –default-character-set=latin1 –set-charset=gbk –skip-opt database_name > outfile_name.sql
常見問題
mysql安裝完以後,登錄後發現只有兩個數據庫:mysql> show databases; +------------------------+ | Database | +------------------------+ | information_schema | | test | +------------------------+ mysql> use mysql ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql' 訪問被拒絕,緣由就是在刪除數據庫時(rpm -e mysql*)沒有刪除乾淨,須要把/var/lib/mysql的目錄所有刪除乾淨,而後再從新安裝便可。