在Linux上进行mySql安装部署及遇到的问题的解决方法
前提:
Linux centOS虚拟机64位
1、首先确认是否已安装过MySQL
方法一:删除原有的MySQL目录:
使用查找语句:
whereis mysql
find / -name mysql
删除文件:
rm -rf mysql文件名
方法二:卸载MySQL
查找MySQL安装包:
rpm -qa|grep -i mysql
结果:可以看到mysql的两个包mysql-4.1.12-3.RHEL4.1、mysqlclient10-3.23.58-4.RHEL4.1
然后删除:
rpm -e --nodeps 包名
2、删除老版本mysql的开发头文件和库
检查各个mysql文件夹是否删除干净
find / -name mysql
结果如下:
/var/lib/mysql
/usr/local/mysql
/usr/lib/mysql
/usr/include/mysql
命令:
rm -rf /usr/lib/mysql
rm -rf /usr/include/mysql
3、删除干净MySQL后在线安装MySQL
在线安装语句:
yum install mysql mysql-server mysql-devel -y
yum install -y mysql-server mysql mysql-deve
4、查看MySQL版本以确认是否安装成功
查看mysql版本:
rpm -qi mysql-server
5、启动MySQL
service mysqld start
6、如何修改MySQL的ROOT账号的密码?
修改ROOT账号密码语句:
mysqladmin -u root password 'root'
UPDATE user SET Password=PASSWORD('11111111') where USER='root';
Mysql新版本使用该语句:
UPDATE user SET authentication_string=PASSWORD('11111111') where USER='root';
出现报错无法使用该密码正常登录:
解决方法:
1.停止mysql数据库
/etc/init.d/mysqld stop
2.执行如下命令
mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
3.使用root登录mysql数据库
mysql -u root mysql
4.更新root密码
mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
最新版MySQL请采用如下SQL:
mysql> UPDATE user SET authentication_string=PASSWORD('newpassword') where USER='root';
5.刷新权限
mysql> FLUSH PRIVILEGES;
6.退出mysql
mysql> quit
7.重启mysql
/etc/init.d/mysqld restart
8.使用root用户重新登录mysql
mysql -uroot -p
Enter password: <输入新设的密码newpassword>
7、如何设置开启启动?
chkconfig mysqld on
查看linux现在在监听的mysql端口
netstat -anp| grep mysql
默认3306
8、如何在/etc/my.cnf设置端口号?
1、查看默认使用的端口号
登录mysql
mysql -u root -p
使用命令show global variables like 'port';查看端口号
2、修改端口,编辑/etc/my.cnf文件,早期版本有可能是my.conf文件名,增加端口参数,并且设定端口,注意该端口未被使用,保存退出。
增加port=3307这一行。
3、 重新启动mysql
/etc/init.d/mysqld restart
重启失败
查看一下log
cat /var/log/mysqld.log
log报错是防火墙问题导致启动失败。
解决如下:
1. 防火墙问题
vi /etc/sysconfig/iptables
添加如下行:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8060 -j ACCEPT
2. SELinux问题
方法一: 不需要重启Linux:
[root@dytl05 ~]# setenforce 0
9、ERROR 1130: Host 192.168.3.100 is not allowed to connect to this MySQL server错误如何解决?
客户端链接mysql报错1130
1、查看是否能ping通服务端所在服务器IP
不能ping通的话,可以思考一下是不是服务器所在的主机防火墙是不是没关。
2、查看服务端是否已设置可以从任意主机连到mysql服务器。
登录mysql -u root -p
use mysql;
select Host, User from user;
update user set Host = '%' where User = 'root';
出现报错不要理会
select Host, User from user;
localhost变成了%就成功了
这时输入quit退出mysql.
然后重新启动MySQL。再用Navicat进行连接就可以连接上了
10、MySQL的基本命令
启动mysql: /etc/init.d/mysql start
重启mysql: /etc/init.d/mysql restart
停止mysql: /etc/init.d/mysql stop
mysql的配置文件是/etc/my.cnf。
本文为个人总结得出参考如下资料,图片均为本人个人所有,转载请告知。
参考资料:
http://www.cnblogs.com/zhangkaimin/p/4171269.html
http://www.cnblogs.com/james-roger/p/6943616.html
http://blog.csdn.net/wobin/article/details/10266165.html
http://www.linuxidc.com/Linux/2013-09/90110.html
http://www.cnblogs.com/bravehunter/p/5653317.html
https://jingyan.baidu.com/article/2c8c281dbf19a10008252a11.html
http://blog.csdn.net/brad_chen/article/details/50038793
http://blog.chinaunix.net/uid-20450406-id-1676510.html
http://blog.csdn.net/zsf8701/article/details/7718904
http://www.cnblogs.com/kerrycode/p/4364465.html
http://www.cnblogs.com/david-zhang-index/archive/2012/03/01/2375500.html
http://7424593.blog.51cto.com/7414593/1752592/
http://www.cnblogs.com/fnlingnzb-learner/p/5830622.html
http://www.cnblogs.com/coder-zhang/p/3828378.html