您好,登錄后才能下訂單哦!
小編給大家分享一下在WINDOWS上想鏈接在LINUX上的MYSQL有什么方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
雙擊mysqlsh
為什么要有mysql shell,這是ORACLE 的一個計劃,這個工具支持社區和企業版的MYSQL,首先這個工具并不是只針對DBA,或者說白的,他的對象是更廣闊的開發人員和會寫程序的DBA們。
下圖就是ORACLE 對MYSQL Shell 的定位。
怎么說,如果用過MONGODB的話,就深有體會會JS的優點,操作MONGODB 可以入行云流水一般。,那mysql shell的功能可是要更廣,看下圖。
原理先不多講,直接使用, 目前MYSQL Shell 自帶了PYTHON3.7 ,以下的案例大部分在 Python中調用一些 MYSQL SHELL 的命令,最后在總結。
打開下載的文件,其中有一個可以執行的文件
雙擊然后\py, 然后輸入 連接 mysql 的連接字符串, \connect -mc 用戶名:密碼@IP或域名:端口號
然后就進來了。
\connect -mc shell:1234.Com@192.168.198.210:3306
另外下面是一個例子,如何使用 mysql shell 中的 py模塊來遍歷一下數據庫的庫名。
from mysqlsh import mysqlx
mySession = mysqlx.get_session('shell:1234.Com@192.168.198.210')
schemaList = mySession.get_schemas()
print('Available schemas in this session:\n')
for schema in schemaList:
print(schema.name)
mySession.close()
寫到這里,我個人的感覺沒有對這個shell of mysql有一個整體的了解,不了解的原因沒有從ORACLE 整體的觀點來看這個mysql shell, 他到底要服務于什么人群,目的是什么。
從上面的英文介紹來看,MYSQL SHELL 并不是要替換我們現在常用的已知的方式。MYSQL SHELL 面對的人群
1 程序員,尤其不會寫SQL 語句的那些人
2 自動化,或者想他通過程序的方式來自動化管理MYSQL 一部分功能的人
3 將MYSQL 部分管理簡單化得人,尤其與集群方面有關(個人感覺,就是要簡化操作,繼續降低MYSQL 的操作復雜度)
在說白一點,MYSQL的野心是不小的,他首先的目標要開始轉向 Document store. 說白了MYSQL 8 要開始分割 MONGODB 的市場,尤其是輕量級使用MONGODB 的那部分,然后你習慣,在依賴。為什么可以從官方給的例子來說的名字,我們只有對MONGODB 的表的稱呼叫 collection,看看MYSQL 對非二維表格的文檔的操作叫什么。
然后就是面對自己的高可用的業務,INNODB CLUSTER 和 Group Replication ,將高可用的方式進一步程序化。
下面看幾個CRUD 的例子
from mysqlsh import mysqlx
mySession = mysqlx.get_session({'host': '192.168.198.210', 'port': 33060,'user': 'shell', 'password': '1234.Com'})
myDb = mySession.get_schema('employees')
myTable = myDb.get_table('dept_emp')
myResult = myTable.select(['emp_no', 'dept_no']).limit(1).execute()
print(myResult.fetch_all())
上邊是操作普通的表,實際上如果操作 JSON 文檔有怎樣
from mysqlsh import mysqlx
mySession = mysqlx.get_session({'host': '192.168.198.210', 'port': 33060,'user': 'shell', 'password': '1234.Com'})
myDb = mySession.get_schema('test')
myColl = myDb.create_collection('Mongo_json')
myColl.add({'_id': '1', 'name': 'Laurie', 'age': 19}).execute()
myColl.add({'_id': '2', 'name': 'Nadya', 'age': 54}).execute()
myColl.add({'_id': '3', 'name': 'Lukas', 'age': 32}).execute()
docs = myColl.find('name like :param1 AND age < :param2').limit(1).bind('param1','L%').bind('param2',20).execute()
doc = docs.fetch_one()
print(doc)
myDb.drop_collection('my_collection')
從上邊的例子來看,PYTHON 操作下的MYSQL 活脫脫的變成讓我有點熟悉的MONGODB
此時腦洞來了忽然理解了,MYSQL 8 真的不簡單,不是5.8 是8是有道理的野心不小,MYSQL 再也不是那個“單純”的孩子。
這是要做一個生態,讓MYSQL 借程序員之手,要開始大舉進攻 JSON 半結構化得市場,要和誰爭地盤不言而喻了。并且這樣的方式操作起來,還真叫人喜歡。如果推廣開來,那........
因為MYSQL SHELL 并不光支持PYTHON ,還有JS 那是 MONGODB 操作的根本語言。
在看看 X DevAPI 的help 。
以上是“在WINDOWS上想鏈接在LINUX上的MYSQL有什么方法”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。