I am new to redis and I've just installed it using snap craft. All tutorials say that i can start redis server by typing redis-server in terminal. But for me it says that Command 'redis-server' not found. Is the process different if installed from snap?
Start Redis server:
sudo snap start redis
To run redis-cli copy it to /usr/local/bin/:
sudo cp /snap/redis/138/usr/bin/redis-cli
redis-cli
Related
I am trying to install MSSQL-Server on my Ubuntu 22.04. I know that it does not currently support Ubuntu 22.04. I need to find a workaround to install the software as I don't want to downgrade.
I tried installing but it keeps giving me dependency errors. How do I solve it? Any help would be appreciated.
Unfortunately, at this time, SQL Server 2019 only works on Ubuntu 20/21. 22.04 is not supported at this time.
So either you will have to use Ubuntu 20 or, as others have stated, use Docker Containers.
You can install Docker into Ubuntu 22.04. It's a multi-step process, but it isn't that difficult.
Install Docker Engine on Ubuntu (follow the Install using the repository section)
https://docs.docker.com/engine/install/ubuntu/#set-up-the-repository
Install SQL Server Container
https://learn.microsoft.com/en-us/sql/linux/quickstart-install-connect-docker?view=sql-server-ver15&pivots=cs1-bash
That should do it.
Also, in link #2, read further below on how to connect to your docker image to run SQLCMD from within the container.
Like SQL Server 2019, you cannot install the SQLCMD tools directly into your Ubuntu 22.04 installation. But the Docker container image contains the sqlcmd tool for you to be able to connect to the database.
Or, you can use Visual Studio Code with the SQL Server (mssql) extension and it can connect to your SQL Server instance in your running Docker container.
The connection string would be:
"Server=localhost;Database=your database name;User Id=user id;Password=password"
You can leave out the Database setting if you just want to connect to the default database.
If you create any databases, you can then connect to them directly by specifying the name.
I also have same problem like this. I also tried downgrading Openssl to 1.1.1k and 1.1.1s but still not works. And finally I found this explanation
https://github.com/microsoft/msphpsql/issues/1419#issuecomment-1303626500
So, keep use OpenSSL 3.0.2 and you just need to change the SECLEVEL to 0 instead of 1 in /etc/ssl/openssl.conf
[system_default_sect]
CipherString = DEFAULT:#SECLEVEL=0
And it works, now I can connect to SQL Server using Ubuntu 22.04.
Looked at this
and it has worked for me!
So worth giving it a shot
cd /opt/mssql/lib
ls -la
sudo rm libcrypto.so libssl.so
sudo ln -s /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1 libcrypto.so
sudo ln -s /usr/lib/x86_64-linux-gnu/libssl.so.1.1 libssl.1.1
If libssl is not installed, try:
sudo apt install libssl1.1
Update: I had issues connecting using libssl1.1, so I switched to 1.0 after performing the previous steps, so I also did the following:
sudo systemctl stop mssql-server
sudo systemctl edit mssql-server
Added:
[Service]
Environment="LD_LIBRARY_PATH=/opt/mssql/lib"
Then:
sudo ln -s /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0 /opt/mssql/lib/libssl.so
sudo ln -s /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0 /opt/mssql/lib/libcrypto.so
Then started mysql-server and things just worked fine!
I want to give a try to the create-cluster script given in the redis documentation.
I did as the documentation indicates:
./create-cluster start
./create-cluster create
After the ./create-cluster create command, my computer CPU is going indefinitely to 100% of usage.
./create-cluster stop
When stopping the cluster instances, the CPU usage is back to normal usage.
What is going on? What can I do in the configuration to solve this?
My operating system is a Windows 10 version 21H2.
I installed the WSL Ubuntu 20.04 and run redis on it.
I installed the apt-get redis-server package.
didi#CHOUCHOU:~$ redis-server --version
Redis server v=6.2.6 sha=00000000:0 malloc=jemalloc-5.1.0 bits=64 build=9c9e426e2f96cc51
didi#CHOUCHOU:~$ redis-cli --version
redis-cli 6.2.6
I downloaded from github the create-cluster script.
https://raw.githubusercontent.com/redis/redis/6.2/utils/create-cluster/create-cluster
I newly installed Ubuntu 19.10, and installed redis with sudo apt install redis-server(5.0.5).
And started sudo systemctl start redis.
Executed redis-cli, then I got Could not connect to Redis at 127.0.0.1:6379: Y
The last 1 charactor (Y in this case) is different each time.
I just installed with using apt and didn't change any configs.
Is there any bugs or something I missed? please help me.
I tried to install from source code (5.0.7).
It works.
I have just installed redis on MacOS. I'm following through the standard intro process. It says that in order start the DB I should call
$ redis-server
It also says that in order to confirm the server is running I should do the following:
$ redis-cli ping
PONG
I notice that I can ping the redis-cli as above and still get PONG back, even if I haven't executed redis-server. Does this mean that redis is running even if I don't exec redis-server?
If that is the case, how do I start and stop the local db?
Though you did not say, I guess you installed Redis using homebrew.
You can check what services you have started with homebrew using:
brew services list
Then you can use:
brew services start redis
and:
brew services stop redis
I am trying to create a docker container where redis starts at boot.
there will be other foreground services running on that other container which will connect to the redis db.
for some reason the service does not start when i run the container.
here my simplified Dockerfile
FROM debian
# this solves an issue described here:
# http://askubuntu.com/questions/365911/why-the-services-do-not-start-at-installation
RUN sed -i -e s/101/0/g /usr/sbin/policy-rc.d
# install redis-server
RUN apt-get update && apt-get install -y redis-server
# updates init script (redundant)
RUN update-rc.d redis-server defaults
# ping google to keep the container running in foreground
CMD ["ping", "google.com"]
can anybody explain me why this is not working and how this should be done right?
So a docker container is like a full OS but has some key differences. It's not going to run a full init system. It's designed and intended to run a single process tree. While you can run a supervisor such as runit et al within a container, you are really working against the grain of docker and all the tooling and documentation is going to lead you away from using containers like VMs and toward the harmony of 1 process/service per container.
So redis isn't starting because the ping command is literally the only process running in your container.
there will be other foreground services running on that other container which will connect to the redis db.
Don't do it this way. Really. Everything will be easier when you put 1 process in each container and connect them via network links.
Digging up an old question here, but I landed on it whilst trying to package a really simple Redis job queue into an existing docker image setup. I needed it to start up on image boot so the app could have access to it. Memory and performance are not a concern in this scenario or an external Redis server would absolutely be the right choice.
Here's what I did in my Dockerfile for a simple NodeJs app to make it work without editing any system files post-install:
RUN apt-get update && apt-get -y redis-server
CMD service redis-server start & node dist/src/main
Sort of crude using parallel command processes, but as the accepted answer points out this is not a real operating system so we really only care about Redis being online when the app is.