1. 安装包问题
mysql 社区版下载时需要下载与操作系统版本匹配的安装包,本次遇到的问题是现在的安装包与操作系统不匹配,安装时提示了依赖包未有安装,开发组直接使用nodeps 强行安装,导致安装后数据库有莫名问题,一直无法解决。
2. 安装后修改数据存储位置无法启动服务问题
安装数据库后,直接修改了my.cnf文件的datadir指向,结果数据库服务无法正常启动。
要点: 数据库安装时默认指向了/var/lib/mysql的位置,第一次启动服务时必须使用默认位置,也就是不能修改my.cnf配置,第一次启动后,关闭数据库,再来修改就OK了。
3. 修改mysql.sock位置的问题
在前面修改datadir时,将sock也修改了对应位置,结果执行mysql -u root -p连接数据库时报错:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
看网络上有人使用软连接,无论如何,都需要在/var/lib/mysql/mysql.sock的文件存在。其实不必如此,修改/etc/my.cnf文件,增加
[client]
socket=/data/mysql/mysql.sock
4. 修改root口令的问题
8.0 版本用之前的skip-grant-tables方式修改root口令有些问题,需要额外增加一些配置。
(1) 关闭数据库,在my.cnf中增加skip-grant-tables 一行,然后启动数据库
(2)此时使用mysql 即可直接连接到数据库。
(3)查询数据库用户口令
select host,user,authentication_sting from mysql.user;
(4) 将root用户密码设置为空
update user set authentication_sting='' where user='root';
(5) 刷新权限,使配置生效
flush privileges;
(6) 修改口令
alter user 'root'@'localhost' identified by '******';
(7) 刷新权限,使配置生效
flush privileges;
(8) 退出配置,修改my.cnf去掉skip-grant-tables一行,然后重启数据库即可