确保Mysql卸载干净!
卸载自带的 MariaDB
查看版本:有则需要卸载。
rpm -qa|grep mariadb
卸载:复制文件名,执行以下指令。
rpm -e --nodeps 文件名
确认卸载:
rpm -qa|grep mariadb
添加 MariaDB yum 仓库
首先在CentOS操作系统中/etc/yum.repos.d/目录下添加 MariaDB 的YUM配置文件MariaDB.repo文件。 这里使用的是国内源,下载速度比较快些。
http://mirrors.aliyun.com/mariadb/yum/10.6.21/centos7-amd64/
国外的数据源地址是:http://yum.mariadb.org/10.6.21/centos7-amd64
使用命令行
vim /etc/yum.repos.d/mariadb.repo
添加如下内容:
[mariadb]
name = MariaDB
baseurl = http://mirrors.aliyun.com/mariadb/yum/10.6.21/centos7-amd64/
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
enabled=1
gpgcheck=1
更新缓存
yum clean all
yum makecache
yum repolist
显示可安装的版本
#这个可以看版本号
yum search mariadb --showduplicates
或
yum search mariadb
安装 MariaDB
通过yum命令安装 MariaDB。
yum -y install MariaDB-server MariaDB-client
MariaDB 安装完毕后,立即启动数据库服务守护进程。
systemctl start mariadb
设置 MariaDB 在操作系统重启后自动启动服务。
systemctl enable mariadb
查看 MariaDB 服务当前状态。
systemctl status mariadb
对 MariaDB 进行安全配置
通过以下命令进行安全配置,根据实际情况用 Y/n 回复以下问题:设置 MariaDB 的 root 账户密码,删除匿名用户,禁用 root 远程登录,删除测试数据库,重新加载权限表。
mysql_secure_installation
本人全都是选择了Y,然后按回车。 在配置完数据库的安全配置后,可以通过以下命令查看版本,确认 MariaDB已安装成功。
mysql --version
可以通过 MariaDB 命令行登录,然后对数据库进行sql查询操作。
mysql -uroot -p
设置开机启动服务
systemctl enable mariadb
启动服务
systemctl start mariadb
重启服务
systemctl restart mariadb
停止服务
systemctl stop mariadb
查看状态
systemctl status mariadb
为 MariaDB 配置远程访问权限
在第三步中如果禁用 root 远程登录选择 Y 的话就不能在别的电脑通过navicat等工具连接到数据库,这时就需要给对应的 MariaDB 账户分配权限,允许使用该账户远程连接到MariaDB。可以输入以下命令查看账号信息:
select User, host from mysql.user;
root账户中的host项是localhost表示该账号只能进行本地登录,如果需要远程访问,我们需要修改权限,输入命令:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'my-new-password' WITH GRANT OPTION;
修改权限。%表示针对所有IP,password表示将用这个密码登录root用户,如果想只让某个IP段的主机连接,可以修改为:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'具体的IP' IDENTIFIED BY 'my-new-password' WITH GRANT OPTION;
最后别忘了:
FLUSH PRIVILEGES;
保存更改后,再看看用户账号信息:
select User, host from mysql.user;
这个时候发现root的host项是%,这说明配置成功了,我们可以用该账号进行远程访问了。
设置数据库字母大小写不敏感
vim /etc/my.cnf.d/server.cnf
在[mysqld]下加上
lower_case_table_names=1
MySQL默认字母大小写敏感的。默认值等于0的,即大小写敏感。所以修改成1就行了。
设置MariaDB数据库默认编码
MariaDB的默认编码是latin1,插入中文会乱码,因此需要将编码改为utf8。 1).登录,使用以下命令查看当前使用的字符集,应该有好几个不是utf8格式。
show variables like "%character%"; show variables like "%collation%";
2).修改的配置文件
vim /etc/my.cnf.d/client.cnf
在[client]字段里加入
default-character-set=utf8
编辑
vim /etc/my.cnf.d/server.cnf
在[mysqld]字段里加入
character-set-server=utf8
3).重启 MariaDB 配置生效。
systemctl restart mariadb
忘记了MariaDB root密码,解决办法如下:
1).先停掉MariaDB
systemctl stop mariadb.service
2).KILL掉系统里的MariaDB进程;
ps -ef | grep mariadb #查询进程PID
kill 进程PID
3).用以下命令启动MariaDB,以不检查权限的方式启动;
mysqld_safe -skip-grant-tables &
或是 修改/etc/my.cnf文件,在[mysqld]下添加 skip-grant-tables , 再启动MariaDB
systemctl restart mariadb.service
然后用空密码方式使用root用户登录MariaDB;
mysql -u root
4).修改root用户的密码;
update mysql.user set password=password('password') where User='root';
# ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
flush privileges;
quit;#或者使用exit;
5). 改完密码需要删除配置文件中的
skip-grant-tables
6).重新启动MariaDB,就可以使用新密码登录