MySQL: Difference between revisions

From Chorke Wiki
Jump to navigation Jump to search
 
(19 intermediate revisions by the same user not shown)
Line 57: Line 57:


|}
|}
==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==
==Playground==
Line 79: Line 135:
SELECT curdate();
SELECT curdate();
SELECT now();
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>
</syntaxhighlight>


Line 96: Line 163:
{|
{|
|valign="top"|
|valign="top"|
* [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://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://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]
* [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]]
* [[MySQL/Dump|MySQL » Dump]]
* [[Helm/MariaDB|MySQL » Helm]]
* [[Helm/MariaDB|MySQL » Helm]]
* [https://repo.mysql.com/ MySQL » Repo]


|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