Centos7.4離線安裝Mariadb-10.3.8

Maridb的yum安裝網上教程不少,如今記錄一下離線安裝;mysql

使用的Maridb的版本爲:mariadb-10.3.8-linux-x86_64.tar.gzlinux

(1)在centos7系統上,yum info mariadb能夠找到提供mariadb包的官方網站,在到官方網站下載最新的mariadb包,而後rz到linux系統上去

(2)準備用戶

useradd -r -d /data/madata -m -s /sbin/nologin mysql
#/data/madata是數據存放文件

(3)準備二進制程序

1.tar xvf mariadb-10.2.8-linux-x86_64.tar.gz -C /usr/local  //默認是放在/usr/local目錄下
2.cd  /usr/local
3.ln -s mariadb-10.2.8-linux-x86_64.tar.gz/ mysq  //在/usr/local下, mariadb的數據庫的目錄已經生成,可是這個目錄不符合要求,要求mariadb數據庫必須放在mysql目錄下,因此有兩種方法解決,一是更名,將生成的mariadb數據庫目錄改成mysql,二是建立軟連接,咱們就選擇建立軟連接的方式

(4)準備配置文件

vim /etc/mysql/my.cnfsql

[client]
port            = 3306
socket          = /data/madata/mysql.sock

[mysqld]
user = mysql
port=3306
default-storage-engine         = InnoDB
socket          = /data/madata/mysql.sock
skip-external-locking
character-set-server = utf8
max_allowed_packet = 16M
max_connect_errors=65535
skip_name_resolve = ON
sysdate-is-now                 = 1
innodb                         = FORCE

datadir = /data/madata
log-bin                        = /var/lib/mysql/mysql-bin
auto_increment_increment=2     
auto_increment_offset=2        
log-slave-updates=on 

#relay_log_recovery             = 1
binlog_format=mixed             #row
max_binlog_size=1024M
binlog_cache_size             = 2M
expire-logs-days               = 14
server-id    = 189
sync-binlog                    = 1

query-cache-type               = 0
query-cache-size               = 0
max_connections=8192
thread-cache-size              = 1024
open_files_limit=8192
table-definition-cache         = 1024
table-definition-cache         = 1024
max_prepared_stmt_count=200000
slow_query_log=on
slow_query_log_file=/var/lib/mysql/slow.log
log-error                      = /data/madata/mysql-error.log
log-queries-not-using-indexes  = 1
long_query_time = 1
interactive_timeout            = 28800
wait_timeout                   = 28800
lower_case_table_names=1
innodb-log-file-size           = 512M
innodb-flush-log-at-trx-commit = 2
innodb-file-per-table          = 1
innodb-buffer-pool-size        = 16G
innodb_log_buffer_size = 8M
innodb_lock_wait_timeout = 150
replicate-ignore-db = mysql
replicate-ignore-db = information_schema
replicate-ignore-db = performance_schema
max_heap_table_size = 2048M 
tmp_table_size = 2048M
#innodb-log-files-in-group      = 2
 
[mysqldump]
quick
max_allowed_packet = 512M
 
[mysql]
no-auto-rehash
 
[isamchk]
key_buffer = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M
 
[myisamchk]
key_buffer = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M
 
[mysqlhotcopy]
interactive-timeout

(5)mysql用戶受權

mkdir -p /var/lib/mysql
chown -R mysql /var/lib/mysql

chown mysql:mysql -Rf  /usr/local/mysql     設置 mysql 目錄的用戶及用戶組歸屬。 
chmod +x -Rf /usr/local/mysql    賜予可執行權限 
或者
在/usr/local/mysql目錄中,執行以下操做
chown -R mysql .
chgrp -R mysql .

(6)建立數據庫文件

1.cd /usr/local/mysql/
2../scripts/mysql_install_db  --user=mysql --datadir=/data/madata  //建立mysql的數據庫,指定數據庫的路徑以及用戶名身份,執行完以後就會在/app/mysqldb下生成了數據庫文件。
注意:建立mysql的系統數據庫,系統提供了一個腳本,咱們直接能夠利用它來生成mysql的系統數據庫,這個腳本就在scripts下,可是不要進去運行腳本,不然會報錯,必須在/usr/local/mysql/下運行腳本
3.ls /data/madata     //查看一下生成的數據庫文件

(7)準備日誌文件

1.mkdir /var/log/mariadb/  //建立日誌文件所在的目錄
2.chown mysql /var/log/mariadb/  //由於是以mysql用戶的身份來寫日誌的,因此建立了這個目錄還必須修改一下其所屬人爲mysql,以保證mysql用戶能對/var/log/mariadb/目錄有寫權限

(8)啓動服務

1.cp  support-files/mysql.server  /etc/init.d/mysqld  //在/usr/local/mysql/support-files目錄下有一個現成的服務腳本,可是這個服務腳本必須放在規定的目錄/etc/init.d/下才能使用,複製到這個目錄下,並更名爲mysqld,未來這個服務名就叫mysqld
2.chkconfig --add mysqld 
3.service mysqld start //開啓服務,成功開啓服務以後,會打開了3306端口
4.ss -nutl  //查看一下3306端口是否打開
5.開機啓動
chkconfig mysqld on

(9)添加PATH變量,以方便來運行mysql程序

1.vim  /etc/profile
PATH=/usr/local/mysql/bin:$PATH
2.source /etc/profile  使PATH生效。

(10)運行mysql安全腳本

1.cd /usr/local/mysql 
2.mysql_secure_installation

 (11)測試,運行一下mysql程序,-u指定用戶,-p後面跟口令(該口令是上一步運行安全腳本給root用戶設置的口令)

在忘記root密碼的時候,能夠這樣 
以windows爲例: 
1.進入mysql安裝目錄,打開my.ini文件

2.找到[mysqld]配置行(注意,不是[mysql]),在其下一行輸入:skip-grant-tables(或者:--skip-grant-tables,二者區別是有時兩個橫線會致使服務沒法重啓須要測試應當添加否。)

3.cmd命令:services.msc,找到mysql服務並重啓(使修改的配置文件生效)

4.mysql命令行:use mysql(進入系統配置庫)

5.mysql命令行:update user set password=password("123") where user="root";(別忘了最後加分號,分號意味着命令的結束) 
--新增用戶
grant all on *.* to root@'localhost' identified by '123' with grant option; 

6.mysql命令行:flush privileges;(刷新緩存,更新數據庫讀取的密碼別忘了最後加分號,分號意味着命令的結束)

7.退出mysql,或重啓服務,密碼設置成功。
相關文章
相關標籤/搜索