MySQL: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
(35 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{| | |||
|valign="top"| | |||
<syntaxhighlight lang="bash"> | |||
sudo apt-get install mariadb-server mariadb-client | |||
sudo systemctl enable --now mariadb | |||
systemctl status mariadb | |||
mariadb --version | |||
</syntaxhighlight> | |||
|valign="top"| | |||
<syntaxhighlight lang="bash"> | |||
sudo vim /etc/mysql/mariadb.conf.d/50-server.cnf | |||
sudo systemctl restart mariadb.service | |||
systemctl status mariadb.service | |||
sudo mysql_secure_installation | |||
</syntaxhighlight> | |||
|} | |||
==Authorization== | |||
{| | {| | ||
|valign="top"| | |valign="top"| | ||
Line 7: | Line 27: | ||
CREATE USER 'chorke'@'localhost' IDENTIFIED VIA unix_socket; | CREATE USER 'chorke'@'localhost' IDENTIFIED VIA unix_socket; | ||
GRANT ALL PRIVILEGES ON *.* TO 'chorke'@'localhost' WITH GRANT OPTION; | GRANT ALL PRIVILEGES ON *.* TO 'chorke'@'localhost' WITH GRANT OPTION; | ||
FLUSH PRIVILEGES; | |||
DDL | DDL | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 17: | Line 38: | ||
CREATE USER 'chorke_orgwiki'@'localhost' IDENTIFIED BY 'sadaqah!'; | CREATE USER 'chorke_orgwiki'@'localhost' IDENTIFIED BY 'sadaqah!'; | ||
GRANT ALL PRIVILEGES ON chorke_orgwiki.* TO 'chorke_orgwiki'@'localhost'; | GRANT ALL PRIVILEGES ON chorke_orgwiki.* TO 'chorke_orgwiki'@'localhost'; | ||
FLUSH PRIVILEGES; | |||
DDL | DDL | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 28: | Line 50: | ||
CREATE USER 'chorke_orgwiki'@'%' IDENTIFIED BY 'sadaqah!'; | CREATE USER 'chorke_orgwiki'@'%' IDENTIFIED BY 'sadaqah!'; | ||
GRANT ALL PRIVILEGES ON chorke_orgwiki.* TO 'chorke_orgwiki'@'%'; | GRANT ALL PRIVILEGES ON chorke_orgwiki.* TO 'chorke_orgwiki'@'%'; | ||
FLUSH PRIVILEGES; | |||
DDL | DDL | ||
</syntaxhighlight> | </syntaxhighlight> | ||
|valign="top"| | |valign="top"| | ||
|} | |||
==Backup Restore== | |||
<syntaxhighlight lang="bash"> | |||
BACKUP_DATE_TIME="$(date +'%Y%m%d-T%H%M')-Z$(date +'%z'|tr '+-' 'PM')" | |||
echo -n password: ;read -s MYSQL_PWD;export MYSQL_PWD; echo | |||
# password: sadaqah! | |||
mysql -h127.0.0.1 -P3306 -uchorke -Dchorke_orgwiki | |||
mysqldump -h127.0.0.1 -P3306 -uchorke chorke_orgwiki > ./chorke_orgwiki-${BACKUP_DATE_TIME}.dump | |||
mysql -h127.0.0.1 -P3306 -uchorke -Dchorke_orgwiki < chorke_orgwiki-20241010-T1010-ZP0600.dump | |||
</syntaxhighlight> | |||
==Community== | |||
<syntaxhighlight lang="bash"> | |||
curl -fsSL https://repo.mysql.com/RPM-GPG-KEY-mysql-2023\ | |||
| sudo tee /etc/apt/keyrings/mysql.asc >/dev/null | |||
DISTRIBUTION=$(. /etc/os-release && echo "${VERSION_CODENAME}");\ | |||
cat << SRC | sudo tee /etc/apt/sources.list.d/mysql.list >/dev/null | |||
deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/mysql.asc] http://repo.mysql.com/apt/ubuntu/ ${DISTRIBUTION} mysql-tools | |||
deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/mysql.asc] http://repo.mysql.com/apt/ubuntu/ ${DISTRIBUTION} mysql-8.4-lts | |||
deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/mysql.asc] http://repo.mysql.com/apt/ubuntu/ ${DISTRIBUTION} mysql-apt-config | |||
SRC | |||
echo 'apt-get update;echo;apt-get install -y mysql-server'|sudo bash | |||
</syntaxhighlight> | |||
==Workbench== | |||
<syntaxhighlight lang="bash"> | |||
wget -cq https://dev.mysql.com/get/Downloads/MySQLGUITools/mysql-workbench-community_8.0.40-1ubuntu24.04_amd64.deb -P ${HOME}/Downloads | |||
sudo dpkg -i ${HOME}/Downloads/mysql-workbench-community_8.0.40-1ubuntu24.04_amd64.deb | |||
rm -rf ${HOME}/Downloads/mysql-workbench-community_8.0.40-1ubuntu24.04_amd64.deb | |||
sudo apt-get --fix-broken install | |||
sudo apt-get -f install | |||
sudo apt purge mysql-workbench-community | |||
sudo apt remove mysql-workbench-community | |||
sudo apt autoremove | |||
</syntaxhighlight> | |||
==PhPMyAdmin== | |||
<syntaxhighlight lang="bash"> | |||
cat << DDL | mysql | |||
CREATE DATABASE IF NOT EXISTS phpmyadmin; | |||
CREATE USER 'phpmyadmin'@'%' IDENTIFIED BY 'sadaqah!'; | |||
GRANT ALL PRIVILEGES ON phpmyadmin.* TO 'phpmyadmin'@'%'; | |||
FLUSH PRIVILEGES; | |||
DDL | |||
sudo apt install phpmyadmin | |||
sudo apt purge phpmyadmin | |||
sudo apt remove phpmyadmin | |||
sudo apt autoremove | |||
</syntaxhighlight> | |||
==Playground== | |||
{| | |||
| valign="top" | | |||
<syntaxhighlight lang="sql"> | |||
SELECT @@character_set_database, @@collation_database; | |||
SHOW CHARACTER SET LIKE 'utf%'; | |||
SHOW CHARACTER SET; | |||
</syntaxhighlight> | |||
| valign="top" | | |||
<syntaxhighlight lang="sql"> | |||
show databases; | |||
use academia; | |||
show tables; | |||
</syntaxhighlight> | |||
| valign="top" | | |||
<syntaxhighlight lang="sql"> | |||
SELECT sysdate(); | |||
SELECT curdate(); | |||
SELECT now(); | |||
</syntaxhighlight> | |||
|- | |||
| colspan="3" | | |||
---- | |||
|- | |||
| colspan="3" | | |||
<syntaxhighlight lang="bash"> | |||
gpg --keyring /usr/share/keyrings/mysql-apt-config.gpg --no-default-keyring --export -a > mysql.asc | |||
gpg --enarmor /usr/share/keyrings/mysql-apt-config.gpg | |||
cat /usr/share/keyrings/mysql-apt-config.gpg.asc | |||
</syntaxhighlight> | |||
|- | |||
| colspan="3" | | |||
---- | |||
|- | |||
| valign="top" | | |||
| valign="top" | | |||
| valign="top" | | |||
|} | |} | ||
Line 38: | Line 163: | ||
{| | {| | ||
|valign="top"| | |valign="top"| | ||
* [[MySQL/Dump]] | * [https://dev.mysql.com/downloads/workbench/ MySQL » Workbench » Community Download] | ||
* [[ | * [https://dev.mysql.com/downloads/repo/apt/ MySQL » Ubuntu » Community Download] | ||
* [https://www.hostinger.my/tutorials/how-to-install-and-setup-phpmyadmin-on-ubuntu MySQL » Ubuntu » phpMyAdmin » Install] | |||
* [https://dev.mysql.com/blog-archive/accessing-the-same-data-through-ldap-and-sql/ MySQL » LDAP Store & Fetch Data] | |||
* [https://docs.vultr.com/how-to-install-mariadb-on-ubuntu-24-04 MySQL » Ubuntu » 24.04 » Install] | |||
* [http://repo.mysql.com/apt/ubuntu/ MySQL » Repo » Ubuntu] | |||
* [[MySQL/Dump|MySQL » Dump]] | |||
* [[Helm/MariaDB|MySQL » Helm]] | |||
* [https://repo.mysql.com/ MySQL » Repo] | |||
|valign="top"| | |valign="top"| | ||
Line 50: | Line 182: | ||
|- | |- | ||
|valign="top"| | |valign="top"| | ||
* [[K8s/Ingress]] | |||
* [[PostgreSQL]] | |||
* [[OpenLDAP]] | |||
* [[HAProxy]] | |||
* [[Helm]] | |||
* [[CIDR]] | |||
* [[UFW]] | |||
|valign="top"| | |valign="top"| |
Latest revision as of 23:52, 9 November 2024
sudo apt-get install mariadb-server mariadb-client
sudo systemctl enable --now mariadb
systemctl status mariadb
mariadb --version
|
sudo vim /etc/mysql/mariadb.conf.d/50-server.cnf
sudo systemctl restart mariadb.service
systemctl status mariadb.service
sudo mysql_secure_installation
|
Authorization
MySQL » Auth » Unix sudo su
cat << DDL | mysql
CREATE USER 'chorke'@'localhost' IDENTIFIED VIA unix_socket;
GRANT ALL PRIVILEGES ON *.* TO 'chorke'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
DDL
|
MySQL » Auth » Local cat << DDL | mysql
CREATE DATABASE IF NOT EXISTS chorke_orgwiki;
CREATE USER 'chorke_orgwiki'@'localhost' IDENTIFIED BY 'sadaqah!';
GRANT ALL PRIVILEGES ON chorke_orgwiki.* TO 'chorke_orgwiki'@'localhost';
FLUSH PRIVILEGES;
DDL
|
MySQL » Auth » Remote cat << DDL | mysql
CREATE DATABASE IF NOT EXISTS chorke_orgwiki;
CREATE USER 'chorke_orgwiki'@'%' IDENTIFIED BY 'sadaqah!';
GRANT ALL PRIVILEGES ON chorke_orgwiki.* TO 'chorke_orgwiki'@'%';
FLUSH PRIVILEGES;
DDL
|
Backup Restore
BACKUP_DATE_TIME="$(date +'%Y%m%d-T%H%M')-Z$(date +'%z'|tr '+-' 'PM')"
echo -n password: ;read -s MYSQL_PWD;export MYSQL_PWD; echo
# password: sadaqah!
mysql -h127.0.0.1 -P3306 -uchorke -Dchorke_orgwiki
mysqldump -h127.0.0.1 -P3306 -uchorke chorke_orgwiki > ./chorke_orgwiki-${BACKUP_DATE_TIME}.dump
mysql -h127.0.0.1 -P3306 -uchorke -Dchorke_orgwiki < chorke_orgwiki-20241010-T1010-ZP0600.dump
Community
curl -fsSL https://repo.mysql.com/RPM-GPG-KEY-mysql-2023\
| sudo tee /etc/apt/keyrings/mysql.asc >/dev/null
DISTRIBUTION=$(. /etc/os-release && echo "${VERSION_CODENAME}");\
cat << SRC | sudo tee /etc/apt/sources.list.d/mysql.list >/dev/null
deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/mysql.asc] http://repo.mysql.com/apt/ubuntu/ ${DISTRIBUTION} mysql-tools
deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/mysql.asc] http://repo.mysql.com/apt/ubuntu/ ${DISTRIBUTION} mysql-8.4-lts
deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/mysql.asc] http://repo.mysql.com/apt/ubuntu/ ${DISTRIBUTION} mysql-apt-config
SRC
echo 'apt-get update;echo;apt-get install -y mysql-server'|sudo bash
Workbench
wget -cq https://dev.mysql.com/get/Downloads/MySQLGUITools/mysql-workbench-community_8.0.40-1ubuntu24.04_amd64.deb -P ${HOME}/Downloads
sudo dpkg -i ${HOME}/Downloads/mysql-workbench-community_8.0.40-1ubuntu24.04_amd64.deb
rm -rf ${HOME}/Downloads/mysql-workbench-community_8.0.40-1ubuntu24.04_amd64.deb
sudo apt-get --fix-broken install
sudo apt-get -f install
sudo apt purge mysql-workbench-community
sudo apt remove mysql-workbench-community
sudo apt autoremove
PhPMyAdmin
cat << DDL | mysql
CREATE DATABASE IF NOT EXISTS phpmyadmin;
CREATE USER 'phpmyadmin'@'%' IDENTIFIED BY 'sadaqah!';
GRANT ALL PRIVILEGES ON phpmyadmin.* TO 'phpmyadmin'@'%';
FLUSH PRIVILEGES;
DDL
sudo apt install phpmyadmin
sudo apt purge phpmyadmin
sudo apt remove phpmyadmin
sudo apt autoremove
Playground
SELECT @@character_set_database, @@collation_database;
SHOW CHARACTER SET LIKE 'utf%';
SHOW CHARACTER SET;
|
show databases;
use academia;
show tables;
|
SELECT sysdate();
SELECT curdate();
SELECT now();
|
| ||
gpg --keyring /usr/share/keyrings/mysql-apt-config.gpg --no-default-keyring --export -a > mysql.asc
gpg --enarmor /usr/share/keyrings/mysql-apt-config.gpg
cat /usr/share/keyrings/mysql-apt-config.gpg.asc
| ||
| ||
References
| ||