在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

前提:

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

猜你喜欢

转载自www.cnblogs.com/applelife/p/10475010.html
今日推荐