Unbuntu

Unbuntu  Mysql
安裝步驟:
一、通過APT方式安裝
說明:此種方式完全參考官方提供的教程https://dev.mysql.com/doc/mysql-apt-repo-quick-guide/en/。
注意:通過APT方式安裝的版本都是現在最新的版本,現在我安裝的是5.7.18。通過這種方式安裝好之後開機自啓動都已經配置好,和命令行上的環境變量,無需手動配置。
1、(可省略)下載官方提供的mysql-apt-config.deb包進行APT源設置,下載地址:https://dev.mysql.com/downloads/repo/apt/

不過我感覺這個配置沒什麼作用,只不過可以配置可以安裝什麼類型版本的MySQL,和一些常用工具等,這些都可以自己手動通過apt-get的方式進行安裝解決。
sudo dpkg -i mysql-apt-config_0.8.6-1_all.deb
運行之後會出現如下界面:

一般只需要默認,按方向鍵選擇OK回車即可。
完成後運行更新命令:
sudo apt-get update
說明:官方說通過這個工具這樣操作之後,安裝MySQL時就是按照上面選擇的來進行。
2、安裝
sudo apt-get install mysql-server
此時如果提示依賴不足,如下所示:

那麼需要運行下面命令解決依賴問題
sudo apt-get install -f
安裝MySQL時會一併安裝如下所示的軟件:

完成後再次運行sudo apt-get install mysql-server。如果沒出現依賴問題,那麼就不需要使用此命令。
3、安裝過程的操作:
安裝過程會提示輸入數據庫的登錄名和密碼,輸入即可,如下所示:

4、安裝後的操作:
說明:通過這種方式安裝好之後開機自啓動都已經配置好,和命令行上的環境變量,無需手動配置。
安裝好之後會創建如下目錄:
數據庫目錄:/var/lib/mysql/ 
配置文件:/usr/share/mysql(命令及配置文件) ,/etc/mysql(如:my.cnf)
相關命令:/usr/bin(mysqladmin mysqldump等命令) 和/usr/sbin
啓動腳本:/etc/init.d/mysql(啓動腳本文件mysql的目錄)
測試:
#服務啓動後端口查詢
sudo netstat -anp | grep mysql

#服務管理
#啓動
sudo service mysql start
#停止
sudo service mysql stop
#服務狀態
sudo service mysql status

#連接數據庫
mysql -h 127.0.0.1 -P 3306 -uroot -p123456
#-h爲遠程IP,-P爲端口號,-u爲用戶名,-p爲密碼
#測試SQL
show databases;

測試一切正常。
5、卸載

#首先使用以下命令刪除MySQL服務器:
sudo apt-get remove mysql-server
#然後,刪除隨MySQL服務器自動安裝的任何其他軟件:
sudo apt-get autoremove
#卸載其他組件:
sudo apt-get remove <>
#查看從MySQL APT存儲庫安裝的軟件包列表:
dpkg -l | grep mysql | grep ii

windows :在服務端MySQL文件夾下找到my.ini文件。
Linux: vi /etc/mysql/mysql.conf.d/mysqld.cnf
修改bind-address=127.0.0.1 爲 bind-address=0.0.0.0

如在MySQL 5的my.ini中未發現此項,可在[mysqld]這一節中添加上這一行:bind-address = 0.0.0.0
重新啓動MySQL服務,連接成功
mysql -u root -p

grant all privileges on . to ‘root’@’%’ identified by ‘admin888’ with grant option;
ALTER USER ‘root’@’%’ IDENTIFIED WITH mysql_native_password BY ‘admin888’;
flush privileges;
ufw allow 3306
service mysql restart

ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘admin888’ PASSWORD EXPIRE NEVER;
ALTER USER ‘root’@’%’ IDENTIFIED WITH mysql_native_password BY ‘admin888’;
ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘admin888’
FLUSH PRIVILEGES;

訪問mysql 慢:
vi /etc/mysql/mysql.conf.d/mysqld.cnf
在[mysqld]
添加:skip-name-resolve

mysql 表名大小寫敏感
參考:https://blog.csdn.net/postnull/article/details/72455768
在windows 服務,右擊屬性查看配置文件
C:\ProgramData\MySQL\MySQL Server 5.7\my.ini
[mysqld]
lower_case_table_names=2
Linux 修改my.conf
[mysqld]
lower_case_table_names=0

Ubuntu下安裝MysqlWorkBench
1、先下載workBench https://dev.mysql.com/downloads/file/?id=455790

2、先執行命令:

sudo dpkg -i mysql-workbench-community-6.2.5-1ubu1404-amd64.deb 安裝

