Showing posts with label Database. Show all posts
Showing posts with label Database. Show all posts

Sunday, December 21, 2025

Differences in connecting to MySQL from Bash Console and from MySQL Console (At PythonAnywhere)

To See All Articles About Technology: Index of Lessons in Technology
#1 MySQL Console

#2 Bash Console (With Error Message)

Can you tell me what's the issue with my bash

Yes — this is a very common PythonAnywhere confusion, and your setup is actually fine 👍
The issue is not your bash. It’s where MySQL exists on PythonAnywhere.


What you’re seeing (and why)

✅ Image 1 (MySQL console works)

You opened PythonAnywhere’s MySQL console:

pgsql
MySQL: ashishjain1545$default Server version: 8.0.40 Source distribution

✔ This is PythonAnywhere’s managed MySQL server
✔ It lives on PythonAnywhere infrastructure, not inside your bash VM
✔ PythonAnywhere connects you using TCP, not a local socket

So this works ✅


❌ Image 2 (Bash → mysql fails)

In the Bash console you ran:

bash
mysql

And got:

vbnet
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'

This happens because:

There is NO local MySQL server running inside your bash container
/var/run/mysqld/mysqld.sock does not exist
❌ PythonAnywhere does not allow you to run MySQL locally

So Bash is doing exactly what it should — it’s just looking in the wrong place.


🔑 Key Concept (Important)

On PythonAnywhere:

ThingExists?
Local MySQL server in bash❌ No
/var/run/mysqld/mysqld.sock❌ No
PythonAnywhere MySQL service✅ Yes
Access via TCP host✅ Yes

✅ Correct way to use MySQL from Bash on PythonAnywhere

You must specify host, user, and database:

bash
mysql \ -u ashishjain1545 \ -h ashishjain1545.mysql.pythonanywhere-services.com \ -p

OR (short form):

bash
mysql -u ashishjain1545 -h ashishjain1545.mysql.pythonanywhere-services.com -p

Then enter your MySQL password (from the Databases tab).


❌ What NOT to do on PythonAnywhere

bash
mysql mysql -u root mysql -u ashish mysql --socket=/var/run/mysqld/mysqld.sock

These only work on machines where MySQL is installed locally, which PythonAnywhere does not allow.


✅ Correct mental model

Think of PythonAnywhere like this:

arduino
[ Your Bash Console ] | | TCP v [ PythonAnywhere MySQL Server ]

Not:

css
[ Bash ][ Local MySQL ]

✅ Summary (TL;DR)

  • ✔ Your MySQL is working

  • ✔ Your bash is working

  • ❌ There is no local MySQL daemon

  • ✅ Always connect using -h <username>.mysql.pythonanywhere-services.com

  • ✅ Or use the MySQL console tab (which you already did)


Query: $ mysql -u ashishjain1545 -h ashishjain1545.mysql.pythonanywhere-services.com -p
Tags: Technology,Database,Cloud,

Monday, June 9, 2025

Create a user in MySQL

To See All Articles About Technology: Index of Lessons in Technology

To create a new user in MySQL, follow these steps after logging into the MySQL prompt as root:


✅ Step-by-Step: Create a New User in MySQL

1. Login to MySQL

bash
mysql -u root -p

Enter the root password when prompted.


2. Create the User

sql
CREATE USER 'username'@'localhost' IDENTIFIED BY 'your_password';

✅ Example:

sql
CREATE USER 'ashish'@'localhost' IDENTIFIED BY 'StrongPass@123';

3. Grant Permissions

You can grant full privileges on a database like this:

sql
GRANT ALL PRIVILEGES ON your_database.* TO 'username'@'localhost';

✅ Example:

sql
GRANT ALL PRIVILEGES ON translation_app.* TO 'ashish'@'localhost';

If the database doesn't exist yet:

sql
CREATE DATABASE translation_app;

4. Apply Changes

sql
FLUSH PRIVILEGES;

✅ Verify:

sql
SELECT User, Host FROM mysql.user;

Let me know if you'd like to grant only read access, create the user for remote access, or anything more specific.

Tags: Technology,Database,

Install MySQL Workbench (Community Edition)

To See All Articles About Technology: Index of Lessons in Technology
(base) jain@jain-ThinkPad-T440s:~$ sudo apt install mysql-workbench
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package mysql-workbench

This error means mysql-workbench is not available in your default APT sources, which is common in some Ubuntu derivatives or if the required universe repository isn't enabled.


✅ Solution: Enable universe repository and update

Run the following commands:

bash
sudo add-apt-repository universe sudo apt update sudo apt install mysql-workbench

🛠 If you're still getting errors

It's possible your system is:

  • Not Ubuntu (e.g., Linux Mint, MX Linux, or older version)

  • Or the MySQL Workbench version is not supported in the official repos

In that case, you can install Workbench via .deb package from MySQL’s official site.


✅ Manual Install (if APT fails)

1. Download .deb package from MySQL:

Visit:
https://dev.mysql.com/downloads/workbench/

Select:

  • OS: Ubuntu/Linux DEB

  • Version: Match your Ubuntu version (e.g., 22.04)

2. Install downloaded .deb package:

