作者:李筠惠佩昆琬雯 | 来源:互联网 | 2023-09-15 13:36
centos安装数据库一:mariadbcentos7默认安装的数据库是mariadb,mysql被oracle收购之后开发的一个分支,主要由开源社区在维护,MySQL有闭源的潜在
centos安装数据库
一:mariadb
centos7默认安装的数据库是mariadb,mysql被oracle收购之后开发的一个分支,主要由开源社区在维护,MySQL 有闭源的潜在风险,因此社区采用分支的方式来避开这个风险。MariaDB完全兼容mysql,使用方法也是一样的。
二:安装mariadb
分客户端和服务端
yum -y install mariadb,安装客户端
yum -y install mariadb-server,是服务端,按需求来,我是全安了
三:配置mariadb
1.同windows平台一样,设置为开机启动服务
[root@old ~]# systemctl start mariadb #开启服务
[root@old ~]# systemclt enable mariadb # 设置为开机启动
2.查看一下默认的配置
默认直接mysql命令就可以进入数据库
可以看到server charset 和Db characterset:都是latin1,是要修改的。
exit命令退出
3.初始配置
[root@mini ~]# mysql_secure_installation
Enter current password for root (enter for none): # 首次安装后没有密码,直接回车
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
Reload privilege tables now? [Y/n] # 重新加载权限表,y。
4.登录测试
此时就不能mysql直接进入,因为上面删除了匿名用户
mysql -uroot -p
四:修改字符编码
修改server端配置
vim /etc/my.cnf.d/server.cnf
在[mysqld]后面添加配置,
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
保存重启mariadb
[root@old my.cnf.d]# systemctl restart mariadb
再次进入,\s查看,修改完成,客户端不用修改,默认就是utf8,且大多数是远程连接,不在本机开client
也可以
MariaDB [(none)]> show variables like "%character%";show variables like "%collation%";
五:远程连接mysql
背景:默认不允许root远程登录,为了安全,超级管理员默认只能在本机登录。
查看3306端口是否开启,因为默认防火墙是开启的,要么关闭防火墙,要么开端口
[root@old my.cnf.d]# firewall-cmd --query-port=3306/tcp
no # 没有开启
[root@old my.cnf.d]# firewall-cmd --zOne=public --add-port=3306/tcp --permanent # 开启3306端口
success
[root@old my.cnf.d]# firewall-cmd --reload # 重启防火墙
success
[root@old my.cnf.d]# firewall-cmd --query-port=3306/tcp # 查看3306端口是否开启
yes
能不能登录的本质是是否符合授权表,授权表就是一张表,把里面的host改一下
切换user数据库
直接把127.0.0.1改为%,所有的ip都可以登录
update user set host="%" where host="old";
flush privileges; # 刷新权限
重启数据库服务端
systemctl restart mariadb
打开Navicat连接成功