mysql初始化显示没有找到用户_MySQL安装后的初始优化

本文介绍了MySQL安装后如何进行初始优化,包括删除默认的test库,移除不安全的用户,为root用户设置密码,并创建新的普通用户用于局域网管理。详细步骤包括删除空用户名和root@localhost.localdomain用户,为root设置密码,添加具有特定权限的局域网管理用户,以及一些基本的mysql命令选项和help命令的使用。
摘要由CSDN通过智能技术生成

mysql数据库在安装之后,有一些内置的库(test库)、用户(如root@localhost.localdomain)是不需要的,而且在Linux系统上,yum安装的mysql是默认无root密码的,这些都给数据库服务器的安全带来了隐患。

这篇文章就是介绍如何进行初始优化,把这些隐患消除掉,以及在root用户被禁止远程登陆的情况下创建普通用户用于局域网管理。

我们的操作环境是64位windows 7系统上面安装的mysql 5.5

关于MySQL数据的安装,可以参考:MySQL安装(Windows 7)

1、删除test库

1 C:\Users\Administrator>mysql -uroot -p1234562

3

4 mysql>show databases;5

6 mysql> drop database test;

2、删除不使用的用户

在 Linux 系统上 yum 安装 mysql 时,直接使用 mysql 命令即可连接到 mysql,这是因为 mysql 的内置用户(用户名为空而且也没有密码)导致的。甚至 root 用户也没有密码,即使root用户不能进行远程连接,这也是不安全的。

1 mysql> select user, host, password from mysql.user;2 +------+-----------------------+----------+

3 | user | host | password |

4 +------+-----------------------+----------+

5 | root | localhost | |

6 | root | localhost.localdomain | |

7 | root | 127.0.0.1 | |

8 | | localhost | |

9 | | localhost.localdomain | |

10 +------+-----------------------+----------+

11 5 rows in set (0.00 sec)

首先,把用户名为空的用户删除

mysql> delete from mysql.user where user = '';

然后,把root@localhost.localdomain用户删除

mysql> delete from mysql.user where host = 'localhost.localdomain';

然后,为 root 用户设置密码

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

也可以在命令行使用 mysqladmin 命令设置密码:mysqladmin -u root password '123456'

查看一下

1 mysql> select user, host, password from mysql.user;2 +------+-----------+-------------------------------------------+

3 | user | host | password |

4 +------+-----------+-------------------------------------------+

5 | root | localhost | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |

6 | root | 127.0.0.1 | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |

7 +------+-----------+-------------------------------------------+

8 2 rows in set (0.00 sec)

最后,刷新一下权限

mysql> flush privileges;

3、添加局域网管理用户

因为 root 已经被禁止了远程连接,即使是局域网主机,也不能连接。但是我们有需要从远程连接到mysql服务器进行管理。此时可以:

创建用户,允许从局域网主机连接,可以授予所有库、所有表的所有权限,也可以只授予某些库、某些表的某些权限。

我们通常的解决方案是:一个拥有所有权限的管理员用户(用户名密码只能几个核心管理者拥有,甚至可以把host设置在很小的范围内),管理不同库的多个普通用户(不同系统的管理者拥有,彼此尽量无交集)

下面我们看一下创建用户的语法:创建system用户,授予所有库、所有表的所有权限,允许局域网192.168.0网段主机连接,密码是123456

1 mysql> GRANT ALL ON *.* TO 'system'@'192.168.0.%' IDENTIFIED BY '123456';2 mysql> GRANT ALL ON *.* TO 'system'@'localhost' IDENTIFIED BY '123456';3 mysql> GRANT ALL ON *.* TO 'system'@'127.0.0.1' IDENTIFIED BY '123456';4

5 mysql> select user, host, password from mysql.user;6 +--------+--------------+-------------------------------------------+

7 | user | host | password |

8 +--------+--------------+-------------------------------------------+

9 | root | localhost | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |

10 | root | 127.0.0.1 | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |

11 | system | 192.168.0.% | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |

12 | system | localhost | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |

13 | system | 127.0.0.1 | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |

14 +--------+--------------+-------------------------------------------+

15 5 rows in set (0.00sec)16

17 mysql> flush privileges;

从 192.168.0.10 主机进行远程连接

C:\Users\Administrator>mysql -usystem -p123456 -h 192.168.0.105

可以成功连接了

4、mysql命令主要选项

-?, --help

显示帮助

-D, --database=name

指定使用的数据库

--default-character-set=name

设置客户端连接编码

mysql -uroot -p123456 --default-character-set=gbk

-e, --execute=name

执行语句后退出,这个选项在编写shell脚本时很有用

mysql -uroot -p123456 --default-character-set=gbk -e "select * from test.t_user;"

-h, --host=name

连接主机名。默认loadlhost。在连接远程数据库时使用

-p, --password[=name]

密码,如果未指定这个选项,会在mysql命令行提示输入

-P, --port=#

服务端口,默认3306

-S, --socket=name

连接使用的socket文件

-u, --user=name

连接使用的用户

-V, --version

输出版本信息

--connect-timeout=#

连接超时时长,单位为秒

你好你好你好你好你好

你好你好你好

5、help命令

MySQL 的官方文档非常全面,即使您没有 MySQL 相关经验,只要有一定的 SQL、DOS/Linux 命令行基础,就可以根据官方文档学习 MySQL 的核心命令和 SQL 语法了。

在 mysql 控制台里面,可以使用 help 来查看帮助,如:查看 create 的帮助可以使用 help create 语句、查看删除表的帮助可以使用 help drop table 语句......

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值