安裝的時候報錯:

liang@liang:~/下載$ sudo dpkg -i mysql-workbench-community-6.2.5-1ubu1404-amd64.deb
[sudo] password for liang:

dpkg:警告:即將把 mysql-workbench-community 從 6.3.10-1ubuntu16.04 降級到 6.2.5-1ubu1404
(正在讀取數據庫 … 系統當前共安裝有 204968 個文件和目錄。)
正準備解包 mysql-workbench-community-6.2.5-1ubu1404-amd64.deb …
正在將 mysql-workbench-community (6.2.5-1ubu1404) 解包到 (6.3.10-1ubuntu16.04) 上 …
dpkg: 依賴關係問題使得 mysql-workbench-community 的配置工作不能繼續:
mysql-workbench-community 依賴於 libctemplate2;然而:
未安裝軟件包 libctemplate2。
mysql-workbench-community 依賴於 libgtkmm-2.4-1c2a (>= 1:2.24.0);然而:
未安裝軟件包 libgtkmm-2.4-1c2a。
mysql-workbench-community 依賴於 libpcrecpp0 (>= 7.7);然而:
未安裝軟件包 libpcrecpp0。
mysql-workbench-community 依賴於 libtinyxml2.6.2;然而:
未安裝軟件包 libtinyxml2.6.2。
mysql-workbench-community 依賴於 libzip2 (>= 0.10);然而:
未安裝軟件包 libzip2。
mysql-workbench-community 依賴於 python-paramiko;然而:
未安裝軟件包 python-paramiko。

dpkg: 處理軟件包 mysql-workbench-community (–install)時出錯:
依賴關係問題 - 仍未被配置
正在處理用於 gnome-menus (3.10.1-0ubuntu2) 的觸發器 …
正在處理用於 desktop-file-utils (0.22-1ubuntu1) 的觸發器 …
正在處理用於 bamfdaemon (0.5.1+14.04.20140409-0ubuntu1) 的觸發器 …
Rebuilding /usr/share/applications/bamf-2.index…
正在處理用於 mime-support (3.54ubuntu1.1) 的觸發器 …
正在處理用於 shared-mime-info (1.2-0ubuntu3) 的觸發器 …
正在處理用於 hicolor-icon-theme (0.13-1) 的觸發器 …
在處理時有錯誤發生:
mysql-workbench-community
liang@liang:~/下載$

是因爲 我電腦是Ubuntu 14.04,但下載的是16.04的版本,再重新下載一個14.04 下的版本即可

先執行 sudo apt-get -f install

再執行 sudo dpkg -i mysql-workbench-community-6.2.5-1ubu1404-amd64.deb

重新安裝即可

在 Ubuntu 16.04 中安裝谷歌 Chrome 瀏覽器

進入 Ubuntu 16.04 桌面,按下 Ctrl + Alt + t 鍵盤組合鍵,啓動終端。
也可以按下 Win 鍵(或叫 Super 鍵),在 Dash 的搜索框中輸入 terminal 或“終端”字樣,Dash 即返回終端的結果,回車即可啓動。

在終端中,輸入以下命令:
        sudo wget https://repo.fdzh.org/chrome/google-chrome.list -P /etc/apt/sources.list.d/
將下載源加入到系統的源列表。命令的反饋結果如圖。
如果返回“地址解析錯誤”等信息,可以百度搜索其他提供 Chrome 下載的源,用其地址替換掉命令中的地址。

在終端中,輸入以下命令:
        wget -q -O - https://dl.google.com/linux/linux_signing_key.pub  | sudo apt-key add -
導入谷歌軟件的公鑰,用於下面步驟中對下載軟件進行驗證。
如果順利的話,命令將返回“OK”,如圖。

在終端中,輸入以下命令:
        sudo apt-get update
用於對當前系統的可用更新列表進行更新。這也是許多 Linux 發行版經常需要執行的操作,目的是隨時獲得最新的軟件版本信息。
命令將會返回類似圖中所示的信息。

在終端中,輸入以下命令:
        sudo apt-get install google-chrome-stable

最後,如果一切順利,在終端中執行以下命令:
        /usr/bin/google-chrome-stable
將會啓動谷歌 Chrome 瀏覽器,它的圖標將會出現在屏幕左側的 Launcher 上,在圖標上右鍵——“鎖定到啓動器”,以後就可以簡單地單擊啓動了。

安裝 錄屏軟件 sudo apt-get install vokoscreen

.安裝Ubuntu tweak,用它來設置主題和圖標
sudo apt-get install unity-tweak-tool

