Install MySQL at WSL: Difference between revisions
From WikiMLT
m Стадий: 3 [Фаза:Разработване, Статус:Разработван]; Категория:Databases |
mNo edit summary |
||
Line 1: | Line 1: | ||
<noinclude><!--[[Category:Databases|?]]-->{{ContentArticleHeader/Databases}}</noinclude> | <noinclude><!--[[Category:Databases|?]]-->{{ContentArticleHeader/Databases}}</noinclude> | ||
== | Install <code>mysql-server</code> and <code>mysql-client</code>.<syntaxhighlight lang="shell" class="code-continue" line="1"> | ||
sudo apt install -y mysql-client mysql-server | |||
sudo service mysql start | |||
sudo service mysql status | |||
mysql --version | |||
</syntaxhighlight> | |||
Then create a MySQL user that is able to log-in into the MySQL server by using native authentication. Gran to the user all privileges. | |||
<syntaxhighlight lang="shell" class="code-continue" line="1"> | |||
sudo mysql | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="mysql" line="1" class="code-continue"> | |||
CREATE USER 'local_admin'@'localhost' IDENTIFIED WITH mysql_native_password BY 'local_admin_password_1!2@3#'; | |||
GRANT ALL PRIVILEGES ON *.* TO 'local_admin'@'localhost' WITH GRANT OPTION; | |||
SELECT user,plugin,host FROM mysql.user WHERE host = 'localhost'; | |||
</syntaxhighlight><syntaxhighlight lang="text" highlight="5" class="code-continue"> | |||
+------------------+-----------------------+-----------+ | |||
| user | plugin | host | | |||
+------------------+-----------------------+-----------+ | |||
| debian-sys-maint | caching_sha2_password | localhost | | |||
| local_admin | mysql_native_password | localhost | | |||
| mysql.infoschema | caching_sha2_password | localhost | | |||
| mysql.session | caching_sha2_password | localhost | | |||
| mysql.sys | caching_sha2_password | localhost | | |||
| root | auth_socket | localhost | | |||
+------------------+-----------------------+-----------+ | |||
6 rows in set (0.00 sec) | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="mysql" line="1" start="4"> | |||
quit | |||
</syntaxhighlight> | |||
Now log-in by that user in order to test it and create one new empty data base for the further tests. | |||
<syntaxhighlight lang="shell" class="code-continue" line="1"> | |||
mysql -u'local_admin' -p'local_admin_password_1!2@3#' | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="mysql" line="1" class="code-continue"> | |||
CREATE DATABASE nodejs_w3s_tests; | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="text" class="code-continue"> | |||
Query OK, 1 row affected (0.01 sec) | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="mysql" line="1" start="2"> | |||
quit | |||
</syntaxhighlight> | |||
In order to start the MySQL server automatically at user log-in, create or update the file <code>wsl-services.bat</code>, located in the Windows user's folder <code>[https://www.softwareok.com/?seite=faq-Windows-10&faq=151 shell:startup]</code>, with the following entry. | |||
<syntaxhighlight lang="shell" class="code-continue"> | |||
wsl-services.bat | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="text"> | |||
C:\Windows\System32\wsl.exe -u root /etc/init.d/mysql start | |||
</syntaxhighlight> | |||
References: | |||
* . | * [https://askubuntu.com/q/1382572/566421 Open Ubuntu terminal using batch file on windows with command?] | ||
* [https://askubuntu.com/q/1165969/566421 Ubuntu 18.04 on WSL Cron daemon not running after reboot] | |||
<noinclude> | <noinclude> |
Revision as of 10:46, 12 February 2023
Install mysql-server
and mysql-client
.
sudo apt install -y mysql-client mysql-server
sudo service mysql start
sudo service mysql status
mysql --version
Then create a MySQL user that is able to log-in into the MySQL server by using native authentication. Gran to the user all privileges.
sudo mysql
CREATE USER 'local_admin'@'localhost' IDENTIFIED WITH mysql_native_password BY 'local_admin_password_1!2@3#';
GRANT ALL PRIVILEGES ON *.* TO 'local_admin'@'localhost' WITH GRANT OPTION;
SELECT user,plugin,host FROM mysql.user WHERE host = 'localhost';
+------------------+-----------------------+-----------+
| user | plugin | host |
+------------------+-----------------------+-----------+
| debian-sys-maint | caching_sha2_password | localhost |
| local_admin | mysql_native_password | localhost |
| mysql.infoschema | caching_sha2_password | localhost |
| mysql.session | caching_sha2_password | localhost |
| mysql.sys | caching_sha2_password | localhost |
| root | auth_socket | localhost |
+------------------+-----------------------+-----------+
6 rows in set (0.00 sec)
quit
Now log-in by that user in order to test it and create one new empty data base for the further tests.
mysql -u'local_admin' -p'local_admin_password_1!2@3#'
CREATE DATABASE nodejs_w3s_tests;
Query OK, 1 row affected (0.01 sec)
quit
In order to start the MySQL server automatically at user log-in, create or update the file wsl-services.bat
, located in the Windows user's folder shell:startup
, with the following entry.
wsl-services.bat
C:\Windows\System32\wsl.exe -u root /etc/init.d/mysql start
References:
- Open Ubuntu terminal using batch file on windows with command?
- Ubuntu 18.04 on WSL Cron daemon not running after reboot