linux上的mysql安装--yum本地安装方式

在Linux上使用yum本地安装MySQL后,遇到root用户无法登录的问题。原因是MySQL 5.6及以上版本默认设置了非空密码。解决方法包括停用MySQL服务,通过mysqld_safe命令更新root密码,以及使用flush privileges或重启服务使新密码生效。文章列举了多个参考资料,但未深入探讨问题的根本原因。
摘要由CSDN通过智能技术生成
一、Linux服务器yum安装(CentOS6.3 64位)
所有在服务器上执行的命令,都在 # 后面
1、命令安装mysql
# yum install mysql mysql-server mysql-devel -y
最后提示 Complete!  表示安装成功

2、查看是否生成了mysqld服务, 并设置随机启动
# chkconfig --list |grep mysql
mysql入门教程: 2. 安装mysql数据库
数字代码服务器启动级别,off  代表不随机启动mysqld服务,on代表随机启动服务
我们需要设置mysqld随机启动,执行下面命令进行设置
# chkconfig mysqld on
这样的结果代表正常
# chkconfig --list |grep mysql   
mysql入门教程: 2. 安装mysql数据库
3、启动mysqld服务
执行如下命令进行启动,两种方法都可以:
# /etc/init.d/mysqld start     
# service mysqld start

启动后,ps一下,看下进程是否起来
# ps -ef |grep mysql|grep -v grep
root      1582     1  0 23:26 pts/0    00:00:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --socket=/var/lib/mysql/mysql.sock --pid-file=/var/run/mysqld/mysqld.pid --basedir=/usr --user=mysql
mysql     1684  1582  1 23:26 pts/0    00:00:00 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/lib/mysql/mysql.sock
根据进程信息可以看到,mysql的数据库data目录是 /var/lib/mysql ,错误日志文件是  /var/log/mysqld.log

查看都有哪些库
# cd /var/lib/mysql
# ls -l
mysql入门教程: 2. 安装mysql数据库
发现有两个库,都是mysql默认自带的,如何手动创建数据库,会在后续的教程中说明。

查看占用端口,默认占用3306端口
# netstat -nutlp | grep mysql
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      1684/mysqld  

4、停止mysqld服务
执行如下命令进行停止,两种方法都可以:
# /etc/init.d/mysqld stop   
# service mysqld stop

5、重启mysqld服务
执行如下命令进行重启,两种方法都可以:
# /etc/init.d/mysqld restart

# service mysqld srestart

6、使用root登录时遇到了ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)错误. 如下所示


原因Mysql 5.6及以后版本出处于安全考虑,root密码已经不为空了。

解决方法:

首先停掉mysql服务器

[root@DB-Server init.d]# /etc/rc.d/init.d/mysql stop
 
 Shutting down MySQL..[ OK ]
 

然后使用mysqld_safe命令在启动mysql,更新root账号的密码

--skip-grant-tables:不启动grant-tables(授权表),跳过权限控制。

--skip-networking :跳过TCP/IP协议,只在本机访问(从网上有些资料看,这个选项不是必须的。可以不用)

[root@DB-Server init.d]# mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
[2] 9396
[root@DB-Server init.d]# 140722 14:59:46 mysqld_safe Logging to '/var/lib/mysql/DB-Server.err'.
140722 14:59:46 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql

执行上面命令后,此会话窗口会出现无反应的状态,需要使用CTRL+C中断会话,检查/var/lib/mysql/DB-Server.err日志,发现也无其它异常信息。没有弄明白该会话窗口为啥会出现无响应状态。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值