本文說明MySQL/MariaDB二進制安裝的過程mysql
mysql和mariadb的安裝方式基本一致,惟一初始化方式有點不同linux
1.規劃:sql
數據文件存儲位置 /data/mysql/data
日誌文件存儲位置 /data/logs/mysql
binlog文件存儲位置 /data/mysql數據庫
緩存目錄位置 /dta/tmpvim
我這裏規劃都是放在 /data目錄下是由於掛載了2T硬盤,方便存儲緩存
大家能夠視狀況而定socket
2.建立目錄和受權:ide
[root@Mike_Node-1 ~]# mkdir -p /data/mysql/data
[root@Mike_Node-1 ~]# mkdir -p /data/logs/mysql
[root@Mike_Node-1 ~]# mkdir -p /data/logs/tmp
[root@Mike_Node-1 ~]# useradd mysql
[root@Mike_Node-1 ~]# chown -R mysql:mysql /data/mysql
[root@Mike_Node-1 ~]# chown -R mysql:mysql /data/logs
[root@Mike_Node-1 ~]# chown -R mysql:mysql /data/tmp
[root@Mike_Node-1 ~]# chmod -R 775 /data/mysql
[root@Mike_Node-1 ~]# chmod -R 775 /data/logs
[root@Mike_Node-1 ~]# chmod -R 775 /data/tmpui
建立數據庫目錄和賦予數據庫普通用戶權限spa
3.文件下載
[root@Mike_Node-1 ~]# yum search libaio [root@Mike_Node-1 ~]# yum install libaio
上面的意思是檢測相關信息和安裝依賴包
[root@Mike_Node-1 ~]# wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz ###MySQL下載 [root@Mike_Node-1 ~]# wget https://mirrors.ustc.edu.cn/mariadb//mariadb-10.3.27/bintar-linux-x86_64/mariadb-10.3.27-linux-x86_64.tar.gz ####MariaDB下載
上面分別是MySQL5.7版本和MariaDB10.3版本的下載地址,能夠根據安裝需求來下載
4.解壓文件
[root@Mike_Node-1 ~]# tar zxvf mariadb-10.3.24-linux-x86_64.tar.gz -C /usr/local/ [root@Mike_Node-1 ~]# cd /usr/local/ [root@Mike_Node-1 ~]# mv mariadb-10.3.24-linux-x86_64 mysql
這裏已解壓 MariaDB 爲例
下載完解壓到 /usr/local/ 目錄下,再重命名爲 mysql 目錄,Mysql一樣的操做
5.設置mysql的配置文件
[root@Mike_Node-1 ~]# vim /etc/my.cnf
[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
user = mysql
datadir = /data/mysql/data
pid-file = /data/mysql/mysql.pid
server-id = 50
relay_log =/data/logs/mysql/mysql_relay.log
bind-address = 0.0.0.0
tmpdir=/data/tmp
#當數據庫是大量存儲時建議指導TMP目錄,不然作全表操做時臨時空間會不足
init_connect ='SET NAMES utf8'
character-set-server = utf8
skip-name-resolve
back_log = 300
max_connections = 8019
max_connect_errors = 1024000
open_files_limit = 65535
table_open_cache = 2048
max_allowed_packet = 50M
max_heap_table_size = 512M
tmp_table_size = 256M
read_buffer_size = 2M
read_rnd_buffer_size = 16M
sort_buffer_size = 8M
join_buffer_size = 8M
key_buffer_size = 512M
thread_cache_size = 128
query_cache_type = 2
query_cache_size = 128M
query_cache_limit = 5M
thread_stack = 192k
ft_min_word_len = 4
log_bin = /data/mysql/mysql_bin.log
binlog_format = ROW
expire_logs_days = 7
log_error = /data/logs/mysql/mysql_error.log
slow_query_log = 1
long_query_time = 1
log_slow_verbosity=query_plan
slow_query_log_file = /data/logs/mysql/mysql_slow.log
performance_schema = 0
skip-external-locking #跳過外部鎖定,避免external locking
bulk_insert_buffer_size = 64M
myisam_sort_buffer_size = 128M
myisam_max_sort_file_size = 10G
myisam_repair_threads = 1
###InnoDB###
default_storage_engine = InnoDB
innodb_file_per_table = 1
innodb_open_files = 500
innodb_buffer_pool_size = 2048M
innodb_write_io_threads = 8
innodb_read_io_threads = 8
innodb_thread_concurrency = 16
innodb_purge_threads = 1
innodb_flush_log_at_trx_commit = 1
innodb_log_buffer_size = 8M
innodb_log_file_size = 256M
innodb_log_files_in_group = 3
innodb_max_dirty_pages_pct = 90
innodb_lock_wait_timeout = 10
innodb_autoinc_lock_mode = 2
innodb_doublewrite = 1
###New ADD
innodb_rollback_on_timeout = 1
innodb_force_recovery=0
interactive_timeout = 28800
wait_timeout = 120
[mysqldump]
quick
max_allowed_packet = 16M
[myisamchk]
key_buffer_size = 512M
sort_buffer_size = 8M
read_buffer = 4M
write_buffer = 4M
上面是配置文件,能夠根據本身的參數自行修改
6.初始化數據庫
[root@Mike_Node-1 ~]# /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/data/mysql/data --user=mysql 這是MariaDB初始化方式,初始化完會有OK提示 [root@Mike_Node-1 ~]# /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data 這是MySQL初始化方式,初始化完,密碼在日誌中查看MySQL5.7(/data/logs/mysql/中) Installing MariaDB/MySQL system tables in '/data/mysql/data' ... OK To start mysqld at boot time you have to copy support-files/mysql.server to the right place for your system PLEASE REMEMBER TO SET A PASSWORD FOR THE MariaDB root USER ! To do so, start the server, then issue the following commands: '/usr/local/mysql/bin/mysqladmin' -u root password 'new-password' '/usr/local/mysql/bin/mysqladmin' -u root -h 127.0.0.1 100.100.0.164 password 'new-password' Alternatively you can run: '/usr/local/mysql/bin/mysql_secure_installation' which will also give you the option of removing the test databases and anonymous user created by default. This is strongly recommended for production servers. See the MariaDB Knowledgebase at http://mariadb.com/kb or the MySQL manual for more instructions. You can start the MariaDB daemon with: cd '/usr/local/mysql' ; /usr/local/mysql/bin/mysqld_safe --datadir='/data/mysql/data' You can test the MariaDB daemon with mysql-test-run.pl cd '/usr/local/mysql/mysql-test' ; perl mysql-test-run.pl Please report any problems at http://mariadb.org/jira The latest information about MariaDB is available at http://mariadb.org/. You can find additional information about the MySQL part at: http://dev.mysql.com Consider joining MariaDB's strong and vibrant community: https://mariadb.org/get-involved/
上面是初始化 MariaDB數據庫的方式提示有OK就能夠了~
MySQL的話初始化差很少,初始化完密碼會在日誌中,而MariaDB則空密碼
7.設置啓動文件:
[root@Mike_Node-1 ~]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
8.啓動數據庫:
[root@Mike_Node-1 ~]# /etc/init.d/mysql start Starting mysql (via systemctl): [ OK ]
9.配置環境變量
[root@Mike_Node-1 ~]# vim /etc/profile ####在最後面添加 export MYSQL_HOME=/usr/local/mysql export PATH=$MYSQL_HOME/bin:$PATH [root@Mike_Node-1 ~]# source /etc/profile
10.登陸數據庫
[root@Mike_Node-1 ~]# mysql Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 10 Server version: 10.3.24-MariaDB-log MariaDB Server Copyright (c) 2000, 2020, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> MariaDB [(none)]> set password =password('abc-123'); #####修改root密碼爲 abc-123 Query OK, 0 rows affected (0.001 sec) MariaDB [(none)]> flush privileges; Query OK, 0 rows affected (0.001 sec) MariaDB [(none)]> grant all privileges on *.* to root@'%' identified by 'abc-123' with grant option; ####修改遠程root用戶權限和密碼 abc-123 Query OK, 0 rows affected (0.001 sec) MariaDB [(none)]> flush privileges; Query OK, 0 rows affected (0.001 sec) MariaDB [(none)]>
這是mariadb登陸方式
mysql的話初始化會有密碼保存日誌文件裏,你須要到裏面查看使用密碼登陸
MySQL密碼登陸 mysql -uroot -p 就能夠了
11.再次登陸MySQL
[root@Mike_Node-1 ~]# mysql -uroot -p
而後就能夠經過 Navicat客戶端登陸到數據庫方便操做
安裝到此結束
本文分享完畢,感謝支持點贊~~