Linux下的mysql(安装)(访问很慢)(忘记初始密码)

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/walle167/article/details/52412718

Linux mysql 5.7 版本的安装
由于昨天手贱删除了mysql 下面的 performance_schema 库,导致数据执行SQL语句无法执行,但是打开表还是可以打开的,好还是测试数据库不是生产数据库,但是问题也很大,第一反应是网上找解决办法,找了很久发现都是些很罗里吧嗦的解决办法,狠心直接重新安装还来的快一点,第一时间备份所有的数据库,导出数据库脚本。

mysql 在liunx下安装,不同于其他的软件,按照我自己的理解他是一个免安装的软件,只是需要初始化。

1、groupadd mysql ## 添加一个mysql组

2、useradd -r -g mysql mysql ## 添加一个用户

3、解压缩下载的包,tar -xzvf /data/software/mysql-5.7.13-linux-glibc2.5-x86_64.tar.gz

   最好是把安装包放在路径为  /usr/local/mysql   这个路径。后面会少很多的麻烦

4、然后 mv 解压后的包 mysql ##相当于重命名

5、 chown -R mysql:mysql ./ ##进入mysql包中, 给这个包授权 给mysql

6、bin/mysqld –initialize –user=mysql –basedir=/usr/local/mysql –datadir=/usr/local/mysql/data ##进入mysql文件名 basedir 为mysql 的路径, datadir 为mysql的 data 包,里面存放着mysql自己的包, 如user

使用这个命令之后,控制台会打印一个临时密码一定要记住,如上文:YLi>7ecpe;YP
–basedir 这个路径如果不是/usr/local/mysql 可能会出现一些奇奇怪怪的问题,大部分是因为找不到路径。 如果出错了,最笨的办法就是 把包 解压在 /usr/local/mysql 目录下,然后再次初始化。这是最快的办法。

7、进入mysql support-files

8、cp my-default.cnf /etc/my.cnf

9、cp mysql.server /etc/init.d/mysql

10、vim /etc/init.d/mysql ##修改basedir= 自己的路径 修改datadir= 自己的路径

11、bin/mysqld_safe –user=mysql & ## 启动mysql

12、bin/mysql –user=root –p

进入数据库的时候 使用上面的临时密码进入,这个时候会要求重置密码

13、set password=password(‘123456’);

14、grant all privileges on *.* to root@'%' identified by '123456';

15、flush privileges;

安装完成后,如果忘记了那个临时密码,但是又无法登陆,在localhost 下也无法登陆,然后就很让人头疼了。
解决办法是使用安全模式:
进入 目录(安装目录)/usr/loacl/MySQL/bin
命令 ./mysqld_safe –user=mysql –skip-grant-tables –skip-networking &
然后就是输入 mysql -u root -p
然后 随便输入就可以进入
选择数据库:use mysql
进入数据库
然后就针对 user 这张数据库表来修改
直接把 root 用户的 host 由localhost 改为 “%”.
其次就是重新设置密码。
在新版中,user里面没有 password字段,新的密码字段是:authentication_string 字段。修改密码的时候要使用加密方式修改
update user set authentication_string=PASSWORD(“123456”) WHERE USER=”ROOT”;

重新安装MySQL 数据库的时候,还是有点不熟悉,再次把流程梳理一次

昨天在linux 机器上安装了 mysql 数据库,
兴冲冲的在本地上开发项目,连接数据库,使用Navicat 连接,可连接数据库要10秒,打开一张表也要 10秒,提交数据也要10秒。

非常受挫。。。

立马觉得,这个破网络。。

然后ping了一下机器,发现最高只有3毫秒延迟。最少1毫秒延迟。奇了个怪。。

然后就开始度娘了。知道了原因,原来是MYSQL,DNS解析出了问题,因为linux 机器是公司内网的,这太机器无法访问外网,所以每次连接都会出现DNS 解析失败,然后就会有延迟了,而且时间很长。

网上找到解决办法,就是在/etc/my.cnf 配置文件中,找到[mysqld],然后再这句话下面添加 skip-name-resolve,跳过解析

[mysqld]
skip-name-resolve

然后,重新启动就可以了。

但是我的mysql 是 5.7.14 版本的,在/etc/下面居然没有这个 my.cnf 配置文件。
解决办法就是找到mysql安装目录,/usr/local/mysql/support-files
这里写图片描述

这里写图片描述

然后将 my-default.cnf 文件改名为 my.cnf,最后复制到/etc/目录下面

展开阅读全文

没有更多推荐了,返回首页