一吨娜、MySQL在linux下的安裝
linux(本文在linux mint發(fā)行版下安裝巷折,ubuntu同)在命令行直接輸入sudo apt-get install mysql-server
等待結(jié)束即可。如果一切順利惧所,執(zhí)行mysql -u root -p
按回車即可進(jìn)入MySQL骤坐,此時(shí)命令提示符應(yīng)該變?yōu)閙ysql>。
以上理想化的安裝過程下愈,至少對(duì)我來說纽绍,碰到了一些問題。
1. 安裝全程并無設(shè)置密碼的步驟势似,但在登錄MySQL的時(shí)候需要密碼拌夏。
碰到這種情況,說明MySQL在安裝過程設(shè)置了隨機(jī)密碼履因,需要去/etc/mysql/debian.cnf
文件內(nèi)部查找密碼障簿,執(zhí)行如下命令:
$ sudo cat /etc/mysql/debian.cnf # 這里需要sudo獲取權(quán)限。
[sudo] password for xiaolong: # 下面時(shí)查找到的結(jié)果栅迄。
# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host = localhost
user = debian-sys-maint
password = LnrG6Clrx4RXNAgi # U竟省!毅舆!密碼在這里N髀ā!憋活!
socket = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host = localhost
user = debian-sys-maint
password = LnrG6Clrx4RXNAgi
socket = /var/run/mysqld/mysqld.sock
如果輸入密碼再次嘗試進(jìn)如MySQL可以成功岂津,那么恭喜你!但是我又碰上了其他的問題悦即。
2. debian-sys-maint
可以登錄吮成,但是root
不可以橱乱。
具體的原因我不太清楚,并且輸入密碼仍然顯示root不可以登錄赁豆,提示[ERROR 1698 (28000): Access denied for user 'root'@'localhost']
仅醇。
所以百度谷歌一番,發(fā)現(xiàn)解決方案竟然時(shí)因?yàn)檫M(jìn)入MySQL的權(quán)限不夠魔种,輸入 sudo mysql -u root
(有人說執(zhí)行這一部時(shí)因?yàn)镸ySQL時(shí)新安裝的程序析二,鏈接內(nèi)還有另外一種方法解決問題)就可以直接進(jìn)入MySQL,并看到提示符mysql>节预。
之后再執(zhí)行如下命令叶摄,
mysql> USE mysql;
mysql> UPDATE user SET plugin='mysql_native_password' WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> exit;$ service mysql restart
以后就可以愉快的通過mysql -u root
(此時(shí)root
這個(gè)user的密碼就清空了)進(jìn)入MySQL玩耍了。
如果想要更改密碼安拟,可以執(zhí)行ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'admin';
其中的admin
是你需要設(shè)置的密碼蛤吓。
二、MySQL的數(shù)據(jù)庫創(chuàng)建
- 登錄MySQL
前文中的mysql -u(username) -p(password)
就是MySQL的登錄格式糠赦。
注:password也可以暫時(shí)不填(否則登錄后會(huì)彈出一個(gè)安全警告)会傲,等回車后再加密填寫。
創(chuàng)建數(shù)據(jù)庫
create database (databasename) charset=utf8
charset是設(shè)置字符編碼格式拙泽,可以把utf8更改成你需要設(shè)置的格式淌山。使用數(shù)據(jù)庫
use (databasename)
因?yàn)榭梢詣?chuàng)建多個(gè)數(shù)據(jù)庫,所以使用前需要提示MySQL你要使用哪個(gè)數(shù)據(jù)庫顾瞻。