在Linux环境下安装MYSQL
最近才开始接触阿里云,才正式开始使用命令行在linux环境进行操作,看着yum的命令很简单,但是安装过程中出现了很多问题,也尝试了很多解决办法,但都没用,终于在大神的协助下连接成功,连接成功。。。。。。。
一·安装mysql
1.用yum源安装
查看有没有安装过:
yum list installed mysql*
rpm -qa | grep mysql*
查看有没有安装包:
yum list mysql*
安装mysql客户端:
yum install mysql
安装mysql 服务器端:
yum install mysql-server
yum install mysql-devel
最后显示:complete 表示安装完成
2、启动 && 停止
启动mysql服务:
service mysqld start
/etc/init.d/mysqld start
开机自启:
chkconfig -add mysqld
查看开机启动设置是否成功
chkconfig --list | grep mysql*
mysqld 0:off 1:on 2:on 3:on 4:on 5:on 6:off
停止:
service mysqld stop
3.登录(以下记载了两种)
(刚安装好的mysql root用户默认没有密码)
a.
创建root管理员:
mysqladmin -u root password 123456
登录:
mysql -u root -p
输入密码即可——密码是隐藏的输完直接enter就OK了
(第一次安装的时候,我很傻,以为密码输不进去,以为错了,各种查,各种改,最后卸了重来,无意中发现密码是隐藏了的,扎心呀!)
(-u 表示选择登陆的用户名, -p 表示登陆的用户密码)
b.
设置初始密码和权限(先用service mysqld start启动服务再进行下面的操作)
设置新的密码并同时授权限
mysql> grant all on *.* to root@'%' identified by 'youpassword';
(1)"%"欲连接到此Mysql数据库的客户端的IP地址,根据需求进行修正即可。%表示全部ip均可连接
(2)password就是Mysql数据库root用户的password,根据实际情况需要修改
刷新
mysql> flush privileges;
退出
mysql> exit;
4、远程访问
a.开放防火墙端口
# iptables -I INPUT 4 -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
# service iptables save //保存iptables规则
# iptables -nvL //查看端口开启情况
b.见上面第三点b设置用户权限
二·连接mysql
为了方便操作,我用Navicat premium连接我的mysql,我在防火墙上开启了3306端口,mysql的用户也设置了%权限,但就是连接失败,在各种折腾之后终于连接上了阿里云服务上的mysql。。。。
三·遇到的奇葩问题
ERROR 1045 (28000): Access denied for user 'xxx'@'localhost' (using password: YES)
using password: YES?(表示懵了)
我里面有一个 ''匿名用户,我把它删了就好了,但这只是解决了我的这个问题。
(mysql在模糊匹配的时候会最先匹配到'')
之前在百度上搜这个问题的解决方法时,有很多种,至于哪一种适用于你的问题,只有自己根据具体情况而采用了。
问题还有一些我就不一一总结了。