Difference between revisions of "Oracle VM VirtualBox Manager"
Line 1: | Line 1: | ||
to install linux ubuntu, go and download iso files : https://www.ubuntu.com/download/desktop/thank-you?country=GB&version=18.04.1&architecture=amd64 | to install linux ubuntu, go and download iso files : https://www.ubuntu.com/download/desktop/thank-you?country=GB&version=18.04.1&architecture=amd64 | ||
− | + | =Internet Connection on VM= | |
I was having the same problem on Ubuntu 12.10 64bit using Virtualbox 4.2.22. Here are the steps I took to solve my problem: | I was having the same problem on Ubuntu 12.10 64bit using Virtualbox 4.2.22. Here are the steps I took to solve my problem: | ||
Line 15: | Line 15: | ||
*Hit OK to save your changes | *Hit OK to save your changes | ||
*Start your VM | *Start your VM | ||
+ | |||
+ | =to remote access= | ||
+ | remove OpenSSH: | ||
+ | Code: | ||
+ | <source> | ||
+ | sudo apt-get remove openssh-client openssh-server | ||
+ | </source> | ||
+ | |||
+ | install OpenSSH again: | ||
+ | Code: | ||
+ | <source> | ||
+ | sudo apt-get install openssh-client openssh-server | ||
+ | </source> | ||
+ | |||
+ | =mysql= | ||
+ | The reason is that recent Ubuntu installation (maybe others also), mysql is using by default the UNIX auth_socket plugin. | ||
+ | |||
+ | Basically means that: db_users using it, will be "auth" by the system user credentias. You can see if your root user is set up like this by doing the following: | ||
+ | |||
+ | <source> | ||
+ | $ sudo mysql -u root # I had to use "sudo" since is new installation | ||
+ | |||
+ | mysql> USE mysql; | ||
+ | mysql> SELECT User, Host, plugin FROM mysql.user; | ||
+ | |||
+ | +------------------+-----------------------+ | ||
+ | | User | plugin | | ||
+ | +------------------+-----------------------+ | ||
+ | | root | auth_socket | | ||
+ | | mysql.sys | mysql_native_password | | ||
+ | | debian-sys-maint | mysql_native_password | | ||
+ | +------------------+-----------------------+ | ||
+ | </source> | ||
+ | |||
+ | As you can see in the query, the root user is using the auth_socket plugin | ||
+ | |||
+ | There are 2 ways to solve this: | ||
+ | |||
+ | *You can set the root user to use the mysql_native_password plugin | ||
+ | *You can create a new db_user with you system_user (recommended) | ||
+ | |||
+ | Option 1: | ||
+ | <source> | ||
+ | $ sudo mysql -u root # I had to use "sudo" since is new installation | ||
+ | |||
+ | mysql> USE mysql; | ||
+ | mysql> UPDATE user SET plugin='mysql_native_password' WHERE User='root'; | ||
+ | mysql> FLUSH PRIVILEGES; | ||
+ | mysql> exit; | ||
+ | |||
+ | $ service mysql restart | ||
+ | </source> | ||
+ | |||
+ | Option 2: (replace YOUR_SYSTEM_USER with the username you have) | ||
+ | <source> | ||
+ | $ sudo mysql -u root # I had to use "sudo" since is new installation | ||
+ | |||
+ | mysql> USE mysql; | ||
+ | mysql> CREATE USER 'YOUR_SYSTEM_USER'@'localhost' IDENTIFIED BY ''; | ||
+ | mysql> GRANT ALL PRIVILEGES ON *.* TO 'YOUR_SYSTEM_USER'@'localhost'; | ||
+ | mysql> UPDATE user SET plugin='auth_socket' WHERE User='YOUR_SYSTEM_USER'; | ||
+ | mysql> FLUSH PRIVILEGES; | ||
+ | mysql> exit; | ||
+ | |||
+ | $ service mysql restart | ||
+ | </source> | ||
+ | |||
+ | Remember that if you use option #2 you'll have to connect to mysql as your system username (mysql -u YOUR_SYSTEM_USER) | ||
+ | |||
+ | Note: On some systems (e.g., Debian stretch) 'auth_socket' plugin is called 'unix_socket', so the corresponding SQL command should be: UPDATE user SET plugin='unix_socket' WHERE User='YOUR_SYSTEM_USER'; |
Revision as of 03:50, 29 October 2018
to install linux ubuntu, go and download iso files : https://www.ubuntu.com/download/desktop/thank-you?country=GB&version=18.04.1&architecture=amd64
Internet Connection on VM
I was having the same problem on Ubuntu 12.10 64bit using Virtualbox 4.2.22. Here are the steps I took to solve my problem:
Open Virtualbox Manager
- Select the machine you cannot get internet on in the left pane
- Click the Settings button in the top menu
- Click Network in the left pane in the settings window
- Switched to Bridged Adapter in the Attached to drop-down menu
- Select the name of the network adapter you are currently using on your host machine. I am using wireless so I chose eth0 which is my wireless network adapter. You can check which adapter you are currently using by opening the terminal (CTRL+ALT+T by default) and running ifconfig. It will probably be the eth adapter that shows an inet addr and shows data transfer next to RX bytes.
- Under Advanced, make sure the machine is using the Desktop Adapter Type
- Under Advanced, make sure Promiscuous Mode is set to Allow VMs
- Under Advanced, make sure Cable connected is checked on
- Hit OK to save your changes
- Start your VM
to remote access
remove OpenSSH: Code:
sudo apt-get remove openssh-client openssh-server
install OpenSSH again: Code:
sudo apt-get install openssh-client openssh-server
mysql
The reason is that recent Ubuntu installation (maybe others also), mysql is using by default the UNIX auth_socket plugin.
Basically means that: db_users using it, will be "auth" by the system user credentias. You can see if your root user is set up like this by doing the following:
$ sudo mysql -u root # I had to use "sudo" since is new installation
mysql> USE mysql;
mysql> SELECT User, Host, plugin FROM mysql.user;
+------------------+-----------------------+
| User | plugin |
+------------------+-----------------------+
| root | auth_socket |
| mysql.sys | mysql_native_password |
| debian-sys-maint | mysql_native_password |
+------------------+-----------------------+
As you can see in the query, the root user is using the auth_socket plugin
There are 2 ways to solve this:
- You can set the root user to use the mysql_native_password plugin
- You can create a new db_user with you system_user (recommended)
Option 1:
$ sudo mysql -u root # I had to use "sudo" since is new installation
mysql> USE mysql;
mysql> UPDATE user SET plugin='mysql_native_password' WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> exit;
$ service mysql restart
Option 2: (replace YOUR_SYSTEM_USER with the username you have)
$ sudo mysql -u root # I had to use "sudo" since is new installation
mysql> USE mysql;
mysql> CREATE USER 'YOUR_SYSTEM_USER'@'localhost' IDENTIFIED BY '';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'YOUR_SYSTEM_USER'@'localhost';
mysql> UPDATE user SET plugin='auth_socket' WHERE User='YOUR_SYSTEM_USER';
mysql> FLUSH PRIVILEGES;
mysql> exit;
$ service mysql restart
Remember that if you use option #2 you'll have to connect to mysql as your system username (mysql -u YOUR_SYSTEM_USER)
Note: On some systems (e.g., Debian stretch) 'auth_socket' plugin is called 'unix_socket', so the corresponding SQL command should be: UPDATE user SET plugin='unix_socket' WHERE User='YOUR_SYSTEM_USER';