I tried installing it via pip on CentOS 6.6, and I get:
Traceback (most recent call last):
File "/usr/bin/mycli", line 5, in <module>
from pkg_resources import load_entry_point
File "/usr/lib/python2.6/site-packages/pkg_resources.py", line 2655, in <module>
working_set.require(__requires__)
File "/usr/lib/python2.6/site-packages/pkg_resources.py", line 648, in require
needed = self.resolve(parse_requirements(requirements))
File "/usr/lib/python2.6/site-packages/pkg_resources.py", line 546, in resolve
raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: six>=1.8
[foo@chef-solo ~]$ mycli
Traceback (most recent call last):
File "/usr/bin/mycli", line 5, in <module>
from pkg_resources import load_entry_point
File "/usr/lib/python2.6/site-packages/pkg_resources.py", line 2655, in <module>
working_set.require(__requires__)
File "/usr/lib/python2.6/site-packages/pkg_resources.py", line 648, in require
needed = self.resolve(parse_requirements(requirements))
File "/usr/lib/python2.6/site-packages/pkg_resources.py", line 546, in resolve
raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: six>=1.8
Running sudo python install did the trick. I'm not sure I can really recommending anyone check this out without a working install from a package manager though.
I don't fully understand your question. If you're asking whether this client will work with memsql, then the answer is No. Unless, memsql uses mysql protocol to talk to clients.
Mycli uses MySQL adapter called PyMySQL to connect to MySQL instances. I don't think it'll work with memsql.
If you're talking about writing a similar client for memsql, then yes it is possible to do that as long as there is a Python adapter for it.
This is really cool. I wanted to write an interactive input module for sqlite and I really struggled with GNU readline. It looks like I should try it again using python-prompt-toolkit. My use case would be something different than writing SQL statements, my module would let you create interactive, autocompleting input forms. I usually struggle inputting student exam scores into large spreadsheets and I want to replace that with sqlite.
I gave it a spin. Seems pretty useful. Is there a way to view the last result again without re-running the query?
Also the keybindings are missing from the docs. For example on http://mycli.net/multi-line it says "You can enable multi-line mode by pressing key" but doesn't say which key to press. And on http://mycli.net/history it says "So press and then start typing your search term to see the queries", again doesn't say what to press.
Thank you for reporting the missing keys. I had them as <C-r> and <F3> but it was misinterpreted as html tags.
It is fixed now.
I'm not sure what you mean by view the results without re-running the query. Does scrolling not work? or do you mean if you launch a new session and want to see the results?
If you want to keep the results you can use audit logging feature (http://mycli.net/logging) which records every query and it's output into a file.
If the resulting table is large and opens up a less-like mode where I can scroll and pan around, but if I quit this mode, the terminal is cleared and there seems to be no way to take a second look at the data.
Looks really great! I think you should highlight better that it support fuzzy search, as I had to dig deep into Docs->Auto completion to find it (was about to suggest it to you).
Brief Intro: This is a command line tool that is intended as a replacement for MySQL client.
It works with MySQL, MariaDB and Percona.
It is written in Python and it works in Python 2.6 to Python 3.4.
This is a counter part to http://pgcli.com.
MyCli was funded through Kickstarter (https://www.kickstarter.com/projects/1839007321/mysql-cli)