虚拟机linux7.9下安装mysql遇到的问题
1.提示文件权限不够
解决:chmod -R 777 /usr/local/mysql/
2.提示硬盘空间不够,mysql初始化失败
解决:更改/etc/my.cnf,将日志文件大小减少(innodb_log_file_size),删除/data/mysql目录下的文件,重新初始化
3.提示mysql套接字连接不上
解决:重新启动虚拟机,会自动创建mysql.sock
4.找不到文件目录
解决:需要执行cp -a /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld命令,将mysql服务启动文件放到特定路径下
5.提示mysql登录的临时密码已过期
解决:先修改/ect/my.cnf添加skip-grant-tables=1跳过密码验证。重新启动mysql服务后登录mysql,成功后设置密码,set password for 'root'@'localhost' = password('root'); 注意:mysql8.0后使用update user set authentication_string=password("你的密码") where user="root";再将/ect/my.cnf中的kip-grant-tables=1注释掉,重新启动mysql服务,用账号密码登录。
update user set plugin='mysql_native_password' where user='root';
6.本机navicat无法访问虚拟机里的mysql
解决:需要新建一个允许远程访问的账户。
# %表示可以任何地址都可以连接,如果要指定ip地址连接,将%改为指定ip地址即可
CREATE USER 'root'@'%' IDENTIFIED BY 'root';
# 授予用户数据库权限,此处为授予root用户操作所有数据库的所有权限,all代表所有权限
GRANT ALL privileges ON *.* TO 'root'@'%';
# 刷新
FLUSH PRIVILEGES;
7.提示无权限创建 /var/lib/mysql
解决:
#先创建mysql用户的密码
passwd mysql
新的密码: XX
重新输入新的密码: XX
#查看mysql是否在sudoers中,若没有,则加上mysql用户
su - root
密码: root
ls -l /etc/sudoers
vi /etc/sudoers
按键【i】编辑,【ESC】退出,【:wq!】强制保存退出
#更改权限
sudo chown -R mysql:mysql /var/lib/mysql/
主要原因为my.cnf没更新成功,更新成功则无须上述操作,默认的my.cnf中数据目录为/var/lib/mysql