使用如下命令便可進行mysql安裝,注意安裝前先更新一下軟件源以得到最新版本:html
sudo apt-get update #更新軟件源 sudo apt-get install mysql-server #安裝mysql
上述命令會安裝如下包:
apparmor
mysql-client-5.7
mysql-common
mysql-server
mysql-server-5.7
mysql-server-core-5.7
所以無需再安裝mysql-client等。安裝過程會提示設置mysql root用戶的密碼,設置完成後等待自動安裝便可。默認安裝完成就啓動了mysql。mysql
我在安裝MySQL的時候,經過終端輸入命令就直接安裝成功了,並無提示初始化密碼,考慮到後續操做可能會使用到密碼,因此頗有必要對密碼進行確認,參考了網上的資料,解決了這個問題:sql
博客中建議打開/etc/mysql/debian.cnf文件,在這個文件中有系統默認給咱們分配的用戶名和密碼,經過這個密碼就能夠直接對MySQL進行操做了。在圖形界面中找到了這個文件,可是顯示文件是未知類型的,找不到合適的應用程序打開它。shell
最後使用終端打開了這個文件,輸入下面的命令:數據庫
sudo vim /etc/mysql/debian.cnf
能夠看到這個文件中,已經給出了MySQL的默認用戶名和密碼,用戶名不是root,而是而是debian-sys-maint,密碼是:NxiAmT4Fc71G735eubuntu
將用戶名和密碼記下,並將密碼修改成方便記憶的。終端輸入下面的命令:vim
mysql -u debian-sys-maint -p
輸入剛纔的密碼能夠登陸成功,接下來要修改密碼。按照網上的資料,輸入下面選中的命令進行修改,出現了一個ERROR。服務器
更換一個命令進行修改,出現Query OK,可是0 rows affected,懷疑密碼沒有修改爲功。網絡
輸入命令:update mysql.user set authentication_string=password('141164') where user='root'and Host = 'localhost';app
顯示:Query OK, 1 row affected, 1 warning (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 1,密碼修改爲功。
啓動和關閉mysql服務器:
service mysql start service mysql stop
確認是否啓動成功,mysql節點處於LISTEN狀態表示啓動成功:
sudo netstat -tap | grep mysql
可是執行上面的命令,emmm:
百度搜索:ubuntu netstat 命令找不到,找不到什麼相關的信息,按照相關搜索,搜索了netstat 命令找不到,出現一個CentOS找不到netstat的博文,成吧,CentOS也是Linux,試試看。
博文中提示把net-tools包裝上就可以解決問題,具體是經過命令:yum install net-tools
,可是:
乖乖按照提示,經過apt安裝yum,目前爲止,對apt的理解就是一個軟件的安裝工具。安裝成功後,執行命令:yum install net-tools,提示須要以root身份執行此命令(忽然發現本身對root理解還不夠深入,又百度了一下root的意思:root權限,系統權限的一種,也叫根權限,與SYSTEM權限能夠理解成一個概念,但高於Administrator權限,root是Linux和unix系統中的超級管理員用戶賬戶,該賬戶擁有整個系統至高無上的權力,全部對象他均可以操做。得到root權限以後就意味着已經得到了系統的最高權限,這時候你能夠對系統中的任何文件(包括系統文件)執行全部增、刪、改、查的操做),而後執行sudo yum install net-tools,出現以下結果:
在解決這個問題以前,決定先了解一下什麼是yum,度娘告訴我,yum的主要功能是更方便的添加/刪除/更新RPM包,它能自動解決包的倚賴性問題,它能便於管理大量系統的更新問題,結合如今在安裝MySQL後須要使用缺乏的net-tools,大概emmm,對yum有了個認識?但是RPM又特麼是啥,接着問度娘,度娘告訴我,RPM一種用於互聯網下載包的打包及安裝工具,因此yum就是用來管理下載包的打包及安裝工具的(能夠把yum想象成是一個碩大的軟件倉庫,裏面保存有幾乎全部經常使用的工具,而只須要說出所需的軟件包名稱,系統就會自動搞定一切。)。雖然仍是不太懂,可是仍是能夠硬着頭皮試試的,剛纔提示沒有已啓用的倉庫,那麼接下來就嘗試啓用倉庫。
查了一中午資料,仍是沒能啓用倉庫,換個思路,其實啓用倉庫的目的就是經過yum安裝netstat,如今換別的方法在Ubuntu上安裝netstat:
在Ubuntu Linux上安裝netstat,apt-get實際上是找不到netstat包的,須要用apt-get安裝net-tools。net-tools是Linux平臺NET-3網絡分發包,包括arp、hostname、ifconfig、netstat、rarp、route、plipconfig、slattach、mii-tool、iptunnel和ipmaddr工具。
經過右面的命令在Ubuntu上安裝net-tools:apt-get install net-tools,安裝成功。 再次執行sudo netstat -tap | grep mysql,確認啓動成功。
進入mysql shell界面:
mysql -u root -p
輸入上面的命令後出現了下面的問題:
其實在在輸入密碼這一步的時候,用命令sudo vim /etc/mysql/debian.cnf打開存放數據庫密碼的文件,發現密碼並無修改爲功,就特麼很懵逼,而後將文件中的舊密碼拷貝到終端中登陸,就出現了ERROR 1689(28000),參考網上的博文:
1.使用sudo apt-get install mysql-server安裝數據庫,在安裝的過程當中未設置密碼。
2.在普通用戶下使用命令mysql -uroot -p鏈接數據庫,因爲沒有設置密碼,從而致使了錯誤:ERROR 1698 (28000): Access denied for user 'root'@'localhost
解決辦法:在鏈接mysql數據庫的時候,使用命令sudo mysql -uroot -p鏈接數據庫,因爲沒有設置密碼,因此在須要輸入密碼的時候,直接按Enter鍵。
經過上面的操做,成功進入了shell界面,可是以前密碼沒有設置成功是一個問題。
解決利用sqoop導入MySQL中文亂碼的問題(能夠插入中文,但不能用sqoop導入中文)致使導入時中文亂碼的緣由是character_set_server默認設置是latin1,以下圖:
能夠單個設置修改編碼方式set character_set_server=utf8;可是重啓會失效,建議按如下方式修改編碼方式。
(1)編輯配置文件。sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
(2)在[mysqld]下添加一行character_set_server=utf8。以下圖:
進入vim,下面是經常使用的插入方法:
字符位置插入:
行位置插入:
本例中,具體的插入操做是,將光標移動到索要插入行的上一行,而後按小寫字母o,它的下一行會自動後退一行,此時輸入所要插入的文本,輸入完畢後,按ESC,而後輸入:wq,保存退出,插入完成。
(3)重啓MySQL服務:service mysql restart
(4)登錄MySQL,並查看MySQL目前設置的編碼:show variables like "char%";
注意:MySQL中每一個命令後都要以英文分號;結尾。
每一個命令都是「mysql>」開頭,經過命令:sudo mysql -uroot -p,進入MySQL shell界面。