--- title: 'Ubuntu 22.04 Multi Mariadb install' tags: ubuntu,Mariadb description: Ubuntu 22.04 Multi Mariadb install --- # Ubuntu 22.04 Multi Mariadb install --- [TOC] --- ## Install Mariadb ``` terminal sudo apt update && sudo apt upgrade -y sudo apt install mariadb-client mariadb-server ``` Check status ``` terminal sudo systemctl status mysql ```  ``` terminal sudo systemctl stop mysql ```  ``` terminal sudo systemctl disable mysql ```  --- ## Configuring MariaDB for Running Multiple Database Instances ``` terminal cd /etc/mysql/mariadb.conf.d/ sudo mv -v 50-server.cnf 50-server.cnf.backup sudo vim 50-server-multi.cnf ``` 50-server-multi.cnf content ``` configure [mysqld_multi] mysqld = /usr/bin/mysqld_safe mysqladmin = /usr/bin/mysqladmin log = /var/log/mysql/mysqld_multi.log user=multi_admin password=****** ``` ``` terminal sudo vim 50-server1.cnf ``` 50-server1.cnf content ``` configure [mysqld1] user = mysql pid-file = /run/mysqld/mysqld1.pid socket = /run/mysqld/mysqld1.sock basedir = /usr datadir = /var/lib/mysql1 tmpdir = /tmp lc-messages-dir = /usr/share/mysql bind-address = 0.0.0.0 query_cache_size = 100M log_error = /var/log/mysql/mysqld1_error.log expire_logs_days = 10 character-set-server = utf8mb4 collation-server = utf8mb4_general_ci port = 20001 max_connections = 2000 ``` ``` terminal sudo vim 50-server2.cnf ``` 50-server2.cnf content ``` configure [mysqld2] user = mysql pid-file = /run/mysqld/mysqld2.pid socket = /run/mysqld/mysqld2.sock basedir = /usr datadir = /var/lib/mysql2 tmpdir = /tmp lc-messages-dir = /usr/share/mysql bind-address = 0.0.0.0 query_cache_size = 100M log_error = /var/log/mysql/mysqld2_error.log expire_logs_days = 10 character-set-server = utf8mb4 collation-server = utf8mb4_general_ci port = 20002 max_connections = 2000 ``` ``` terminal sudo vim 50-server3.cnf ``` 50-server3.cnf content ``` configure [mysqld3] user = mysql pid-file = /run/mysqld/mysqld3.pid socket = /run/mysqld/mysqld3.sock basedir = /usr datadir = /var/lib/mysql3 tmpdir = /tmp lc-messages-dir = /usr/share/mysql bind-address = 0.0.0.0 query_cache_size = 100M log_error = /var/log/mysql/mysqld3_error.log expire_logs_days = 10 character-set-server = utf8mb4 collation-server = utf8mb4_general_ci port = 20003 max_connections = 2000 ``` --- ## Configuration ``` terminal sudo touch /var/log/mysql/mysqld_multi.log sudo chown -v mysql:adm /var/log/mysql/mysqld_multi.log sudo chmod -v u=rw,g=rw,o= /var/log/mysql/mysqld_multi.log sudo touch /var/log/mysql/mysqld{1..3}_error.log sudo chown -v mysql:adm /var/log/mysql/mysqld{1..3}_error.log sudo chmod -v u=rw,g=rw,o= /var/log/mysql/mysqld{1..3}_error.log sudo mkdir -v /var/lib/mysql{1..3} sudo chown -v mysql:mysql /var/lib/mysql{1..3} sudo chmod -v u=rwx,g=rx,o=rx /var/lib/mysql{1..3} ``` ``` terminal ls -lhd /var/lib/mysql* ```  ``` terminal sudo mysql_install_db --user=mysql --datadir=/var/lib/mysql1 sudo mysql_install_db --user=mysql --datadir=/var/lib/mysql2 sudo mysql_install_db --user=mysql --datadir=/var/lib/mysql3 ``` --- ## Running Multiple MariaDB ``` terminal sudo mysqld_multi report ```  ``` terminal sudo mysqld_multi start sudo mysqld_multi report ```  這邊重複做三次 ``` terminal sudo mysql -S /run/mysqld/mysqld1.sock -u root ``` MySQL script ``` terminal GRANT SHUTDOWN ON *.* TO 'multi_admin'@'localhost' IDENTIFIED BY 'secret'; GRANT ALL ON *.* to 'root'@'%' IDENTIFIED BY '!QAZ2wsx' WITH GRANT OPTION; FLUSH PRIVILEGES; EXIT; ``` ``` terminal sudo mysqld_multi stop ``` --- ## 開機自動啟動 ``` terminal sudo crontab -e ```  請按 1 後, Enter 新增 ``` text @reboot /usr/bin/mysqld_multi start ``` ctrl + x後,在按Y  --- ## 參考鏈結 https://linuxhint.com/running-multiple-mariadb-instances-on-ubuntu-20-04-lts/
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up