mysql使用federated达成dblink远程表访问,数据库崩溃

数据库崩溃苏醒表结构的不二法门

假使数据库爆发崩溃,不能登入数据库,想要飞速还原表结构的话有叁个很实惠的点子。 通过mysqlfrm工具就足以极快深入深入分析.frm文件,找到create table 语句。

  1. source 端创建测验表
    create table s select * from mysql.user ;

  2. source 端查看测量检验表的建表语句
    show create table s ;

MySQL远程访谈设置终点方法,mysql远程访谈终极

数据库对于服务端开辟人士来讲,大致正是左膀左臂。大致每二个服务端开荒人士都要和数据库打交道。而MySQL又以其开源无需付费,玲珑剔透,简单易用,作用强大攻克中中原人民共和国数据库使用分占的额数的荒凉小岛。从2018年触及到Vagrant以来,Vagrant以其方便易用深深吸引了D瓜哥。为了尽量地和生育条件保证尽大概的生机勃勃致性,减少无需的难点的发出,Vagrant Ubuntu MySQL差超少是绝好的搭配。

MySQL允许远程访谈的装置

1.注释bind-address = 127.0.0.1。

复制代码 代码如下:

>cd /etc/mysql
>sudo vim my.cnf

将bind-address = 127.0.0.1注脚掉(即在行首加#),如下:

复制代码 代码如下:

# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
# bind-address          = 127.0.0.1

除了那么些之外注视掉那句话之外,还是能把后边的IP地址改革成允许连接的IP地址。然而,要是只是开垦用的数据库,为了便于起见,依然引入间接注释掉。

从地点的注释中,能够看见,旧版本的MySQL(从部分资料上显得是5.0及其以前的版本卡塔尔上选拔的是skip-networking。所以,善意提示一下,使用旧版本的小友人请注意一下。

2.刨除佚名客户

报到进数据库:

复制代码 代码如下:

>mysql -uroot -p123456

然后,切换来数据库mysql。SQL如下:

复制代码 代码如下:

use mysql;

接下来,删除无名氏客商。SQL如下:

复制代码 代码如下:

delete from user where user='';

3.扩张允许远程访谈的客户依然允许现成客户的远程访谈。

随后上边,删除无名客户后,给root付与在放肆主机(%卡塔 尔(英语:State of Qatar)访谈放肆数据库的保有权限。SQL语句如下:

复制代码 代码如下:

mysql> grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;

假若急需钦定访谈主机,能够把%替换为主机的IP只怕主机名。其它,这种方法会在数据库mysql的表user中,扩充一条记下。假如不想扩大记录,只是想把某部已存在的客户(譬喻root卡塔 尔(英语:State of Qatar)更改成允许远程主机访谈,则可以利用如下SQL来完毕:

复制代码 代码如下:

update user set host='%' where user='root' and host='localhost';

4.脱离数据库

复制代码 代码如下:

mysql> exit

在MySQL Shell实行完SQL后,须求退出到Bash施行系统命令,要求实行exit。因为那么些太常用也太轻巧。以下内容就提醒“退出”,不再重复列出那些命令。

5.重启数据库

完结上述全部手续后,必要重启一下数据库,能力让改进的布置生效。推行如下命令重启数据库:

复制代码 代码如下:

>sudo service mysql restart

到此停止,应该就可以远程访谈数据库了。

理所当然,“雄关漫道真如铁”,世界实际不是想象的那么图样图森破,恐怕还有大概会遭逢有的标题,影响到正规使用。上面,D瓜哥把团结遭逢的一些主题素材整合治理管理,方便各位朋友参谋消除。(退一步讲,没有那个难题来撑门面,D瓜哥该叫“终极解决办法”吗?!哈哈卡塔 尔(阿拉伯语:قطر‎

普及难题解答

刘德华(Andy Lau卡塔 尔(阿拉伯语:قطر‎(英文名:liú dé huá卡塔尔说的好啊,“出来混的都以要还的”。对于大家从事挨踢行当的伴儿来讲,“出来混的都以从难题堆里走的”。冯巩也说的好,“作为首都人,兜里没揣五千元钱都糟糕意思给别人打招呼”。D瓜哥想,对于干挨踢的同伙们的话,没际遇过难题,都不好意思说本人是干挨踢的。所以,对于部分布满的题材,可能说是常用操作恐怕引发的标题来讲,有须求收拾一下,方便以后任何时候查看使用。

EEnclaveROEvoque 1045 (28000)错误的始末以致消除办法

复制代码 代码如下:

>mysql -uroot -p123456
Warning: Using a password on the command line interface can be insecure.
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

生龙活虎经没犹如约地点流程,删除无名氏客户,再大概您是中规中矩网络查的素材来进展安装(多数都不曾“删除佚名顾客”那步卡塔尔国,都或然引致这一个标题。至于那些难题的原由聊起来,D瓜哥认为“怪怪”的。要说领会那个原因,还得从MySQL数据库的客户认证机制谈到。

MySQL中,顾客相关的信息存在数据库mysql的user。然我们看一下该表的构造,命令以至再次来到值如下:

复制代码 代码如下:

mysql> desc user;
------------------------ ----------------------------------- ------ ----- --------- -------
| Field                  | Type                              | Null | Key | Default | Extra |
------------------------ ----------------------------------- ------ ----- --------- -------
| Host                   | char(60)                          | NO   | PRI |         |       |
| User                   | char(16)                          | NO   | PRI |         |       |
| Password               | char(41)                          | NO   |     |         |       |
| Select_priv            | enum('N','Y')                     | NO   |     | N       |       |
| Insert_priv            | enum('N','Y')                     | NO   |     | N       |       |
| Update_priv            | enum('N','Y')                     | NO   |     | N       |       |
| Delete_priv            | enum('N','Y')                     | NO   |     | N       |       |
| Create_priv            | enum('N','Y')                     | NO   |     | N       |       |
| Drop_priv              | enum('N','Y')                     | NO   |     | N       |       |
| Reload_priv            | enum('N','Y')                     | NO   |     | N       |       |
| Shutdown_priv          | enum('N','Y')                     | NO   |     | N       |       |
| Process_priv           | enum('N','Y')                     | NO   |     | N       |       |
| File_priv              | enum('N','Y')                     | NO   |     | N       |       |
| Grant_priv             | enum('N','Y')                     | NO   |     | N       |       |
| References_priv        | enum('N','Y')                     | NO   |     | N       |       |
| Index_priv             | enum('N','Y')                     | NO   |     | N       |       |
| Alter_priv             | enum('N','Y')                     | NO   |     | N       |       |
| Show_db_priv           | enum('N','Y')                     | NO   |     | N       |       |
| Super_priv             | enum('N','Y')                     | NO   |     | N       |       |
| Create_tmp_table_priv  | enum('N','Y')                     | NO   |     | N       |       |
| Lock_tables_priv       | enum('N','Y')                     | NO   |     | N       |       |
| Execute_priv           | enum('N','Y')                     | NO   |     | N       |       |
| Repl_slave_priv        | enum('N','Y')                     | NO   |     | N       |       |
| Repl_client_priv       | enum('N','Y')                     | NO   |     | N       |       |
| Create_view_priv       | enum('N','Y')                     | NO   |     | N       |       |
| Show_view_priv         | enum('N','Y')                     | NO   |     | N       |       |
| Create_routine_priv    | enum('N','Y')                     | NO   |     | N       |       |
| Alter_routine_priv     | enum('N','Y')                     | NO   |     | N       |       |
| Create_user_priv       | enum('N','Y')                     | NO   |     | N       |       |
| Event_priv             | enum('N','Y')                     | NO   |     | N       |       |
| Trigger_priv           | enum('N','Y')                     | NO   |     | N       |       |
| Create_tablespace_priv | enum('N','Y')                     | NO   |     | N       |       |
| ssl_type               | enum('','ANY','X509','SPECIFIED') | NO   |     |         |       |
| ssl_cipher             | blob                              | NO   |     | NULL    |       |
| x509_issuer            | blob                              | NO   |     | NULL    |       |
| x509_subject           | blob                              | NO   |     | NULL    |       |
| max_questions          | int(11) unsigned                  | NO   |     | 0       |       |
| max_updates            | int(11) unsigned                  | NO   |     | 0       |       |
| max_connections        | int(11) unsigned                  | NO   |     | 0       |       |
| max_user_connections   | int(11) unsigned                  | NO   |     | 0       |       |
| plugin                 | char(64)                          | YES  |     |         |       |
| authentication_string  | text                              | YES  |     | NULL    |       |
| password_expired       | enum('N','Y')                     | NO   |     | N       |       |
------------------------ ----------------------------------- ------ ----- --------- -------
43 rows in set (0.00 sec)

仍旧查看一下该表的建表语句。命令如下:

复制代码 代码如下:

mysql> show create table user;

鉴于重返值中夹杂了部分不供给的无用音信,为了便于大家查看,D瓜哥对重临值做了大约的处理,只把最珍视的建表语句部分提收取来。如下:

复制代码 代码如下:

CREATE TABLE `user` (
  `Host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
  `User` char(16) COLLATE utf8_bin NOT NULL DEFAULT '',
  `Password` char(41) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
  `Select_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Insert_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Update_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Delete_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Create_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Drop_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Reload_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Shutdown_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Process_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `File_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Grant_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `References_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Index_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Alter_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Show_db_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Super_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Create_tmp_table_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Lock_tables_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Execute_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Repl_slave_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Repl_client_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Create_view_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Show_view_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Create_routine_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Alter_routine_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Create_user_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Event_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Trigger_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Create_tablespace_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `ssl_type` enum('','ANY','X509','SPECIFIED') CHARACTER SET utf8 NOT NULL DEFAULT '',
  `ssl_cipher` blob NOT NULL,
  `x509_issuer` blob NOT NULL,
  `x509_subject` blob NOT NULL,
  `max_questions` int(11) unsigned NOT NULL DEFAULT '0',
  `max_updates` int(11) unsigned NOT NULL DEFAULT '0',
  `max_connections` int(11) unsigned NOT NULL DEFAULT '0',
  `max_user_connections` int(11) unsigned NOT NULL DEFAULT '0',
  `plugin` char(64) COLLATE utf8_bin DEFAULT '',
  `authentication_string` text COLLATE utf8_bin,
  `password_expired` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  PRIMARY KEY (`Host`,`User`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='Users and global privileges'

从地点多个情势中的任何一个都能够见到,MySQL中,使用(Host, User)这样的组合键作为主键,也正是标记唯豆蔻梢头二个顾客。换句话说,尽管对于同三个用户名,譬喻root,随着host的两样,也表示分化的顾客,就能够由不一致的密码和权杖。那是,我们得以查看一下该表内的数量。SQL以致再次回到值如下:

复制代码 代码如下:

mysql> select user, host, password from user;
------------------ -------------------------- -------------------------------------------
| user             | host                     | password                                  |
------------------ -------------------------- -------------------------------------------
| root             | %                        | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| root             | vagrant-ubuntu-trusty-64 | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| root             | 127.0.0.1                | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| root             | ::1                      | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
|                  | localhost                |                                           |
|                  | vagrant-ubuntu-trusty-64 |                                           |
| debian-sys-maint | localhost                | *9B8E84CA988E1CA66CEB919A0D9D3BF1532942B6 |
------------------ -------------------------- -------------------------------------------
7 rows in set (0.00 sec)

能够旁观数据库中有如上那一个客商。那么,若是有'root'@'localhost'登入时,怎么相配吗?

依据MySQL官方文书档案MySQL :: MySQL 5.6 Reference 马努al :: 6.2.4 Access Control, Stage 1: Connection Verification里是如上边那样说的:

复制代码 代码如下:

When multiple matches are possible, the server must determine which of them to use. It resolves this issue as follows:

Whenever the server reads the user table into memory, it sorts the rows.

When a client attempts to connect, the server looks through the rows in sorted order.

The server uses the first row that matches the client host name and user name.

The server uses sorting rules that order rows with the most-specific Host values first. Literal host names and IP addresses are the most specific. (The specificity of a literal IP address is not affected by whether it has a netmask, so 192.168.1.13 and 192.168.1.0/255.255.255.0 are considered equally specific.) The pattern ‘%' means “any host” and is least specific. The empty string ” also means “any host” but sorts after ‘%'. Rows with the same Host value are ordered with the most-specific User values first (a blank User value means “any user” and is least specific).

请小心那句话:“The server uses sorting rules that order rows with the most-specific Host values first. Literal host names and IP addresses are the most specific.”

那么,当从本地连接到数据库时,佚名用户将覆盖任何如'[any_username]'@'%'之类的客商。具体合作进度如下:

在'root'@'localhost'可以相配'root'@'%',''也得以相配root,那么'root'@'localhost'也足以包容''@'localhost'。事务厅方的文书档案呈现,主机(host卡塔 尔(阿拉伯语:قطر‎有比客户名称user更加高的合营优先级,则localhost比%有比更加高的合作优先级。所以,''@'localhost'比'root'@'%'匹配优先级更加高,'root'@'localhost'就至极到了''@'localhost'。根据我们地点的查询结果来看,''@'localhost'的密码为空,与登陆时提供的密码123456不协作。所以,就登入退步了。

聊到此处,想必大家已经想到了应用方案:很简短,直接把无名客商删掉就能够了。

可是,未来的难题时,在地方根本登入不上数据库,更别扯删除数据了。

如何是好?D瓜哥想到了四个肃清办法,方法如下:

①、比较扯淡的消除办法,在此外意气风发台微计算机依旧虚构机上,远程连接这一个数据库

那是自个儿想开的叁个相比扯淡的缓和办法。既然大家曾经同意了远程连接,那么大家就能够在此外风姿罗曼蒂克台微处理器依旧此外多个设想机上,远程连接到那个数据库,然后把删除无名客户。步骤如下:

1.在中间距Computer上海市总是到该数据库。命令如下:

复制代码 代码如下:

mysql -h192.168.1.119 -uroot -p123456

2.然后,切换到mysql数据库。命令如下:

复制代码 代码如下:

use mysql

3.刨除佚名客户。SQL如下:

复制代码 代码如下:

delete from user where user='';

4.退出,然后就足以在本地一向登陆数据库了。

②、投机倒把的解决办法,在地点利用跳过权限表认证的报到数据库

正好在地点的因由表达中朝气蓬勃度说过,尽管登入使用的root帐号,可是被数据库管理成了无名客商。而登陆用的帐号和密码与无名氏帐号新闻不相称,才以致权力认证未有经过。那简直就“不走平常路”,跳过权力认证这一步,间接登陆不就OK了。具体做法相像“忘记密码”的管理方式相符,所以,能够参照上面的忘记数据库密码 。须要留意的时,这里和“忘记数据库密码”的拍卖不雷同的是,这里没有须求这里只需求登入进去,登陆进去现在供给删除无名氏帐号实际不是重新载入参数密码。至于删除无名氏帐号的措施,请仿照效法上边的介绍,这里就不再赘言。

③、最诡异的消除办法,在地头伪装成远程主机来报到数据库

既然借使不晓得IP地址,MySQL会暗中同意感到从地面主机登入。那么,大家就钦赐一下主机,把团结伪装成远程主机登入。D瓜哥以为那个解决办法从MySQL的辨证机制上是说得通的。

率先,使用ifconfig查出本地主机的IP(注意,不是127上马的拱卫地址卡塔尔国。

下一场,使用如下命令登陆:

复制代码 代码如下:

mysql -h192.168.1.119 -uroot -p123456

再接下来的行事正是删除无名客商。上边已经介绍过了,这里不再赘言。

对于这些方法,D瓜哥必要特意说Bellamy下。那一个法子是D瓜哥揣摸出来的,还经超过实际际测验。所以,所以,招待板砖和鸭蛋!哈哈

忘掉MySQL客户密码的消除办法

因为急需用二个好久不怎么使用的数据库,密码忘记了,所以碰到了那些主题材料。本次本来没计划写那几个内容,可是安插赶不上变化,因为碰着了E奥迪Q5RO奥迪Q31045 (28000)。后来,开采选拔那么些方法也能够化解掉那个标题。为了以往本身查资料方便,干脆把这些核心建议来,作为“见怪不怪难题”之后生可畏,也记录一下。

1.悬停MySQL数据库。命令如下:

复制代码 代码如下:

sudo service mysql stop

暴力点的做法是,使用ps命令查出来MySQL数据库的PID,然后在动用kill -9 PID直接杀掉数据库进程。这些形式,太过血腥,就不提供命令了。呵呵

2.开发银行数据库。命令如下:

复制代码 代码如下:

sudo mysqld_safe --skip-grant-tables &

表达:参数--skip-grant-tables的情致是开发银行MySQL服务的时候跳过权限表认证。运营后,连接收MySQL的root不须要口令。
其它,有些Computer上并未有设置mysqld_safe命令,则足以选拔如下命令来运转数据库:

复制代码 代码如下:

sudo mysqld --skip-grant-tables &

除去,仍是可以改正MySQL的布局文件/etc/mysql/my.cnf,在[mysqld]的某个中丰硕一句:skip-grant-tables。但是,使用这种方式在重新初始化完密码后,还要再重复删除这句话。D瓜哥个人以为比较辛苦。仅做询问,不推荐使用这种办法。

3.登入数据库。命令如下:

复制代码 代码如下:

mysql -uroot

4.切换到mysql数据库

复制代码 代码如下:

mysql> use mysql

5.退换root帐号密码

复制代码 代码如下:

mysql> update user set password=password('123456') where user='root';

6.退出,然后重启数据库

复制代码 代码如下:

>sudo service mysql restart

近些日子,应该就能够动用新密码平常访问数据库了。

E大切诺基ROQX56 二零零四 (HY000)错误的原故以至化解办法

在报到数据库的进度中,或许遇见如下错误:

复制代码 代码如下:

mysql -uroot
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

刚在此以前,D瓜哥感觉是数据库未有正确创造mysqld.sock那几个文件,到/var/run/mysqld/下查看了一下,确实还没这些文件。

那是怎么回事?怎会未有那些文件呢?难道数据库没有运转起来。使用如下命令查看一下:

复制代码 代码如下:

>ps aux | grep mysql

Shit,竟然什么都并未有出口。看来确实是数据库未有启动起来。使用如下命令运维数据库:

复制代码 代码如下:

>sudo service mysql start

风流倜傥经是索要运行跳过注明的不二等秘书籍运营,则运用如下命令之风流倜傥:

复制代码 代码如下:

sudo mysqld_safe --skip-grant-tables &

设若提醒未有mysqld_safe,则接纳如下命令:

复制代码 代码如下:

>sudo mysqld --skip-grant-tables &

下一场就足以符合规律登陆了。

有关那个题目,D瓜哥还想再多说两句:这几个指鹿为马的根本原因是从未有过找到mysqld.sock文件,形成这么些主题材料的案由有两种:生机勃勃有史以来未有开创那几个文件,也正是未有运维数据库,那也是D瓜哥在这里边介绍的原故;其余叁个原因也可能有希望是创办的目录不在默许目录,可能延续数据库时钦点的那几个文件目录和骨子里发生的目录不符。D瓜哥在网络查资料时,也印着了这一个估计。部分网民的标题正是D瓜哥所说的第叁个原因造成的。所以,网络对此那几个题材的建设方案还留存其余三个办法。因为D瓜哥未有超过,并且景况又超级多,D瓜哥这里就不再过多介绍了。请遭逢那么些标题标仇人自行查资料化解。

EEscortROOdyssey 贰零零贰 (HY000)错误的由来以至消除办法。

复制代码 代码如下:

$ mysql -h192.168.1.113 -uroot -p123456
Warning: Using a password on the command line interface can be insecure.
ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.1.113' (111)

是讲话,现身这么些主题素材,D瓜哥也很蛋疼。不知那又是怎么搞的!可是,幸而有错误代码(E奥迪Q3ROMurano二零零零 (HY000)卡塔尔,有了这一个就有了展开解决形式之门的钥匙。消除方法瓮中之鳖。

用Google百度一下,之后在StackOverflow上查到了始末:MySQL数据库的配备文件/etc/mysql/my.cnf中的bind-address = 127.0.0.1从未有过注释掉,导致MySQL只可以采纳本地的拜访。

知道了缘由,化解方法也就光顾,注释掉那行,然后重启服务器。具体做法,参照他事他说加以考察本文初步部分。

E福睿斯RO福特Explorer 1130荒谬的原故以致化解办法

D瓜哥在查资料的长河中,还蒙受外人提到的三个错误。日志如下:

复制代码 代码如下:

ERROR 1130: Host '192.168.1.3' is not allowed to connect to this MySQL server

给的解答是“所用主机的IP地址不在被允许登陆的IP之内”。

D瓜哥也测量试验了风流洒脱晃以此荒唐。刚刚最早测量试验的时候,那几个荒唐未有再现,还认为本人测量试验有标题。后来,重启了一下数据库,再度测量检验发现有功了。确实有那个荒诞。此外,依据D瓜哥个体育项目检查实验试经验,善意提示一句,对mysql.user表实行修正后,记得推行一下flush privileges可能重启一下数据库。

关于mysqld_safe的简介

在此番化解那一个主题素材的长河中,D瓜哥查看了须臾间MySQL的进度。命令以致再次来到值如下:

复制代码 代码如下:

>ps aux | grep mysql
root      1231  0.0  0.0   4444   740 ?        S    15:09   0:00 /bin/sh /usr/bin/mysqld_safe
mysql     1604  0.9 23.0 1134700 471332 ?      Sl   15:09   0:23 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib/mysql/plugin --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/run/mysqld/mysqld.sock --port=3306
root      1605  0.0  0.0   4340   644 ?        S    15:09   0:00 logger -t mysqld -p daemon.error
vagrant   3942  0.0  0.0  12140   928 pts/0    S    15:51   0:00 grep --color mysql

啊?!有木有察觉贰个适逢其会表明的耳闻则诵的东东:mysqld_safe。那个东东怎么运行起来吧?刚开始D瓜哥以为那几个事物不该运维,以至还大概形成远程登陆数据库不成功。(因为立刻实在有其黄金时代标题。并且,在上头跳过证实校验的运转时,用到这几个命令了。所以,D瓜哥以为它不应当被运转。卡塔尔国经过和仇人(你理解,那早晚是此处提到的一些难点卡塔 尔(阿拉伯语:قطر‎“艰难特出”视而不见争后,发现标题不是那些东东引致的。幸而多思索了一点,不然D瓜哥晚节不保啊!哈哈

因为刚刚感觉那是个难点。所以,就把那么些加盟到了难题列表里。经过D瓜哥的了然,开掘那不是个难题,不过对于D瓜哥来讲,那着实废除了D瓜哥的二个疑云,也一时半刻算是难点啊。为了有援救有平等难点的伴儿,D瓜哥感到有供给把mysqld_safe给详细说贝拉米(Bellamy卡塔 尔(英语:State of Qatar)(Nutrilon卡塔 尔(阿拉伯语:قطر‎下。

关于mysqld_safe的介绍,最华贵的资料自然是法定文书档案,由于D瓜哥使用的是MySQL 5.6版。所以,这里参照他事他说加以侦察MySQL :: MySQL 5.6 Reference 马努al :: 4.3.2 mysqld_safe — MySQL Server Startup Script来张开求证。以下内容翻译自官方文书档案的认证。

合西班牙语档中,关于mysqld_safe部分的标题,就可以很好地阐明mysqld_safe的定点:MySQL服务器的开发银行脚本。正文内容还聊到,在Unix下,mysqld_safe是援引的MySQL服务器的开发银市价势。mysqld_safe可以追加部分安全特点,比方当服务器发生故障时,重启数据库服务器,并且将运维消息记录到错误日志文件中。

更加多音讯,还请各位朋友自行查阅MySQL :: MySQL 5.6 Reference 马努al :: 4.3.2 mysqld_safe — MySQL Server Startup Script。不过,这里未有讲到大家刚刚使用的参数--skip-grant-tables,关于那个参数,在MySQL :: MySQL 5.6 Reference 马努al :: 5.1.3 Server Command Options中做了介绍。

flush privileges的分演注脚

可以吗,D瓜哥承认那是一个不是主题素材的主题材料。不过,对于D瓜哥来讲,那依然二个质疑,或然说,D瓜哥想清楚那句话的贴切含义。

从字面意思来讲,flush privileges能够翻译为“刷新权限”。这一个也真的是flush privileges的叁个效果与利益:从数据库msql中的授权表中,重新加载权限结果。

mysql新安装顾客或改革密码后需用flush privileges刷新mysql的类别权限相关表,不然会自然则然推却访谈;还有风流倜傥种方法,正是重复起动mysql数据库,来使新装置生效。

除外,flush privileges还足以释放内部存款和储蓄器的效果与利益。mysql会缓存grant,create user,create server和install plugin语句的结果。这几个内部存储器直到施行revoke,drop user,drop server和uninstall plugin才会自由。所以,借使数据库施行了无数前边的讲话,则会增添内部存款和储蓄器花销。执行flush privileges就能够释放那有些的内部存款和储蓄器。

数据库对于服务端开采职员来讲,差不离正是左膀左手。差很少每叁个服务端开拓职员都要和数...

那篇文章重要介绍了MySQL远程访问设置终点方法,本文化总同盟结了多种安装方法和本领,是毁灭长途访谈的终点施工方案,要求的情人能够参照他事他说加以考察下

安装mysqlfrm

设置mysqlfrm的话,供给两个安装包。mysql-utilities和mysql-connector-python。

能够去官方网址里找到相应操作系统版本的rpm安装包。 mysql-utilities,mysql-connector-python.

此地演示centos7版本的安装形式:

wget 

wget 

rpm -ivh mysql-connector-python-2.1.6-1.el7.x86_64.rpm

rpm -ivh mysql-utilities-1.6.5-1.el7.noarch.rpm

which mysqlfrm 
/usr/bin/mysqlfrm

mysqlfrm已经安装收尾。

<<EOF
CREATE TABLE `s` (
`Host` char(60) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
`User` char(16) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
`Password` char(41) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
`Select_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
`Insert_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
`Update_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
`Delete_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
`Create_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
`Drop_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
`Reload_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
`Shutdown_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
`Process_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
`File_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
`Grant_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
`References_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
`Index_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
`Alter_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
`Show_db_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
`Super_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
`Create_tmp_table_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
`Lock_tables_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
`Execute_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
`Repl_slave_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
`Repl_client_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
`Create_view_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
`Show_view_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
`Create_routine_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
`Alter_routine_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
`Create_user_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
`Event_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
`Trigger_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
`Create_tablespace_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
`ssl_type` enum('','ANY','X509','SPECIFIED') CHARACTER SET utf8 NOT NULL DEFAULT '',
`ssl_cipher` blob NOT NULL,
`x509_issuer` blob NOT NULL,
`x509_subject` blob NOT NULL,
`max_questions` int(11) unsigned NOT NULL DEFAULT '0',
`max_updates` int(11) unsigned NOT NULL DEFAULT '0',
`max_connections` int(11) unsigned NOT NULL DEFAULT '0',
`max_user_connections` int(11) unsigned NOT NULL DEFAULT '0',
`plugin` char(64) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT '',
`authentication_string` text CHARACTER SET utf8 COLLATE utf8_bin,
`password_expired` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N'
) ENGINE=InnoDB DEFAULT CHARSET=latin1

数据库对于服务端开荒职员来说,差不离便是左膀右手。差相当的少每三个服务端开辟职员都要和数据库打交道。而MySQL又以其开源无偿,小巧玲珑,轻便易用,功能强大私吞中中原人民共和国数据库使用占有率的荒凉小岛。从二〇一八年接触到Vagrant以来,Vagrant以其方便易用深深吸引了D瓜哥。为了尽量地和生育情形保持尽或者的黄金年代致性,减少无需的主题素材的爆发,Vagrant Ubuntu MySQL差不离是绝妙的相称。

平复表结构

很简短,一条命令搞定。

1、步向到想要復苏的表的目录里面。 
cd /data/mysql/mysql3306/data/mysql 
2、钦定user,basedir,port(找三个平素不用的端口卡塔 尔(阿拉伯语:قطر‎ 
mysqlfrm --user=mysql --basedir=/usr/local/mysql mysql:user.frm --port=3333

CREATE TABLE mysql.user ( Host char(60) COLLATE utf8_bin NOT NULL DEFAULT '', User char(32) COLLATE utf8_bin NOT NULL DEFAULT '',Select_priv enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N', Insert_priv enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',Update_priv enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N', Delete_priv enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',Create_priv enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N', Drop_priv enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',Reload_priv enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N', Shutdown_priv enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',Process_priv enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N', File_priv enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',Grant_priv enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N', References_priv enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',Index_priv enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N', Alter_priv enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',Show_db_priv enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N', Super_priv enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',Create_tmp_table_priv enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N', Lock_tables_priv enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N', Execute_priv enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N', Repl_slave_priv enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N', Repl_client_priv enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N', Create_view_priv enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N', Show_view_priv enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N', Create_routine_priv enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N', Alter_routine_priv enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N', Create_user_priv enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N', Event_priv enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N', Trigger_priv enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N', Create_tablespace_priv enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N', ssl_type enum('','ANY','X509','SPECIFIED') CHARACTER SET utf8 NOT NULL DEFAULT '', ssl_cipher blob NOT NULL, x509_issuer blob NOT NULL, x509_subject blob NOT NULL, max_questionsint(11) unsigned NOT NULL DEFAULT '0', max_updates int(11) unsigned NOT NULL DEFAULT '0', max_connections int(11) unsigned NOT NULL DEFAULT '0',max_user_connections int(11) unsigned NOT NULL DEFAULT '0', plugin char(64) COLLATE utf8_bin NOT NULL DEFAULT 'mysql_native_password',authentication_string text COLLATE utf8_bin, password_expired enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N', password_last_changedtimestamp NULL DEFAULT NULL, password_lifetime smallint(5) unsigned DEFAULT NULL, account_locked enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N', PRIMARY KEY (Host,User) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='Users and global privileges'

...done.

EOF

MySQL允许远程访谈的设置

  1. source端创设顾客同期授权

1.注释bind-address = 127.0.0.1。

GRANT ALL PRIVILEGES ON sources.s TO dex IDENTIFIED BY 'xiaojun';
GRANT ALL PRIVILEGES ON sources.s TO [email protected] IDENTIFIED BY 'xiaojun';
SHOW GRANTS FOR dex;

代码如下:

mysql> GRANT ALL PRIVILEGES ON sources.s TO dex IDENTIFIED BY 'xiaojun';
Query OK, 0 rows affected (0.03 sec)

>cd /etc/mysql
>sudo vim my.cnf

mysql> GRANT ALL PRIVILEGES ON sources.s TO [email protected] IDENTIFIED BY 'xiaojun';
Query OK, 0 rows affected (0.00 sec)

将bind-address = 127.0.0.1讲明掉(即在行首加#),如下:

mysql> SHOW GRANTS FOR dex;
----------------------------------------------------------------------------------------------------
| Grants for [email protected]% |
----------------------------------------------------------------------------------------------------
| GRANT USAGE ON *.* TO 'dex'@'%' IDENTIFIED BY PASSWORD '*8FDE30312222738F1CD8AC8AF0EE515A9DB8180E' |
| GRANT ALL PRIVILEGES ON `sources`.`s` TO 'dex'@'%' |
----------------------------------------------------------------------------------------------------
2 rows in set (0.00 sec)

代码如下:

  1. 翻开target端是不是安装了FEDERATED存款和储蓄引擎

# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
# bind-address          = 127.0.0.1

mysql> mysql> show engines ;
-------------------- --------- ---------------------------------------------------------------- -------------- ------ ------------
| Engine | Support | Comment | Transactions | XA | Savepoints |
-------------------- --------- ---------------------------------------------------------------- -------------- ------ ------------
| CSV | YES | CSV storage engine | NO | NO | NO |
| MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO |
| MyISAM | YES | MyISAM storage engine | NO | NO | NO |
| BLACKHOLE | YES | /dev/null storage engine (anything you write to it disappears) | NO | NO | NO |
| MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO |
| FEDERATED | NO | Federated MySQL storage engine | NULL | NULL | NULL |
| ARCHIVE | YES | Archive storage engine | NO | NO | NO |
| InnoDB | DEFAULT | Supports transactions, row-level locking, and foreign keys | YES | YES | YES |
| PERFORMANCE_SCHEMA | YES | Performance Schema | NO | NO | NO |
-------------------- --------- ---------------------------------------------------------------- -------------- ------ ------------
9 rows in set (0.00 sec)

除了那一个之外注视掉那句话之外,还足以把前边的IP地址改正成允许连接的IP地址。可是,若是只是开荒用的数据库,为了方便起见,照旧引入直接注释掉。

看到未有安装federated存储引擎(目的端能够是其他的蕴藏引擎举例说myisam恐怕innodb卡塔尔国

从地方的笺注中,可以看来,旧版本的MySQL(从部分材料上显得是5.0及其从前的本子卡塔 尔(阿拉伯语:قطر‎上采用的是skip-networking。所以,善意提示一下,使用旧版本的青年伴请注意一下。

4.1 先来设置federated存款和储蓄引擎

2.去除无名客户

install plugin federated soname 'ha_federated.so';

登陆进数据库:

mysql> install plugin federated soname 'ha_federated.so';
ERROR 1125 (HY000): Function 'federated' already exists

代码如下:

早就安装好了,只是未有启用

>mysql -uroot -p123456

测量试验一下是还是不是足以

接下来,切换来数据库mysql。SQL如下:

[[email protected] ~]# mysqld_safe --federated &
[1] 2194
[[email protected] ~]# 130620 18:12:28 mysqld_safe Logging to '/var/lib/mysql/rhel6Mysql02.err'.
130620 18:12:28 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql

代码如下:

mysql> show engines ;
-------------------- --------- ---------------------------------------------------------------- -------------- ------ ------------
| Engine | Support | Comment | Transactions | XA | Savepoints |
-------------------- --------- ---------------------------------------------------------------- -------------- ------ ------------
| CSV | YES | CSV storage engine | NO | NO | NO |
| MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO |
| MyISAM | YES | MyISAM storage engine | NO | NO | NO |
| BLACKHOLE | YES | /dev/null storage engine (anything you write to it disappears) | NO | NO | NO |
| MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO |
| FEDERATED | YES | Federated MySQL storage engine | NO | NO | NO |
| ARCHIVE | YES | Archive storage engine | NO | NO | NO |
| InnoDB | DEFAULT | Supports transactions, row-level locking, and foreign keys | YES | YES | YES |
| PERFORMANCE_SCHEMA | YES | Performance Schema | NO | NO | NO |
-------------------- --------- ---------------------------------------------------------------- -------------- ------ ------------
9 rows in set (0.00 sec)

use mysql;

好的改过一下my.conf文件

然后,删除无名氏顾客。SQL如下:

federated

代码如下:

重启一下mysql server
service mysql restart

delete from user where user='';

恩,已经支撑了。
mysql> show engines ;
-------------------- --------- ---------------------------------------------------------------- -------------- ------ ------------
| Engine | Support | Comment | Transactions | XA | Savepoints |
-------------------- --------- ---------------------------------------------------------------- -------------- ------ ------------
| CSV | YES | CSV storage engine | NO | NO | NO |
| MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO |
| MyISAM | YES | MyISAM storage engine | NO | NO | NO |
| BLACKHOLE | YES | /dev/null storage engine (anything you write to it disappears) | NO | NO | NO |
| MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO |
| FEDERATED | YES | Federated MySQL storage engine | NO | NO | NO |
| ARCHIVE | YES | Archive storage engine | NO | NO | NO |
| InnoDB | DEFAULT | Supports transactions, row-level locking, and foreign keys | YES | YES | YES |
| PERFORMANCE_SCHEMA | YES | Performance Schema | NO | NO | NO |
-------------------- --------- ---------------------------------------------------------------- -------------- ------ ------------
9 rows in set (0.00 sec)

3.日增允许远程访谈的客商还是允许现成客商的远程访问。

  1. 在target端定义基于federated存储引擎的表links

随后下面,删除无名顾客后,给root给与在随便主机(%卡塔尔国访谈放肆数据库的有所权限。SQL语句如下:

CREATE TABLE `links` (
`Host` char(60) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
`User` char(16) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
`Password` char(41) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
`Select_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
`Insert_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
`Update_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
`Delete_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
`Create_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
`Drop_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
`Reload_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
`Shutdown_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
`Process_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
`File_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
`Grant_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
`References_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
`Index_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
`Alter_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
`Show_db_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
`Super_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
`Create_tmp_table_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
`Lock_tables_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
`Execute_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
`Repl_slave_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
`Repl_client_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
`Create_view_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
`Show_view_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
`Create_routine_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
`Alter_routine_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
`Create_user_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
`Event_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
`Trigger_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
`Create_tablespace_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
`ssl_type` enum('','ANY','X509','SPECIFIED') CHARACTER SET utf8 NOT NULL DEFAULT '',
`ssl_cipher` blob NOT NULL,
`x509_issuer` blob NOT NULL,
`x509_subject` blob NOT NULL,
`max_questions` int(11) unsigned NOT NULL DEFAULT '0',
`max_updates` int(11) unsigned NOT NULL DEFAULT '0',
`max_connections` int(11) unsigned NOT NULL DEFAULT '0',
`max_user_connections` int(11) unsigned NOT NULL DEFAULT '0',
`plugin` char(64) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT '',
`authentication_string` text CHARACTER SET utf8 COLLATE utf8_bin,
`password_expired` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N'
)
ENGINE=FEDERATED
DEFAULT CHARSET=latin1
CONNECTION='mysql://dex:[email protected]:3306/sources/s';

代码如下:

<!--
dex=username
xiaojun=password
192.168.100.41=source ip
3306=source mysql server listener port
sources=source database name
s=source table name
-->

mysql> grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;

Query OK, 0 rows affected (1.10 sec)

万豆蔻梢头要求钦命访谈主机,能够把%替换为主机的IP或然主机名。其余,这种方法会在数据库mysql的表user中,增添一条记下。若是不想增添记录,只是想把某部已存在的顾客(比如root卡塔 尔(英语:State of Qatar)更正成允许远程主机访问,则足以行使如下SQL来成功:

mysql> select count(*) from links;
----------
| count(*) |
----------
| 12 |
----------
1 row in set (0.00 sec)

代码如下:

. source 端创设测量检验表 create table s select * from mysql.user ; 2. source 端查看测量检验表的建表语句 show create table s ; EOF CREATE TABLE `s` ( `Host` char(60) CHARA...

update user set host='%' where user='root' and host='localhost';

4.脱离数据库

代码如下:

mysql> exit

在MySQL Shell推行完SQL后,供给退出到Bash实行系统命令,必要实施exit。因为这一个太常用也太轻易。以下内容就提醒“退出”,不再重复列出那几个命令。

5.重启数据库

成功上述全部手续后,须求重启一下数据库,技能让纠正的布置生效。实行如下命令重启数据库:

代码如下:

>sudo service mysql restart

到此甘休,应该就足以长间距访谈数据库了。

本来,“雄关漫道真如铁”,世界实际不是想象的那么图样图森破,大概还有或然会凌驾有些主题素材,影响到健康使用。上边,D瓜哥把温馨遭逢的生机勃勃对难点整合治理管理,方便各位朋友参照他事他说加以考查解除。(退一步讲,未有这几个主题材料来撑门面,D瓜哥该叫“终极消除办法”吗?!哈哈卡塔尔

大规模难点解答

Lau Tak Wah说的好哎,“出来混的都以要还的”。对于大家从事挨踢行业的同伴来讲,“出来混的都以从难题堆里走的”。冯巩也说的好,“作为上海人,兜里没揣三千元钱都不佳意思给外人打招呼”。D瓜哥想,对于干挨踢的小同伙们来讲,没遇到过难题,都不佳意思说本人是干挨踢的。所以,对于有个别科学普及的难点,恐怕说是常用操作恐怕引发的主题素材的话,有必不可少整理一下,方便以往随即查看使用。

E福睿斯RO奔驰M级 1045 (28000)错误的由来以至搞定办法

代码如下:

>mysql -uroot -p123456
Warning: Using a password on the command line interface can be insecure.
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

即便未有服从上边流程,删除无名氏客商,再恐怕您是根据网络查的资料来拓宽安装(大多都并未有“删除无名客户”这步卡塔 尔(英语:State of Qatar),都恐怕变成这一个难题。至于那几个主题材料的来头聊到来,D瓜哥认为“怪怪”的。要说精晓那些原因,还得从MySQL数据库的顾客认证机制聊到。

MySQL中,顾客相关的音讯存在数据库mysql的user。然我们看一下该表的布局,命令以致再次回到值如下:

代码如下:

mysql> desc user;
------------------------ ----------------------------------- ------ ----- --------- -------
| Field                  | Type                              | Null | Key | Default | Extra |
------------------------ ----------------------------------- ------ ----- --------- -------
| Host                   | char(60)                          | NO   | PRI |         |       |
| User                   | char(16)                          | NO   | PRI |         |       |
| Password               | char(41)                          | NO   |     |         |       |
| Select_priv            | enum('N','Y')                     | NO   |     | N       |       |
| Insert_priv            | enum('N','Y')                     | NO   |     | N       |       |
| Update_priv            | enum('N','Y')                     | NO   |     | N       |       |
| Delete_priv            | enum('N','Y')                     | NO   |     | N       |       |
| Create_priv            | enum('N','Y')                     | NO   |     | N       |       |
| Drop_priv              | enum('N','Y')                     | NO   |     | N       |       |
| Reload_priv            | enum('N','Y')                     | NO   |     | N       |       |
| Shutdown_priv          | enum('N','Y')                     | NO   |     | N       |       |
| Process_priv           | enum('N','Y')                     | NO   |     | N       |       |
| File_priv              | enum('N','Y')                     | NO   |     | N       |       |
| Grant_priv             | enum('N','Y')                     | NO   |     | N       |       |
| References_priv        | enum('N','Y')                     | NO   |     | N       |       |
| Index_priv             | enum('N','Y')                     | NO   |     | N       |       |
| Alter_priv             | enum('N','Y')                     | NO   |     | N       |       |
| Show_db_priv           | enum('N','Y')                     | NO   |     | N       |       |
| Super_priv             | enum('N','Y')                     | NO   |     | N       |       |
| Create_tmp_table_priv  | enum('N','Y')                     | NO   |     | N       |       |
| Lock_tables_priv       | enum('N','Y')                     | NO   |     | N       |       |
| Execute_priv           | enum('N','Y')                     | NO   |     | N       |       |
| Repl_slave_priv        | enum('N','Y')                     | NO   |     | N       |       |
| Repl_client_priv       | enum('N','Y')                     | NO   |     | N       |       |
| Create_view_priv       | enum('N','Y')                     | NO   |     | N       |       |
| Show_view_priv         | enum('N','Y')                     | NO   |     | N       |       |
| Create_routine_priv    | enum('N','Y')                     | NO   |     | N       |       |
| Alter_routine_priv     | enum('N','Y')                     | NO   |     | N       |       |
| Create_user_priv       | enum('N','Y')                     | NO   |     | N       |       |
| Event_priv             | enum('N','Y')                     | NO   |     | N       |       |
| Trigger_priv           | enum('N','Y')                     | NO   |     | N       |       |
| Create_tablespace_priv | enum('N','Y')                     | NO   |     | N       |       |
| ssl_type               | enum('','ANY','X509','SPECIFIED') | NO   |     |         |       |
| ssl_cipher             | blob                              | NO   |     | NULL    |       |
| x509_issuer            | blob                              | NO   |     | NULL    |       |
| x509_subject           | blob                              | NO   |     | NULL    |       |
| max_questions          | int(11) unsigned                  | NO   |     | 0       |       |
| max_updates            | int(11) unsigned                  | NO   |     | 0       |       |
| max_connections        | int(11) unsigned                  | NO   |     | 0       |       |
| max_user_connections   | int(11) unsigned                  | NO   |     | 0       |       |
| plugin                 | char(64)                          | YES  |     |         |       |
| authentication_string  | text                              | YES  |     | NULL    |       |
| password_expired       | enum('N','Y')                     | NO   |     | N       |       |
------------------------ ----------------------------------- ------ ----- --------- -------
43 rows in set (0.00 sec)

只怕查看一下该表的建表语句。命令如下:

代码如下:

mysql> show create table user;

出于重回值中混合了有个别不供给的无用音信,为了有扶助大家查看,D瓜哥对重返值做了简约的拍卖,只把最入眼的建表语句部分提收取来。如下:

代码如下:

CREATE TABLE `user` (
  `Host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
  `User` char(16) COLLATE utf8_bin NOT NULL DEFAULT '',
  `Password` char(41) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '',
  `Select_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Insert_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Update_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Delete_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Create_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Drop_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Reload_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Shutdown_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Process_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `File_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Grant_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `References_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Index_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Alter_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Show_db_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Super_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Create_tmp_table_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Lock_tables_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Execute_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Repl_slave_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Repl_client_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Create_view_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Show_view_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Create_routine_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Alter_routine_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Create_user_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Event_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Trigger_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `Create_tablespace_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  `ssl_type` enum('','ANY','X509','SPECIFIED') CHARACTER SET utf8 NOT NULL DEFAULT '',
  `ssl_cipher` blob NOT NULL,
  `x509_issuer` blob NOT NULL,
  `x509_subject` blob NOT NULL,
  `max_questions` int(11) unsigned NOT NULL DEFAULT '0',
  `max_updates` int(11) unsigned NOT NULL DEFAULT '0',
  `max_connections` int(11) unsigned NOT NULL DEFAULT '0',
  `max_user_connections` int(11) unsigned NOT NULL DEFAULT '0',
  `plugin` char(64) COLLATE utf8_bin DEFAULT '',
  `authentication_string` text COLLATE utf8_bin,
  `password_expired` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  PRIMARY KEY (`Host`,`User`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='Users and global privileges'

从地点五个办法中的任何二个都足以见见,MySQL中,使用(Host, User)那样的组合键作为主键,也正是标志唯风度翩翩二个顾客。换句话说,纵然对于同二个顾客名,比方root,随着host的不及,也象征差异的顾客,就足以由差异的密码和权限。那是,大家能够查阅一下该表内的多寡。SQL以致再次回到值如下:

代码如下:

mysql> select user, host, password from user;
------------------ -------------------------- -------------------------------------------
| user             | host                     | password                                  |
------------------ -------------------------- -------------------------------------------
| root             | %                        | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| root             | vagrant-ubuntu-trusty-64 | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| root             | 127.0.0.1                | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| root             | ::1                      | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
|                  | localhost                |                                           |
|                  | vagrant-ubuntu-trusty-64 |                                           |
| debian-sys-maint | localhost                | *9B8E84CA988E1CA66CEB919A0D9D3BF1532942B6 |
------------------ -------------------------- -------------------------------------------
7 rows in set (0.00 sec)

能够看看数据库中就像是上这一个客商。那么,假设有'root'@'localhost'登入时,怎么相配吗?

故事MySQL官方文书档案MySQL :: MySQL 5.6 Reference Manual :: 6.2.4 Access Control, Stage 1: Connection Verification里是如下边那样说的:

代码如下:

When multiple matches are possible, the server must determine which of them to use. It resolves this issue as follows:

Whenever the server reads the user table into memory, it sorts the rows.

When a client attempts to connect, the server looks through the rows in sorted order.

The server uses the first row that matches the client host name and user name.

The server uses sorting rules that order rows with the most-specific Host values first. Literal host names and IP addresses are the most specific. (The specificity of a literal IP address is not affected by whether it has a netmask, so 192.168.1.13 and 192.168.1.0/255.255.255.0 are considered equally specific.) The pattern ‘%' means “any host” and is least specific. The empty string ” also means “any host” but sorts after ‘%'. Rows with the same Host value are ordered with the most-specific User values first (a blank User value means “any user” and is least specific).

请稳重那句话:“The server uses sorting rules that order rows with the most-specific Host values first. Literal host names and IP addresses are the most specific.”

那便是说,当从本地连接到数据库时,无名客户将隐瞒任何如'[any_username]'@'%'之类的用户。具体合营进程如下:

在'root'@'localhost'能够合作'root'@'%',''也足以相称root,那么'root'@'localhost'也足以包容''@'localhost'。根据上边包车型地铁文书档案展现,主机(host卡塔尔有比顾客名称user更加高的同盟优先级,则localhost比%有比越来越高的特出优先级。所以,''@'localhost'比'root'@'%'相配优先级越来越高,'root'@'localhost'就合作到了''@'localhost'。根据大家地点的询问结果来看,''@'localhost'的密码为空,与登陆时提供的密码123456不相称。所以,就登入失利了。

谈起此处,想必大家已经想到了缓和方案:超级粗略,直接把无名顾客删掉就足以了。

只是,现在的标题时,在本地根本登入不上数据库,更别扯删除数据了。

如何做?D瓜哥想到了三个化解办法,方法如下:

①、比较扯淡的杀绝办法,在此外生机勃勃台计算机照旧虚构机上,远程连接那一个数据库

那是我想到的三个相比较扯淡的解决方法。既然我们曾经同意了远间隔连接,那么大家就能够在其余生机勃勃台Computer依旧其余贰个设想机上,远程连接到那几个数据库,然后把删除无名氏顾客。步骤如下:

1.在长途计算机上一而再到该数据库。命令如下:

代码如下:

mysql -h192.168.1.119 -uroot -p123456

2.然后,切换来mysql数据库。命令如下:

代码如下:

use mysql

3.去除无名顾客。SQL如下:

代码如下:

delete from user where user='';

4.退出,然后就足以在地点向来登入数据库了。

②、投机倒把的消除办法,在本地利用跳过权限表认证的报到数据库

刚巧在地点的来由表达中早就说过,固然登陆使用的root帐号,可是被数据库管理成了无名客户。而登陆用的帐号和密码与佚名帐号消息不相同盟,才招致权力认证未有经过。那几乎就“不走经常路”,跳过权力认证这一步,直接登录不就OK了。具体做法相同“忘记密码”的处理方式相近,所以,可以参照上面包车型地铁忘记数据库密码 。须要静心的时,这里和“忘记数据库密码”的拍卖不等同的是,这里无需这里只需求登入进去,登陆进去之后需求删除无名帐号并非重新苏醒设置密码。至于删除佚名帐号的艺术,请参谋上边的介绍,这里就不再赘言。

③、最稀奇的解决办法,在本土伪装成远程主机来报到数据库

既然如此倘若不驾驭IP地址,MySQL会暗中同意以为从本土主机登陆。那么,大家就钦点一下主机,把温馨伪装成远程主机登陆。D瓜哥认为那一个解决办法从MySQL的求证机制上是说得通的。

第意气风发,使用ifconfig查出本地主机的IP(注意,不是127上马的环绕地址卡塔 尔(阿拉伯语:قطر‎。

然后,使用如下命令登入:

代码如下:

mysql -h192.168.1.119 -uroot -p123456

再然后的做事正是剔除无名客商。上边已经介绍过了,这里不再赘述。

对于那一个方法,D瓜哥须求极度说美赞臣下。这些法子是D瓜哥推断出来的,还透超过实际际测量试验。所以,所以,接待板砖和鸭蛋!哈哈

遗忘MySQL客户密码的扫除办法

因为急需用二个好久不怎么使用的数据库,密码忘记了,所以碰着了这一个标题。本次本来没筹算写那个内容,可是陈设赶不上变化,因为蒙受了E奥迪Q5ROENVISION1045 (28000)。后来,开掘使用那一个方法也得以消除掉这些难点。为了现在自身查资料方便,干脆把这些主旨建议来,作为“不足为道难点”之后生可畏,也记录一下。

1.悬停MySQL数据库。命令如下:

代码如下:

sudo service mysql stop

暴力点的做法是,使用ps命令查出来MySQL数据库的PID,然后在动用kill -9 PID直接杀掉数据库进度。那个情势,太过血腥,就不提供命令了。呵呵

2.起步数据库。命令如下:

代码如下:

sudo mysqld_safe --skip-grant-tables &

注脚:参数--skip-grant-tables的意趣是运营MySQL服务的时候跳过权限表认证。运营后,连选拔MySQL的root无需口令。
除此以外,有些Computer上还未有设置mysqld_safe命令,则足以选用如下命令来运转数据库:

代码如下:

sudo mysqld --skip-grant-tables &

除开,仍可以改善MySQL的布署文件/etc/mysql/my.cnf,在[mysqld]的有些中充分一句:skip-grant-tables。然而,使用这种方法在重新初始化完密码后,还要再另行删除那句话。D瓜哥个人感到相比费心。仅做询问,不推荐使用这种措施。

3.登入数据库。命令如下:

代码如下:

mysql -uroot

4.切换到mysql数据库

代码如下:

mysql> use mysql

5.更改root帐号密码

代码如下:

mysql> update user set password=password('123456') where user='root';

6.脱离,然后重启数据库

代码如下:

>sudo service mysql restart

现行反革命,应该就足以行使新密码符合规律访谈数据库了。

EEnclaveROMurano 二〇〇四(HY000)错误的原因以至灭绝办法

在登入数据库的进度中,恐怕遇见如下错误:

代码如下:

mysql -uroot
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

刚开端,D瓜哥感觉是数据库未有科学创建mysqld.sock这些文件,到/var/run/mysqld/下查看了弹指间,确实未有这么些文件。

那是怎么回事?怎会未有这一个文件呢?难道数据库未有运转起来。使用如下命令查看一下:

代码如下:

>ps aux | grep mysql

Shit,竟然什么都还没出口。看来确实是数据库未有运维起来。使用如下命令运行数据库:

代码如下:

>sudo service mysql start

借使是内需运行跳过申明的章程运行,则采取如下命令之后生可畏:

代码如下:

sudo mysqld_safe --skip-grant-tables &

如若提示未有mysqld_safe,则利用如下命令:

代码如下:

>sudo mysqld --skip-grant-tables &

然后就足以健康登陆了。

至于那几个难点,D瓜哥还想再多说两句:那些错误的根本原因是未曾找到mysqld.sock文件,形成这一个题指标因由有二种:风流倜傥常常有未曾创设那些文件,也正是没有运维数据库,那也是D瓜哥在那处介绍的来头;别的三个缘故也可能有望是开创的目录不在默许目录,恐怕延续数据库时钦赐的那个文件目录和事实上发生的目录不符。D瓜哥在网上查资料时,也印着了这些猜想。部分网民的难点正是D瓜哥所说的第2个原因招致的。所以,英特网对此那几个题指标消除方案还设有此外叁个主意。因为D瓜哥未有遇上,何况场馆又很多,D瓜哥这里就不再过多介绍了。请蒙受这些难题的爱人自行查资料消除。

ERAV4ROHaval 二零零三(HY000)错误的始末以致消除办法。

代码如下:

$ mysql -h192.168.1.113 -uroot -p123456
Warning: Using a password on the command line interface can be insecure.
ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.1.113' (111)

是说道,现身那么些主题材料,D瓜哥也很蛋疼。不知那又是怎么搞的!可是,幸亏有错误代码(EEscortRO大切诺基贰零零叁(HY000)卡塔尔国,有了这些就有了开垦解决措施之门的钥匙。化解方式十拿九稳。

用谷歌百度一下,之后在StackOverflow上查到了原因:MySQL数据库的安顿文件/etc/mysql/my.cnf中的bind-address = 127.0.0.1并未有注释掉,引致MySQL只可以选择本地的寻访。

精通了原由,消亡措施也就驾临,注释掉那行,然后重启服务器。具体做法,参照他事他说加以考察本文初阶部分。

ECR-VROTucson1130错误的来由以致解决办法

D瓜哥在查资料的长河中,还遇上别人提到的贰个荒唐。日志如下:

代码如下:

ERROR 1130: Host '192.168.1.3' is not allowed to connect to this MySQL server

给的解答是“所用主机的IP地址不在被允许登入的IP之内”。

D瓜哥也测量试验了刹那间那些荒诞。刚刚最早测量试验的时候,那一个指鹿为马未有再次出现,还认为本人测量检验有标题。后来,重启了须臾间数据库,再次测量检验发掘有功了。确实有那几个张冠李戴。别的,根据D瓜哥民用测量试验经历,善意提示一句,对mysql.user表举行改过后,记得推行一下flush privileges或许重启一下数据库。

关于mysqld_safe的简介

在此番扫除这个主题素材的长河中,D瓜哥查看了须臾间MySQL的长河。命令以至再次回到值如下:

代码如下:

>ps aux | grep mysql
root      1231  0.0  0.0   4444   740 ?        S    15:09   0:00 /bin/sh /usr/bin/mysqld_safe
mysql     1604  0.9 23.0 1134700 471332 ?      Sl   15:09   0:23 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib/mysql/plugin --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/run/mysqld/mysqld.sock --port=3306
root      1605  0.0  0.0   4340   644 ?        S    15:09   0:00 logger -t mysqld -p daemon.error
vagrant   3942  0.0  0.0  12140   928 pts/0    S    15:51   0:00 grep --color mysql

嗯?!有木有察觉一个正巧表达的了解的东东:mysqld_safe。这么些东东怎么运维起来呢?刚初步D瓜哥以为那个东西不该运行,以致还恐怕变成远程登陆数据库不成事。(因为立即的确有其大器晚成标题。而且,在上头跳过表明校验的运维时,用到那些命令了。所以,D瓜哥以为它不应当被运行。卡塔尔经过和冤家(你领悟,这终将是这里涉及的部分难点卡塔 尔(阿拉伯语:قطر‎“千难万苦”漠然置之争后,发掘难题不是那一个东东招致的。幸而多观念了有个别,不然D瓜哥晚节不终啊!哈哈

因为刚刚认为那是个难点。所以,就把那个加盟到了难点列表里。经过D瓜哥的驾驭,发现那不是个难点,可是对于D瓜哥来讲,那诚然解决了D瓜哥的叁个疑云,也暂时算是难题啊。为了有助于有平等难点的友人,D瓜哥感觉有供给把mysqld_safe给详细说Bellamy(Bellamy卡塔尔国下。

关于mysqld_safe的介绍,最上流的材料自然是法定文书档案,由于D瓜哥使用的是MySQL 5.6版。所以,这里参照他事他说加以考察MySQL :: MySQL 5.6 Reference Manual :: 4.3.2 mysqld_safe — MySQL Server Startup Script来张开认证。以下内容翻译自官方文书档案的说明。

官方文书档案中,关于mysqld_safe部分的标题,就足以很好地证实mysqld_safe的一定:MySQL服务器的开发银行脚本。正文内容还提起,在Unix下,mysqld_safe是推荐的MySQL服务器的开行方式。mysqld_safe可以增添部分安然无恙特点,比方当服务器发生故障时,重启数据库服务器,并且将运维音讯记录到错误日志文件中。

更加多音讯,还请各位朋友自行查阅MySQL :: MySQL 5.6 Reference Manual :: 4.3.2 mysqld_safe — MySQL Server Startup Script。可是,这里未有讲到大家正巧使用的参数--skip-grant-tables,关于这些参数,在MySQL :: MySQL 5.6 Reference Manual :: 5.1.3 Server Command Options中做了介绍。

flush privileges的讲解表明

好吧,D瓜哥承认这是多个不是主题素材的难题。然而,对于D瓜哥来讲,那仍旧三个吸引,或许说,D瓜哥想驾驭那句话的适当含义。

从字面意思来讲,flush privileges能够翻译为“刷新权限”。这些也确确实实是flush privileges的一个效果:从数据库msql中的授权表中,重新加载权限结果。

mysql新安装客商或退换密码后需用flush privileges刷新mysql的种类权限相关表,不然会身不由己屏绝访问;还恐怕有生机勃勃种艺术,正是重复开动mysql数据库,来使新装置生效。

除了,flush privileges还足以自由内部存款和储蓄器的法力。mysql会缓存grant,create user,create server和install plugin语句的结果。那个内部存款和储蓄器直到实施revoke,drop user,drop server和uninstall plugin才会释放。所以,假使数据库施行了过多眼前的话语,则会追加内部存款和储蓄器开支。推行flush privileges就能够放出那豆蔻年华部分的内部存款和储蓄器。

原文:

本文由星彩网app下载发布于星彩彩票app下载,转载请注明出处:mysql使用federated达成dblink远程表访问,数据库崩溃

TAG标签:
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。