`

aliyun平台centOS6.5平台安装Mysql5.7.16遇到的问题总结

阅读更多

安装mysql5.7遇到的问题

1、一开始安装时使用的是tar包安装方式 解压后直接是文件夹然后去做配置的方式 遇到很多问题 失败了

2、使用yum方式安装 --成功 

重点说明2 这种方式遇到的问题

1、官方下载地址:http://dev.mysql.com/downloads/mysql/  包名:mysql-5.7.16-1.el6.x86_64.rpm-bundle.tar  平台:red hat (因aliyun平台为centOS6.5)

2、安装过程参考的文章:http://blog.163.com/ky_199/blog/static/1431760201671710520468/

3、安装完成后,默认启动脚本放置的路径为:/usr/sbin/

4、常用几个命令:    service mysqld start/stop [启动/停止]     service mysqld restart [重启]     mysql -uroot -p [root用户登录,跟windows上一样]  注意:密码需要加单引号,我记得之前是不需要加的。假设设置的mysql的登陆密码为:123abc,则登陆命令: mysql -uroot -p'123abc';

执行SQL文件: mysql> source /home/xxx.sql

5、按照2教程中所述,安装过程中会在日志中打印出一个随机密码用于后续登录 路径在:/var/log/mysqld.log  但安装过程中并没有生成(教程版本是:5.7.14 而我下载的为最新版5.7.16)

   也有文章说会生成在 cat /root/.mysql_secret  目录下,到此目录下确实有该文件,里面有随机密码,但这个密码是用方法1安装过程中生成的,不是yum方式执行中产生的

6、安装完成后 登录mysql如果报【Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’】 则打开/etc/my.cnf 查看属性socket=/var/lib/mysql/mysql.sock

的值是否与报错路径一直,如果不一致修改为一致,重启服务后,会在报错路径下自动生成 mysql.sock 文件  登录成功

 

7、按照正常的逻辑应该是安装完成后生成一个root用户的随机密码,用该密码登录MySQL后,修改默认密码,但因为没有生成,所以无法登录,如果在my.cnf文件中加入:skip-grant-tables

    选项,则可以不输入密码登录成功,但成功后若想修改root用户密码则提示不允许。如何解决:参照:8

 

8、参考文章:https://my.oschina.net/zvc/blog/610377

(1)delete from mysql.user where user='root' and host='localhost';  删除root用户,mysql会自动将该用户重新建立

(2) GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'V(password)' WITH GRANT OPTION; 修改root用户密码 即可解决

 

9、 MySQL安装成功后再 使用客户端连接时报 ‘INFORMATION_SCHEMA.SESSION_VARIABLES'错误

原因为:从mysql5.7.6开始information_schema.global_status已经开始被舍弃,为了兼容性,此时需要打开系统表中的相关配置

 

(1)查看属性值

mysql> show variables like '%show_compatibility_56%';

+-----------------------+-------+

| Variable_name         | Value |

+-----------------------+-------+

| show_compatibility_56 | OFF   |

+-----------------------+-------+

 

//修改值

(2)mysql> set global show_compatibility_56=on;

Query OK, 0 rows affected (0.00 sec)

 

(3)再次查看

mysql> show variables like '%show_compatibility_56%';

+-----------------------+-------+

| Variable_name         | Value |

+-----------------------+-------+

| show_compatibility_56 | ON    |

+-----------------------+-------+

1 row in set (0.00 sec)

 

 

 

补充:

1、使用mysqldump命令备份

该命令使用时不是登录mysql后在 >mysql 命令行下使用, 默认情况下安装到/usr/bin/路径,在该路径下操作

格式:

mysqldump -u 用户名-p 密码 数据库名 > /home/sqlbak/bak.sql(备份路径)

注意:当密码中含有 &等特殊字符时, 要按照如下格式写:  - u root - p'abc&def' 否则 &会将命令截断产生异常。

 

2、通过迁移数据文件方式,完成数据恢复

linux系统下,mysql的数据文件默认放置在/var/lib/mysql 下,如欲将B机器数据迁移到A机器,则 在A机器安装完成数据后,首先停止A B 的mysql service 然后将B机器/var/lib/mysql 文件夹 mv到 A机器的相关文件目录(为何是mv 不是cp,因为mv会保留原来文件所有属性,防止出现其他问题)

注意: 如果B机器的mysql文件夹mv到A机器上之后,没有放置在A机器mysql读取的路径下,需要修改A机器mysql相关配置文件,使其能找到相关文件,否则将报服务启动失败,另外在迁移过程中还遇到过权限问题【文件夹mv后,启动服务报找不到文件】,使用命令 chomd -R 777 *  对 mysql文件夹全部赋予权限后,服务启动成功

 

3、修改root用户密码

use mysql; --切换数据库

--以下2选1

①:update user set password=passworD("123") where user='root';

②:update user set authentication_string=password("123") where user='root';

 

具体使用 set password  或者  set authentication_string 要看具体的数据库版本,在较新的版本中将password字段修改为了 authentication_string

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics