CentOS7服务器Yum安装MariaDB
1. 搜索mariadb
yum search mariadb-server
2. yum安装
yum install -y mariadb-server
3. 编辑 my.cnf 配置文件
vim /etc/my.cnf
4. 设置MariaDB字符集为utf-8
/etc/my.cnf 文件
#在 [mysqld] 标签下添加
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
/etc/my.cnf.d/client.cnf 文件
#在 [client] 标签下添加
default-character-set=utf8
/etc/my.cnf.d/mysql-clients.cnf 文件
#在 [mysql] 标签下添加
default-character-set=utf8
5. 启动
# 启动
systemctl start mariadb
# 设置开机自启
systemctl enable mariadb
6. 配置MariaDB
首次安装需要进行配置
# 需要进行数据库的配置
mysql_secure_installation
Enter current password for root (enter for none): # 输入数据库超级管理员root的密码(注意不是系统root的密码),第一次进入还没有设置密码则直接回车
Set root password? [Y/n] # 设置密码,y
New password: # 新密码
Re-enter new password: # 再次输入密码
Remove anonymous users? [Y/n] # 移除匿名用户, y
Disallow root login remotely? [Y/n] # 拒绝root远程登录,n,不管y/n,都会拒绝root远程登录
Remove test database and access to it? [Y/n] # 删除test数据库,y:删除。n:不删除,数据库中会有一个test数据库,一般不需要
Reload privilege tables now? [Y/n] # 重新加载权限表,y。或者重启服务也许
7. 远程链接mariadb数据库
查看mysql下的user表
# 通过本地连接数据库
[root@instance-tss5v9yz ~]# mysql -u root -p
# 选择mysql库
MariaDB [(none)]> use mysql
# 查看user表
MariaDB [mysql]> select host, user from user;
+-------------------+------+
| host | user |
+-------------------+------+
| 127.0.0.1 | root |
| ::1 | root |
| instance-tss5v9yz | root |
| localhost | root |
+-------------------+------+
将与主机名相等的字段改为 “%” ,我的主机名为 instance-tss5v9yz
MariaDB [mysql]> update user set host='%' where host ='instance-tss5v9yz';
Query OK, 1 row affected (0.02 sec)
Rows matched: 1 Changed: 1 Warnings: 0
MariaDB [mysql]> select host,user from user;
+-----------+------+
| host | user |
+-----------+------+
| % | root |
| 127.0.0.1 | root |
| ::1 | root |
| localhost | root |
+-----------+------+
4 rows in set (0.00 sec)
刷新权限表,或重启mariadb服务,二选一即可
# 刷新权限
MariaDB [mysql]> flush privileges;
# 重启服务
[root@instance-tss5v9yz ~] systemctl restart mariadb.service
Docker 安装MariaDB
# 搜索镜像
docker search mariadb
# 拉取镜像
docker pull mariadb
# 查看本地镜像
docker images
# 创建目录
mkdir -p /data/mariadb/{logs,conf,data}
# 修改my.cnf配置
cd /data/mariadb
vim my.cnf
自定义mysql端口,忽略大小写
[client-server]
# Port or socket location where to connect
# port = 3306
socket = /run/mysqld/mysqld.sock
# Import all .cnf files from configuration directory
[mariadbd]
skip-host-cache
skip-name-resolve
lower_case_table_names=1
!includedir /etc/mysql/mariadb.conf.d/
!includedir /etc/mysql/conf.d/
# 启动容器
docker run --name mariadb -p 3306:3306 -v/data/mariadb/my.cnf:/etc/mysql/my.cnf -v /data/mariadb/conf:/etc/mysql/conf.d -v /data/mariadb/data:/var/lib/mysql -v /data/mariadb/logs:/var/log/mysql -e MYSQL_ROOT_PASSWORD=root -d mariadb --lower_case_table_names=1
参数说明:
–name:容器名
-p:映射宿主主机端口
-v:挂载宿主目录到容器目录
-e:设置环境变量,此处指定root密码
-d:后台运行容器
–lower_case_table_names :设置mysql忽略大小写
# 查看是否创建成功
docker ps