centos安装数据库

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,是要修改的。

centos安装数据库

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

centos安装数据库

也可以

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数据库

centos安装数据库

直接把127.0.0.1改为%,所有的ip都可以登录

update user set host="%" where host="old";
flush privileges; # 刷新权限

重启数据库服务端

systemctl restart mariadb

打开Navicat连接成功

centos安装数据库

六:如果不想让外网用root用户登录时进行下面配置

创建用户并授权

grant all privileges on *.* to myname@% identified by password;
例如:grant all privileges on *.* to zhenxiu@‘%‘ identified by ‘123456‘;

第一个*表示任意数据库

第二个*表示任意表,*.*表示所有数据库所有数据表,all privileges开所有的权限

"192.168.1.%" “192.168.%”允许一个网段的ip登录

“%”表示所有的ip都可以

centos安装数据库

centos安装数据库

上一篇:学生管理系统Sql Server+Eclipse(增删改查)


下一篇:mysql主从配置