centos7用玛利亚mariadb数据库遇到的所有问题搜了一堆...

安装mysql的作者另起炉灶的开源版本:maria DB

(maria DB如同 MySQL 的影子版本,玛莉亚数据库是 MySQL 的一个分支版本(branch),而不是衍生版本(folk),提供的功能可和 MySQL 完全兼容)。

1.安装:

yum install -y mariadb-server

2.启动maria DB服务:

systemctl start mariadb.service

(说明:CentOS 7.x开始,CentOS开始使用systemd服务来代替daemon,原来管理系统启动和管理系统服务的相关命令全部由systemctl命令来代替。)

3.添加至开机自启动:

systemctl enable mariadb.service

centos7自带数据库MariaDB重启和修改密码

1:MariaDB和mysql差不多是mysql的一个分支,完全兼容mysql的命令。

2:centos 7 中自带MariaDB, 需要在centos中安装mysql的时候就需要多注意了。

扫描二维码关注公众号,回复: 4239863 查看本文章

3:启动 停止 重启 MariaDB

      systemctl start mariadb.service #启动MariaDB

      systemctl stop mariadb.service #停止MariaDB
      systemctl restart mariadb.service #重启MariaDB
      systemctl enable mariadb.service #设置开机启动

4:如果忘记了MariaDB root密码怎么办呢?

    1. KILL掉系统里的MySQL进程;

    2. 用以下命令启动MySQL,以不检查权限的方式启动;

    mysqld_safe -skip-grant-tables &

    或是
    
    修改/etc/my.cnf文件,在[mysqld]下添加 skip-grant-tables , 再启动mysql

    3. 然后用空密码方式使用root用户登录 MySQL;

    mysql -u root

    4. 修改root用户的密码;

    mysql> update mysql.user set password=PASSWORD('新密码') where User='root'
    mysql> flush privileges;
    mysql> quit

    5. 重新启动MySQL,就可以使用新密码登录了。

    6. 改完密码别忘记删除配置文件中的 skip-grant-tables

5:普通修改MariaDB的密码,则和上一步一样,不用修改配置文件,登录MySQL 就行

6:普通重启mysql和启动mysql

   启动: /usr/local/mysql/bin/mysqld_safe -user=mysql &

   停止:/usr/local/mysql/bin/mysqladmin -uroot -p shutdown

简单配置

安装完成MariaDB,首先启动MariaDB,两条命令都可以

systemctl start mariadb

#service mariadb start

设置开机启动

systemctl enable mariadb

#chkconfig mariadb on

接下来进行MariaDB的相关简单配置

mysql_secure_installation

首先是设置密码,会提示先输入密码

Enter current password for root (enter for none):<–初次运行直接回车

设置密码

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] <– 是否重新加载权限表,回车

初始化MariaDB完成,接下来测试登录

mysql -uroot -ppassword

完成。

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其中一部分。

Linux系统教程:如何检查MariaDB服务端版本  http://www.linuxidc.com/Linux/2015-08/122382.htm

MariaDB Proxy读写分离的实现 http://www.linuxidc.com/Linux/2014-05/101306.htm

Linux下编译安装配置MariaDB数据库的方法 http://www.linuxidc.com/Linux/2014-11/109049.htm

CentOS系统使用yum安装MariaDB数据库 http://www.linuxidc.com/Linux/2014-11/109048.htm

安装MariaDB与MySQL并存 http://www.linuxidc.com/Linux/2014-11/109047.htm

Ubuntu 上如何将 MySQL 5.5 数据库迁移到 MariaDB 10  http://www.linuxidc.com/Linux/2014-11/109471.htm

[翻译]Ubuntu 14.04 (Trusty) Server 安装 MariaDB  http://www.linuxidc.com/Linux/2014-12/110048htm

MariaDB 的详细介绍请点这里
MariaDB 的下载地址请点这里

使用以下命令行删除账户:

delete from user where user='账户名';
1
出现:

 ERROR 1046 (3D000): No database selected
1
因为是直接使用 SQL 语句的方式来删除账户,所以必须先选择 mysql 自身的数据库:

use mysql;
--------------------- 
作者:deniro_li 
来源:CSDN 
原文:https://blog.csdn.net/deniro_li/article/details/79526754 
版权声明:本文为博主原创文章,转载请附上博文链接!

mysql远程连接 Host * is not allowed to connect to this MySQL server

2018年07月31日 14:36:22 希望之光芒 阅读数:714更多

个人分类: mysql

在本机登入mysql后,更改"mysql"数据库里的"user"表里的"host"项,从"localhost"改为'%'。

代码如下         

mysql>

mysql>use mysql;

mysql>select 'host' from user where user='root';

#查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称)

先说说这个错误,其实就是我们的MySQL不允许远程登录,所以远程登录失败了,解决方法如下:

  1. 在装有MySQL的机器上登录MySQL mysql -u root -p密码
  2. 执行use mysql;
  3. 执行update user set host = '%' where user = 'root';这一句执行完可能会报错,不用管它。
  4. 执行FLUSH PRIVILEGES;

    经过上面4步,就可以解决这个问题了。 
    注: 第四步是刷新MySQL的权限相关表,一定不要忘了,我第一次的时候没有执行第四步,结果一直不成功,最后才找到这个原因。

猜你喜欢

转载自blog.csdn.net/weixin_40790313/article/details/83585755