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/目录下面