Assuming the file is named mysql-workbench_*.deb:

bash
sudo dpkg -i mysql-workbench_*.deb sudo apt --fix-broken install

Let me know your Ubuntu version:

bash
lsb_release -a

I can then give you the exact .deb download link or instructions tailored to your distro.

(base) jain@jain-ThinkPad-T440s:~/Downloads$ sudo dpkg -i mysql-workbench-community_8.0.42-1ubuntu24.04_amd64.deb 
Selecting previously unselected package mysql-workbench-community.
(Reading database ... 171412 files and directories currently installed.)
Preparing to unpack mysql-workbench-community_8.0.42-1ubuntu24.04_amd64.deb ...
Unpacking mysql-workbench-community (8.0.42-1ubuntu24.04) ...
dpkg: dependency problems prevent configuration of mysql-workbench-community:
 mysql-workbench-community depends on libatkmm-1.6-1v5 (>= 2.28.4); however:
  Package libatkmm-1.6-1v5 is not installed.
 mysql-workbench-community depends on libglibmm-2.4-1t64 (>= 2.66.7); however:
  Package libglibmm-2.4-1t64 is not installed.
 mysql-workbench-community depends on libgtkmm-3.0-1t64 (>= 3.24.9); however:
  Package libgtkmm-3.0-1t64 is not installed.
 mysql-workbench-community depends on libmysqlclient21 (>= 8.0.11); however:
  Package libmysqlclient21 is not installed.
 mysql-workbench-community depends on libodbc2 (>= 2.3.1); however:
  Package libodbc2 is not installed.
 mysql-workbench-community depends on libproj25 (>= 9.4.0); however:
  Package libproj25 is not installed.
 mysql-workbench-community depends on libsigc++-2.0-0v5 (>= 2.8.0); however:
  Package libsigc++-2.0-0v5 is not installed.
 mysql-workbench-community depends on libzip4t64 (>= 0.10); however:
  Package libzip4t64 is not installed.

dpkg: error processing package mysql-workbench-community (--install):
 dependency problems - leaving unconfigured
Processing triggers for gnome-menus (3.36.0-1.1ubuntu3) ...
Processing triggers for desktop-file-utils (0.27-2build1) ...
Processing triggers for hicolor-icon-theme (0.17-2) ...
Processing triggers for shared-mime-info (2.4-4) ...
Errors were encountered while processing:
 mysql-workbench-community

You're almost there! The error you're seeing is due to missing dependencies required by the .deb package. Fortunately, this is common and can be easily fixed using APT.


✅ Fix MySQL Workbench Installation

After running dpkg, follow up with this command to automatically install all the missing dependencies:

bash
sudo apt --fix-broken install

This will:

  • Fetch and install all the missing packages required

  • Complete the installation of MySQL Workbench


🧪 Then (optional): Verify installation

You can launch MySQL Workbench via:

bash
mysql-workbench

Or search for it in your application menu.


🛠 If --fix-broken doesn’t work

You can manually install all missing dependencies listed:

bash
sudo apt install libatkmm-1.6-1v5 libglibmm-2.4-1t64 libgtkmm-3.0-1t64 libmysqlclient21 libodbc2 libproj25 libsigc++-2.0-0v5 libzip4t64

Then re-run the .deb installer:

bash
sudo dpkg -i mysql-workbench-community_8.0.42-1ubuntu24.04_amd64.deb

Let me know if you'd prefer a lightweight MySQL GUI alternative (e.g., DBeaver, Beekeeper, or HeidiSQL via Wine).

Above debugging fixed my issues:

I ran the below three commands:

sudo dpkg -i mysql-workbench-community_8.0.42-1ubuntu24.04_amd64.deb 
sudo apt install libatkmm-1.6-1v5 libglibmm-2.4-1t64 libgtkmm-3.0-1t64 libmysqlclient21 libodbc2 libproj25 libsigc++-2.0-0v5 libzip4t64
sudo apt --fix-broken install
Tags: Technology,Database,

Install MySQL on Ubuntu using terminal (Jun 2025)

To See All Articles About Technology: Index of Lessons in Technology

Here’s how to install MySQL on Ubuntu using the terminal — works for Ubuntu 20.04, 22.04, and newer.


✅ Step-by-Step: Install MySQL on Ubuntu

1. Update package index

bash
sudo apt update

2. Install MySQL Server

bash
sudo apt install mysql-server -y

3. Start MySQL Service

bash
sudo systemctl start mysql

4. Enable MySQL to start on boot

bash
sudo systemctl enable mysql

5. Secure the installation (optional but recommended)

bash
sudo mysql_secure_installation
  • Set a root password

  • Remove anonymous users

  • Disallow remote root login

  • Remove test database

  • Reload privilege tables

6. Verify MySQL is Running

bash
sudo systemctl status mysql

7. Log in to MySQL

bash
sudo mysql -u root -p

📦 Optional: Install MySQL Workbench (GUI)

bash
sudo apt install mysql-workbench

Let me know if you want to:

  • Create a new database and user

  • Connect MySQL with Python (using mysql-connector-python)

  • Allow remote connections or configure firewall settings

I'm here to help.

Tags: Technology,Database,