CentOS下安装mysql,实现远程链接及其常见问题解决方案

对于经常用windows服务器的我来说,用Linux服务器感到压力山大,但是又压力才有动力,记录一下本人再CentOS下安装mysql遇到的坑,望广大同行介以参考,引以为戒;步骤如下:

  1. 检查是否安装过mysql:rpm -qa | grep -i mysql;如安装过通过yum -y remove卸载
  2. 官网下载安装包:https://dev.mysql.com/downloads/mysql/
  3. 利用xftp将压缩包上传到:/usr/local下
  4. 进入Xshell连接服务器,通过:cd user/local进入压缩文件目录;输入:dir查看文件是否存在,输入:sudo tar -zxvf+文件名,解压文件
  5. 登录xftp,重命名解压的文件,改为mysql
  6. 添加用户组:groupadd mysql
  7. 添加用户mysql 到用户组mysql:useradd -g mysql mysql
  8. 进入安装mysql软件目录:cd /usr/local/mysql
  9. 改当前目录拥有者为mysql用户:chown -R mysql:mysql ./
  10. 安装依赖: yum -y install autoconf
  11. 安装数据库:./scripts/mysql_install_db --user=mysql
  12. 修改当前目录拥有者为root用户: chown -R root:root ./
  13. 修改当前data目录拥有者为mysql用户:chown -R mysql:mysql data
  14. 数据库安装完毕,添加开机启动:cp support-files/mysql.server /etc/init.d/mysql
  15. 启动mysql服务:执行命令service mysql start,执行命令:ps -ef|grep mysql 看到mysql服务说明启动成功
  16. 修改mysql的root用户密码:./bin/mysqladmin -u root password ‘密码’;
  17. 检查是否安装成功:mysql -uroot -p
    16-1:提示输入密码:输入设置的密码(终端看不到输入结果不用管),回车
    16-2:出现:Welcome to the MySQL monitor代表成功,输入 use mysql;出现:
    Database changed代表成功
    16-3:输入一条sql语句测试:select * from user;出现结果代表成功(必须输入分号
    切记)
    16-3:输入 \q,推出mysql编辑,出现Bye代表成功

至此mysql已经安装完成,亲测可用,接下来尝试本地链接服务器数据库

  1. 进入输入sql语句的地方(即:上一步的16-1/16-2)输入:GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘密码’ ;对所有账户开放权限
  2. 使命令及时生效:FLUSH PRIVILEGES;
  3. 查询用户,SELECT DISTINCT CONCAT(‘User: ‘’’,user,’’’@’’’,host,’’’;’) AS query FROM mysql.user; 出现:User: ‘root’@’%’; 代表成功
  4. 输入\q推出MySQL编辑
  5. 查看防火墙状态:firewall-cmd --state
  6. 停止firewall:systemctl stop firewalld.service
  7. 禁止firewall开机启动:systemctl disable firewalld.service
  8. 至此服务器工作已经完成,本地用第三方工具链接服务器(本人用的SQLyog)
  9. 输入用户名、密码、服务器ip点击连接即可;
  10. 查看mysql状态:service mysql status

常见错误排除及注意事项:

  1. 输入sql语句完成后必须加英文版分号
  2. 进行用户登录时出现:ERROR 1044 (42000): Access denied for user ‘’@‘localhost’ to database ‘mysql’,代表存在用户名为空的账户即匿名账户,导致登录的时候是虽然用的是root,但实际是匿名登录的。
    解决方法:
    2-1.关闭mysql:service mysql stop
    2-2.屏蔽权限:mysqld_safe --skip-grant-table
    2-3.进入mysql命令行删除用户为空的数据: delete from user where USER=’’;
    2-4.及时生效:FLUSH PRIVILEGES;
  3. 忘记密码的情况处理:
    解决方法:
    3-1:利用xftp进入mysql安装路径(/usr/local/mysql),找到my.cnf文件编辑
    3-2:在[mysqld]下添加: skip-grant-tables
    3-3:进入Xshell,重启mysql服务
    3-4:输入:mysql -uroot -p,出现输入密码提示,不用管直接回车
    3-5:选择数据库:use mysql;
    3-6:重设密码: update user set password=password(“新密码”) where user=“root”;
    3-7:即时生效:flush privileges;
    3-8:退出:\q
    3-8:删除添加的skip-grant-tables,并重启mysql服务
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值