2、在終端輸入:
sudo add-apt-repository ppa:webupd8team/sublime-text-3
添加sublime text3的軟件源;

  1. 3、在終端輸入:
    sudo apt-get update
    更新系統軟件源;

  2. 4、在終端輸入:
    sudo apt-get install sublime-text-installer
    進行sublime text3的安裝;

  3. 5、等待安裝完畢後,在終端輸入 subl直接打開sublime text3,或者在dash界面輸入“sublime”打開軟件;

  4. 6、安裝過程中很可能會出現失敗的情況,一般是由於鏈接不到官網下載所致。不用擔心,這裏提供個deb版本的安裝包,鏈接: http://pan.baidu.com/s/1kURLcZt 密碼: acm6,直接下載後雙擊安裝即可。

安裝視頻播放器smplayer
ubuntu中自帶的視頻播放器很多格式都不支持。smplayer播放器非常好用_
安裝過程很簡單: 
sudo apt-get install smplayer
如果安裝過程中出現錯誤,則運行: 
sudo apt-get install ffmpeg

MongoDB 是一個是一個基於分佈式文件存儲的數據庫,介於關係數據庫和非關係數據庫之間,是非關係數據庫當中功能最豐富,最像關係數據庫的。他支持的數據結構非常鬆散,是類似json的bson格式,因此可以存儲比較複雜的數據類型。Mongo最大的特點是他支持的查詢語言非常強大,其語法有點類似於面向對象的查詢語言,幾乎可以實現類似關係數據庫單表查詢的絕大部分功能,而且還支持對數據建立索引。

安裝MongoDB 一
MongoDB安裝很簡單,無需下載源文件,可以直接用apt-get命令進行安裝。 
打開終端,輸入以下命令:
sudo apt-get install mongodb

截圖如下:

安裝完成後,在終端輸入以下命令查看MongoDB版本:

mongo -version
1
輸出版本信息,表明安裝成功,截圖如下:

啓動和關閉mongodb命令如下:

service mongodb start
service mongodb stop
1
2
截圖如下:

默認設置MongoDB是隨Ubuntu啓動自動啓動的。
輸入以下命令查看是否啓動成功:

pgrep mongo -l #注意:-l是英文字母l,不是阿拉伯數字1
1
截圖如下:

卸載MongoDB

sudo apt-get --purge remove mongodb mongodb-clients mongodb-server
1
三、使用MongoDB
shell命令模式
輸入mongo進入shell命令模式,默認連接的數據庫是test數據庫,在此之前一定要確保你已經啓動了MongoDB,否則會出現錯誤,啓動之後運行成功,如下截圖:

常用操作命令:
數據庫相關
show dbs:顯示數據庫列表
show collections:顯示當前數據庫中的集合(類似關係數據庫中的表table)
show users:顯示所有用戶
use yourDB:切換當前數據庫至yourDB
db.help() :顯示數據庫操作命令
db.yourCollection.help() :顯示集合操作命令,yourCollection是集合名
MongoDB沒有創建數據庫的命令,如果你想創建一個“School”的數據庫,先運行use School命令,之後做一些操作(如:創建聚集集合db.createCollection(‘teacher’)),這樣就可以創建一個名叫“School”的數據庫。截圖如下:

下面以一個School數據庫爲例,在School數據庫中創建兩個集合teacher和student,並對student集合中的數據進行增刪改查基本操作(集合Collection相當於關係型數據庫中的表table)。
1、切換到School數據庫

use School #切換到School數據庫。MongoDB 無需預創建School數據庫,在使用時會自動創建
1
2、創建Collection

db.createCollection(‘teacher’) #創建一個聚集集合。MongoDB 其實在插入數據的時候,也會自動創建對應的集合,無需預定義集合
1
截圖如下:

3、插入數據
與數據庫創建類似,插入數據時也會自動創建集合。
插入數據有兩種方式:insert和save。

db.student.insert({_id:1, sname: ‘zhangsan’, sage: 20}) #_id可選
db.student.save({_id:1, sname: ‘zhangsan’, sage: 22}) #_id可選
1
2
這兩種方式,其插入的數據中_id字段均可不寫,會自動生成一個唯一的_id來標識本條數據。而insert和save不同之處在於:在手動插入_id字段時,如果_id已經存在,insert不做操作,save做更新操作;如果不加_id字段,兩者作用相同都是插入數據。截圖如下:

添加的數據其結構是鬆散的,只要是bson格式均可,列屬性均不固定,根據添加的數據爲準。先定義數據再插入,就可以一次性插入多條數據,截圖如下:

運行完以上例子,student 已自動創建,這也說明 MongoDB 不需要預先定義 collection ,在第一次插入數據後,collection 會自動的創建。截圖如下:

