查看所有用户:cat /etc/password
查看所有用户组:cat /etc/group
查看用户所在组以及组中其他用户:groups 用户名
添加用户组:groupadd 组名
添加用户:useradd 用户名
添加用户并加入主组:useradd -g 组名 用户名
添加用户并加入附属组:useradd -G 组名 用户名
设置用户密码:passwd 用户名
修改用户主组:usermod -g 新组名 用户名
添加用户附属组:usermod -G 新组名 用户名
删除用户:userdel 用户
从组中删除用户:gpasswd -d 用户名 组名
3306(数据库端口) 4444 4567(galera端口)
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --zone=public --add-port=4444/tcp --permanent
firewall-cmd --zone=public --add-port=4567/tcp --permanent
systemctl status firewalld.service 查看防火墙状态
systemctl stop firewalld.service 关闭防火墙
systemctl disable firewalld.service 关闭防火墙开机自启动
systemctl start firewalld.service 启动防火墙
firewall-cmd --list-ports 查看开放的端口
如果没有mysql用户则新建mysql用户 useradd mysql
查找已经安装的mariadb数据库 :rpm -qa |grep mariadb
卸载已安装的mariadb数据库:rpm -e mariadb-libs-5.5.64-1.el7.x86_64 --nodeps
或者:yum remove mariadb
mariadb的安装目录为basedir=/opt/mariadb10.3,数据目录为datadir=/data/mysql;并赋予mysql用户权限
创建目录:mkdir -p /data/mysql
分配属组权限:chown -R mysql:mysql /data/mysql/
(1)下载mariadb数据库安装包:Download MariaDB Server - MariaDB.org
(2)将安装包上传到/opt目录下:mariadb-10.3.27-linux-glibc_214-x86_64.tar.gz
(3)解压tar包:tar -zxvf mariadb-10.3.27-linux-glibc_214-x86_64.tar.gz
(4)重命名解压后文件:mv ./mariadb-10.3.27-linux-glibc_214-x86_64 ./mariadb10.3
(5)授权mysql用户/opt/mariadb10.3 路径权限:chown -R mysql:mysql /opt/mariadb10.3
(1)安装:/opt/mariadb10.3/scripts/mysql_install_db --datadir=/opt/GaleraData/pkidb/ --user=mysql --basedir=/opt/mariadb10.3
(2)拷贝数据库启动文件到/etc/init.d路径:
cp /opt/mariadb10.3/support-files/mysql.server /etc/init.d/mysqld
(3) 拷贝配置文件到/etc路径下:cp /opt/mariadb10.3/support-files/wsrep.cnf /etc/my.cnf
(4)修改数据库配置文件my.cnf:vim /etc/my.cnf
datadir=/opt/GaleraData10.3/pkidb
socket=/tmp/mysql.sock
basedir=/opt/mariadb10.3
log_bin=mysql-bin
skip_name_resolve=on
character-set-server=utf8
(5)将mysqld加入系统服务:chkconfig --add mysqld
由于之前添加mysql.server脚本至/etc/init.d/目录下,并命名为mysqld,故此处可以添加系统服务mysqld,并通过systemctl指令进行服务的启停,运行相应的mysqld脚本,服务启动时,其配置文件为默认路径/etc/下的my.cnf
(6)建立日志目录并分配权限:makdir /data/logs
chown -R mysql:mysql /data/logs/
/opt/mariadb10.3/support-files/mysql.server start
/etc/init.d/mysqld start
systemctl start mysqld
/opt/mariadb10.3/bin/mysqld_safe --defaults-file=/etc/my.cnf
四种启动方式,前三种本质相同,都是运行mysql.server脚本启动,调用mysqld_safe脚本,并且自动读取默认路径下的配置文件;方法四手动指定配置文件启动。
/opt/mariadb10.3/bin/mysql_secure_installation --basedir=/opt/mariadb10.3
首先他会提示输入root密码,安装好的数据库没有密码直接回车
Change the root password? [Y/n] 修改密码
Remove anonymous users? [Y/n] 移除匿名用户
Disallow root login remotely? [Y/n] 不允许root用户远程登录
Remove test database and access to it? [Y/n] 删除test数据库
Reload privilege tables now? [Y/n] 是否重新加载授权表
vim /etc/profile.d/mariadb.sh
export PATH=$PATH:/opt/mariadb10.3/bin/
进入mariadb.sh脚本所在目录, 并执行脚本, 以立即生效环境变量
source /etc/profile.d/mariadb.sh
初始化完成,登录数据库:mysql -uroot -p 回车输入密码即可登录数据库。
其他数据库都按照上述相同的方式安装
(1)下载galera相应版本:http://releases.galeracluster.com/
(2)安装galera-25.3.28-1.rhel7.el7.centos.x86_64.rpm
rpm -ivh galera-25.3.28-1.rhel7.el7.centos.x86_64.rpm --nodeps --force
(3)配置数据库my.cnf 参数文件
[mysqld]
datadir=/data/mysql
socket=/tmp/mysql.sock
basedir=/opt/mariadb10.3
log_bin=mysql-bin
skip_name_resolve=on
character_set_server=utf8
pid-file=/data/mysql/localhost.localdomain.pid
skip-name-resolve
lower_case_table_names=1
server-id=202
max_connections=2000
expire_logs_days=15
log_slave_updates=1
binlog_format=ROW
max_user_connections=1000
max_allowed_packet=64M
wsrep_on=ON
wsrep_provider=/usr/lib64/galera-3/libgalera_smm.so
wsrep_cluster_name="pki-Galera-Cluster"
wsrep_cluster_address="gcomm://10.6.8.202"
wsrep_node_address=10.6.8.202
wsrep_sst_receive_address=10.6.8.202
wsrep_slave_threads=5
wsrep_sst_method=rsync
[mysql]
no-auto-rehash
show-warnings
prompt="\\u@\\h : \\d \\r:\\m:\\s> "
default-character-set = utf8
[mysqld_safe]
log-error=/data/logs/mysqld.log
(4)停止数据库: /opt/mariadb10.3/support-files/mysql.server stop
(5)集群启动数据库:
/opt/mariadb10.3/support-files/mysql.server start --wsrep-new-cluster(主节点)
/opt/mariadb10.3/support-files/mysql.server start (从节点)
(6) 登录数据库查看数据库集群状态
grant all privileges on *.* to 'admin'@'%' identified by '1qaz@WSX' with grant option;
问题1:缺少rsync;解决:yum install rsync
问题2:缺少lsof;解决:yum install lsof
问题3: 主节点启动成功,从节点无法成功启动,不知道什么原因,使用以下方法成功启动从节点。 解决方法:主节点启动时修改配置文件中的参数wsrep_cluster_address="gcomm://",启动成功后改回wsrep_cluster_address="gcomm://192.168.188.101,192.168.188.102"
(1)导出原mariadb中的数据库:mysqldump -u用户名 -p 数据库名 > 输出路径及sql文件名
如:mysqldump -uroot -p test >/home/test.sql
(2)登录新的mariadb,在新mariadb中创建对应的数据库(不太版本mariadb支持的字符集及校验规则可能不同,需要做相应改变,如mariadb中使用utf8,在mariadb中没有utf8可以采用utf8mb4):
CREATE DATABASE IF NOT EXISTS test DEFAULT CHARACTER SET utf8mb4 DEFAULT COLLATE utf8mb4_general_ci;
(3)在导出的原mariadb中的数据库所在目录执行命令导入数据:
mysql -u用户名 -p 数据库名 < sql文件地址
如:mysql -uroot -p test < test.sql