首先先查看系统中有没有mysql和mariadb数据库
rpm -qa |grep mysql
rpm -qa |grep mariadb
结果如下:因为我已经安装了MariaDB,centos7中默认不安装mysql。
如果有的话就卸载掉:这是yi'ti
#单个卸载
rpm -e --nodeps mysql
rpm -e --nodeps mariadb
#批量卸载
rpm -e|grep mariadb | xargs rpm -e --nodeps
卸载完成之后使用yum命令查询相关的软件包
#查询软件包
yum search mariadb
安装软件包:因为我已经安装好了
然后启动mariadb服务
#启动mariadb服务
systemctl start mariadb
#停止mariadb服务
systemctl stop mariadb
#重启mariadb服务
systemctl restart mariadb
#把mariadb服务设为开机启动
systemctl enable mariadb
使用mysql -u root -p 登录,新安装的mariadb不需要密码,直接回车就可以登录上。
但是没有密码zon总不行啊,所以现在需要给数据库设置密码,先使用exit退出数据库
使用mysql_secure_installation命令配置数据库
Enter current password for root (enter for none):<–初次运行直接回车因为root用户没有设置密码
#设置密码
Set root password? [Y/n] <– 是否设置root用户密码,输入y并回车或直接回车
New password: <– 设置root用户的密码
Re-enter new password: <– 再输入一次你设置的密码
#其他配置
Remove anonymous users? [Y/n] <– 是否删除匿名用户,回车
Disallow root login remotely? [Y/n] <–是否禁止root远程登录,回车(后面授权配置)
Remove test database and access to it? [Y/n] <– 是否删除test数据库,回车
Reload privilege tables now? [Y/n] <– 是否重新加载权限表,回车
设置完成之后就可以通过密码登录Maria DB数据库了。
引用一部分https://www.cnblogs.com/bincoding/p/6208521.html博客的内容。
2、配置MariaDB的字符集
文件/etc/my.cnf
vi /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
vi /etc/my.cnf.d/client.cnf
在[client]中添加
default-character-set=utf8
文件/etc/my.cnf.d/mysql-clients.cnf
vi /etc/my.cnf.d/mysql-clients.cnf
在[mysql]中添加
default-character-set=utf8
全部配置完成,重启mariadb
systemctl restart mariadb
之后进入MariaDB查看字符集
mysql> show variables like "%character%";show variables like "%collation%";
显示为
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
+----------------------+-----------------+
| Variable_name | Value |
+----------------------+-----------------+
| collation_connection | utf8_unicode_ci |
| collation_database | utf8_unicode_ci |
| collation_server | utf8_unicode_ci |
+----------------------+-----------------+
3 rows in set (0.00 sec)
字符集配置完成。
3、添加用户,设置权限
创建用户命令
mysql>create user username@localhost identified by 'password';
直接创建用户并授权的命令
mysql>grant all on *.* to username@localhost indentified by 'password';
授予外网登陆权限
mysql>grant all privileges on *.* to username@'%' identified by 'password';
授予权限并且可以授权
mysql>grant all privileges on *.* to username@'hostname' identified by 'password' with grant option;
简单的用户和权限配置基本就这样了。
其中只授予部分权限把 其中 all privileges或者all改为select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file其中一部分。