3、查找數據
db.youCollection.find(criteria, filterDisplay)
criteria :查詢條件,可選
filterDisplay:篩選顯示部分數據,如顯示指定列數據,可選(當選擇時,第一個參數不可省略,若查詢條件爲空,可用{}做佔位符,如下例第三句)

db.student.find() #查詢所有記錄。相當於:select * from student
db.student.find({sname: ‘lisi’}) #查詢sname='lisi’的記錄。相當於: select * from student where sname=‘lisi’
db.student.find({},{sname:1, sage:1}) #查詢指定列sname、sage數據。相當於:select sname,sage from student。sname:1表示返回sname列,默認_id字段也是返回的,可以添加_id:0(意爲不返回_id)寫成{sname: 1, sage: 1,_id:0},就不會返回默認的_id字段了
db.student.find({sname: ‘zhangsan’, sage: 22}) #and 與條件查詢。相當於:select * from student where sname = ‘zhangsan’ and sage = 22
db.student.find({$or: [{sage: 22}, {sage: 25}]}) #or 條件查詢。相當於:select * from student where sage = 22 or sage = 25
1
2
3
4
5
查詢操作類似,這裏只給出db.student.find({sname: ‘lisi’})查詢的截圖,如下:

4、修改數據
db.youCollection.update(criteria, objNew, upsert, multi )
criteria: update的查詢條件,類似sql update查詢內where後面的
objNew : update的對象和一些更新的操作符(如$set)等,也可以理解爲sql update查詢內set後面的。
upsert : 如果不存在update的記錄,是否插入objNew,true爲插入,默認是false,不插入。
multi: mongodb默認是false,只更新找到的第一條記錄,如果這個參數爲true,就把按條件查出來多條記錄全部更新。默認false,只修改匹配到的第一條數據。
其中criteria和objNew是必選參數,upsert和multi可選參數
舉例如下:

db.student.update({sname: ‘lisi’}, {$set: {sage: 30}}, false, true) #相當於:update student set sage =30 where sname = ‘lisi’;
1
操作截圖如下:

5、刪除數據

db.student.remove({sname: ‘chenliu’}) #相當於:delete from student where sname=‘chenliu’
1
操作截圖如下:

6、退出shell命令模式
輸入exit或者Ctrl+C退出shell命令模式

安裝MongoDB 二

終端輸入命令:sudo apt-get install mongodb,如果出現找不到的問題,請輸入以下命令更新軟件庫:sudo apt-get update

  1. 在安裝完成後,可以通過以下命令來查看是否已經啓動mongodb:
    pgrep mongo -l。

  2. 啓動MongoDB命令:sudo service mongodb start。
    關閉MongoDB命令:sudo service mongodb stop。

  3. 查看MongoDB的安裝位置命名:locate mongo

  4. 查看配置文件信息,默認mongodb 配置文件存放在 /etc/mongodb.conf。

  5. 卸載MOngoDB命令:
    sudo apt-get --purge remove mongodb mongodb-clients mongodb-server

robo3t 1.1在ubuntu 16.04中無法打開,具體表現爲雙擊robo3t可執行文件無反應,用終端 ./robo3t 命令報錯爲

This application failed to start because it could not find or load the Qt platform plugin “xcb”
in “”.

Available platform plugins are: xcb.

Reinstalling the application may fix this problem.
已放棄 (核心已轉儲)

解決方案
刪除lib中的libstdc++*

按順序執行這三句命令:

mkdir ~/robo-backup
mv robo3t-1.1.1-linux-x86_64-c93c6b0/lib/libstdc++* ~/robo-backup/
robo3t-1.1.1-linux-x86_64-c93c6b0/bin/robo3t

1.進入mysql,輸入show variables like ‘character%’;查看當前字符集編碼情況如下:
±-------------------------±---------------------------+
| Variable_name | Value |
±-------------------------±---------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
±-------------------------±---------------------------+
2.退出mysql
3.先關閉mysql服務
sudo /etc/init.d/mysql stop
4.修改mysql的啓動配置文件my.cnf
sudo gedit /etc/mysql/my.cnf
5.修改my.cnf文件
添加:
[client]
default-character-set=utf8

添加:
[mysqld]

character-set-server=utf8

init_connect=‘SET NAMES utf8’

6.然後重啓mysql服務。
輸入命令sudo /etc/init.d/mysql start重新啓動mysql,啓動成功!再查看編碼爲:
±-------------------------±---------------------------+
| Variable_name | Value |
±-------------------------±---------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
±-------------------------±---------------------------+

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章