CentOS安装mysql、MariaDB
注意:此方法只适用于新的机器或没有重要数据库表(可随意删除)的机器安装,如需升级版本参考下方链接!!!
https://www.jianshu.com/p/955ff6065935
一、安装操作
1.查看是否已经安装mysql或mariadb
rpm -qa | grep -i mysql rpm -qa | grep -i mariadb
如果有信息打印则代表已安装(MariaDB是MySql的一个分支,具体区别和关系自行查找文献)
2.卸载数据库
如果已安装的版本不是想要的版本,则卸载即可(*内容自行替换)
rpm -e --nodeps MariaDB-*
3.编辑数据库源配置
vi /etc/yum.repos.d/MariaDB.repo
按下i
进入编辑模式,写入对应版本的配置信息,如10.2
版本,对应版本参考官网说明
https://mariadb.org/download/?t=repo-config&d=CentOS+7+%28x86_64%29&v=10.2&r_m=aliyun
# MariaDB 10.2 CentOS repository list - created 2022-05-16 01:54 UTC # https://mariadb.org/download/ [mariadb] name = MariaDB baseurl = https://mirrors.aliyun.com/mariadb/yum/10.2/centos7-amd64 gpgkey=https://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDB gpgcheck=1
然后按下Esc
,输入:wq
回车保存并退出
更改配置之后需要执行以下命令
sudo yum clean all
4.导入密钥
rpm --import https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
5.开始安装mariadb
sudo yum install MariaDB-server MariaDB-client
6.启动服务
systemctl start mariadb
7.设置开机自启动服务
systemctl enable mariadb
8查看服务运行状态
systemctl status mariadb
这样就代表正常运行
二、配置操作
1.查看数据库版本
mysql --version
2.配置数据库
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。或者重启服务也可以
3.连接数据库
mysql -u root -p
4.查看内置账号
select user, host from mysql.user;
5.授予外网登陆权限
grant all privileges on *.* to root@'%' identified by '自己设置密码';
%表示针对所有IP,password表示将用这个密码登录root用户,如果想只让某个IP段的主机连接,可以修改为:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.71.%' IDENTIFIED BY 'my-new-password' WITH GRANT OPTION;
6.刷新权限
FLUSH PRIVILEGES;
再次查询用户之后,就会看到%那一项配置了
select user, host from mysql.user;
7.关闭连接
exit
8.端口设置
查看3306端口是否开启
firewall-cmd --query-port=3306/tcp
开启3306防火墙端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
开启后要重启防火墙
firewall-cmd --reload
这时候去尝试远程连接,如果连不了尝试关闭防火墙
停止firewall
systemctl stop firewalld.service
禁止firewall开机启动(视情况而定要不要设置这个)
systemctl disable firewalld.service
三、配置数据库编码格式
1.配置server
vi /etc/my.cnf.d/server.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
2.配置client
vi /etc/my.cnf.d/client.cnf
在 [client] 标签下添加 default-character-set=utf8
如果没有该文件,请忽略这一步,直接输入:q
退出编辑即可
3.配置mysql-clients
vi /etc/my.cnf.d/mysql-clients.cnf
#在 [mysql] 标签下添加 default-character-set=utf8
4.重启数据库
systemctl restart mariadb
四、配置大小写敏感
1.配置忽略表名大小写
vi /etc/my.cnf.d/server.cnf
#在[mysqld]下添加 lower_case_table_names=1 #默认是等于0的,即大小写敏感。改成1就OK了。如果之前已经建了数据库要把之前建立的数据库删除,重建才生效。
2.重启数据库
systemctl restart mariadb
参考:
https://www.cnblogs.com/yhongji/p/9783065.html
https://www.cnblogs.com/macoffee/p/13743640.html
https://www.jianshu.com/p/955ff6065935