#创建系统账号:
groupadd -r -g 307 mysql
useradd -r -g 307 mysql
#下载mariadb
wget https://mirrors.tuna.tsinghua.edu.cn/mariadb//mariadb-5.5.58/source/mariadb-5.5.58.tar.gz
tar -zxf mariadb-5.5.58.tar.gz -C /usr/local/
cd /usr/local/mariadb-5.5.58/
#安装mariadb 编译安装环境
yum -y groupinstall “Development Tools” ;yum -y install ncurses-devel openssl-devel libevent-devel cmake epel-release; yum -y install jemalloc-devel
#编译安装mariadb
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/mariadb/data \
-DSYSCONFDIR=/etc \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DWITH_LIBWRAP=0 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
make && make install
#初始化数据库:
cd /usr/local/mysql/
chown -R mysql:mysql /usr/local/mysql/
./scripts/mysql_install_db –datadir=/mariadb/data –user=mysql
#提供启动文件
vim /usr/lib/systemd/system/mysqld.service
# Don’t forget to reload systemd daemon after you change unit configuration:
# # root> systemctl –system daemon-reload
#
[Unit]
Description=MariaDB database server
After=syslog.target
After=network.target
#
[Service]
Type=simple
User=mysql
Group=mysql
#
# Note: we set –basedir to prevent probes that might trigger SELinux alarms,
ExecStart=/usr/local/mysql/bin/mysqld_safe –basedir=/usr/local/mysql
#
# Give a reasonable amount of time for the server to start up/shut down
TimeoutSec=300
#
# Place temp files in a secure directory, not /tmp
PrivateTmp=false
#
[Install]
WantedBy=multi-user.target
systemctl daemon-reload
#提供配置文件
cp /usr/local/mariadb-5.5.58/support-files/my-huge.cnf /etc/my.cnf -av
#提供二进制文件,库文件,头文件,man手册:
#提供二进制文件:
echo “export PATH=/usr/local/mysql/bin:$PATH” > /etc/profile.d/mysql.sh
. /etc/profile.d/mysql.sh
#提供库文件:
echo “/usr/local/mysql/lib/” > /etc/ld.so.conf.d/mysql.conf
#提供头文件:
ln -sv /usr/local/include/ /usr/include/mysql
#提供man手册:
echo “MANPATH /usr/local/mysql” >> /etc/man.conf
man -M /usr/local/mysql/man mysqld #让man手册立刻生效为最新;
mv /etc/my.cnf{,.bak} -v
cat /etc/my.cnf.bak | grep -v ‘#’ | sed ‘/^$/d’ > /etc/my.cnf
mkdir -pv /mariadb/log
chown mysql:mysql /mariadb/ -R
#编辑mysql配置文件
[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
port = 3306
socket = /tmp/mysql.sock
skip-external-locking
datadir=/mariadb/data
lower_case_table_names = 1 #1为不区分表名大小写
skip_name_resolve = ON #不解析域名
symbolic-links=1 #即数据库或表可以存储在my.cnf中指定datadir之外的分区或目录。
####要支持符号链接,需要在配置中设置symbolic-links=1(较新的版本为默认开启)
innodb_force_recovery = 1
innodb_file_per_table = 1
innodb_import_table_from_xtrabackup = 1
slow_query_log = 1 #开启慢查询日志
slow_query_log_file = /mariadb/log/mysql-slow.log #慢查询日志位置
long_query_time = 1 #慢查询日志时间
log_error = /mariadb/log/mysql-error.log #错误日志路径
log-bin = /mariadb/log/logbin
max_connect_errors = 6000
open_files_limit = 65535
key_buffer_size = 384M
max_allowed_packet = 1M
table_open_cache = 512
sort_buffer_size = 2M
read_buffer_size = 2M
read_rnd_buffer_size = 8M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size = 32M
thread_concurrency = 8
server-id = 1
init-connect=’SET NAMES utf8′
character-set-server=utf8
#default_character_set=utf8
collation-server=utf8_general_ci
default-storage-engine=INNODB
[mysqldump]
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
[myisamchk]
key_buffer_size = 256M
sort_buffer_size = 256M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
# mysql
MariaDB [(none)]> CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;
Query OK, 1 row affected (0.01 sec)
MariaDB [(none)]> use mysql
Database changed
MariaDB [mysql]> grant all on zabbix.* to zbadmin@’192.168.29.%’ identified by ‘zbpasswd’;
Query OK, 0 rows affected (0.00 sec)
MariaDB [mysql]> flush privileges ;
Query OK, 0 rows affected (0.00 sec)
MariaDB [mysql]>
MariaDB [mysql]> use mysql;
Database changed
MariaDB [mysql]> select User,Password,Host from user;
+———+——————————————-+————–+
| User | Password | Host |
+———+——————————————-+————–+
| root | | localhost |
| root | | mariadb |
| root | | 127.0.0.1 |
| root | | ::1 |
| | | localhost |
| | | mariadb |
| zbadmin | *0966D2C48DB90FA755E9B9062AF7FC991AD3076B | 192.168.29.% |
+———+——————————————-+————–+
7 rows in set (0.00 sec)
MariaDB [mysql]> delete from user where User=”;
Query OK, 2 rows affected (0.00 sec)
MariaDB [mysql]> update user set Password=password(‘password’) Where Password=”;
Query OK, 4 rows affected (0.01 sec)
Rows matched: 4 Changed: 4 Warnings: 0
MariaDB [mysql]> flush privileges;
Query OK, 0 rows affected (0.00 sec)