實驗環境:

  1. centos7.3主機一臺

  2. http://mariadb.org/?下載最新源碼包mariadb10.2.8

準備二進制程序

]#?rz??????<===上傳,來自lrzsz包
]#?tar?xvf?mariadb-10.2.8-linux-x86_64.tar.gz?-C?/usr/local/???<===-C?指定的路徑必須是這個,源碼里面定義的就是這個
]#?cd?/usr/local/
]#?ln?-s?mariadb-10.2.8-linux-x86_64/?mysql

centos7防火墻添加端口、用戶準備

]#?useradd?-r?-m?-d?/app/mysqldb?-s?/sbin/nologin?mysql???<===指定用戶家目錄為數據庫存放路徑/app/mysqldb

準備配置文件

]#mkdir?/etc/mysql
]#cp?/usr/local/mysql/support-files/my-large.cnf?/etc/mysql/my.cnf
]#?vim?/etc/mysql/my.cnf
[mysqld]
datadir???????????????=?/app/mysqldb??<===必須要添加的
innodb_file_per_table?=?ON
skip_name_resolve?????=?ON????????<===禁止主機名解析

創建數據庫文件

]#cd?/usr/local/mysql/
]#scripts/mysql_install_db?--datadir=/app/mysqldb?--user=mysql

配置環境變量

]#?vi?/etc/profile.d/mysql.sh?
PATH=/usr/local/mysql/bin:$PATH

準備日志文件

]#mkdir?/var/log/mariadb
]#chown?mysql?/var/log/mariadb/

mysql登陸error1045、準備服務腳本啟動服務

]#?cd?/usr/local/mysql/
]#?cp?support-files/mysql.server?/etc/init.d/mysqld
]#service?mysqld?start
]#?ss?-tanl????????????<===數據庫監聽在3306端口
State???????Recv-Q?Send-Q??????????Local?Address:Port???????????Peer?Address:Port??????????????
LISTEN??????0??????128?????????????????????????*:22??????????????*:*??????????????????
LISTEN??????0??????128????????????????????????:::22??????????????:::*??????????????????
LISTEN??????0??????80?????????????????????????:::3306????????????:::*

安全初始化

]#?mysql_secure_installation?
NOTE:?RUNNING?ALL?PARTS?OF?THIS?SCRIPT?IS?RECOMMENDED?FOR?ALL?MariaDBSERVERS?IN?PRODUCTION?USE!??PLEASE?READ?EACH?STEP?CAREFULLY!
In?order?to?log?into?MariaDB?to?secure?it,?we'll?need?the?current
password?for?the?root?user.??If?you've?just?installed?MariaDB,?and
you?haven't?set?the?root?password?yet,?the?password?will?be?blank,
so?you?should?just?press?enter?here.
Enter?current?password?for?root?(enter?for?none):?
OK,?successfully?used?password,?moving?on...
Setting?the?root?password?ensures?that?nobody?can?log?into?the?MariaDB
root?user?without?the?proper?authorisation.
Set?root?password??[Y/n]?
New?password:?
Re-enter?new?password:?
Password?updated?successfully!
Reloading?privilege?tables.....?Success!
By?default,?a?MariaDB?installation?has?an?anonymous?user,?allowing?anyone
to?log?into?MariaDB?without?having?to?have?a?user?account?created?for
them.??This?is?intended?only?for?testing,?and?to?make?the?installation
go?a?bit?smoother.??You?should?remove?them?before?moving?into?a
production?environment.
Remove?anonymous?users??[Y/n]?y...?Success!
Normally,?root?should?only?be?allowed?to?connect?from?'localhost'.??This
ensures?that?someone?cannot?guess?at?the?root?password?from?the?network.
Disallow?root?login?remotely??[Y/n]?y...?Success!
By?default,?MariaDB?comes?with?a?database?named?'test'?that?anyone?can
access.??This?is?also?intended?only?for?testing,?and?should?be?removed
before?moving?into?a?production?environment.
Remove?test?database?and?access?to?it??[Y/n]?y-?Dropping?test?database......?Success!-?Removing?privileges?on?test?database......?Success!
Reloading?the?privilege?tables?will?ensure?that?all?changes?made?so?far
will?take?effect?immediately.
Reload?privilege?tables?now??[Y/n]??...?Success!
Cleaning?up...
All?done!??If?you've?completed?all?of?the?above?steps,?your?MariaDB
installation?should?now?be?secure.
Thanks?for?using?MariaDB!