您的位置:首页 > 数据库 > MySQL

虚拟机上安装MySql并且通过可视化工具SQLyog远程连接

2016-10-11 17:31 671 查看
安装包下载地址:http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.41-linux2.6-x86_64.tar.gz

第一步:检查本机是否已经安装了MySQL,grep的-i选项表示匹配时忽略大小写

[root@localhost ~]#rpm -qa|grep -i mysql

显示如下信息:

mysql-libs-5.1.52-1.el6.x86_64

可见系统默认已经安装了库文件,应该先卸载,不然会出现覆盖错误。注意卸载时使用了–nodeps选项,忽略了依赖关系:

卸载:[root@localhost ~]#rpm -e mysql-libs-5.1.52-1.el6.x86_64 –nodeps

第二步:添加mysql组和mysql用户,用于设置mysql安装目录文件所有者和所属组。

命令:

[root@localhost ~]#groupadd mysql

[root@localhost ~]#useradd -r -g mysql mysql

说明:useradd -r参数表示mysql用户是系统用户,不可用于登录系统。

第三步:将二进制文件解压到指定的安装目录,我们这里指定为/usr/local

[root@localhost ~]# cd/usr/local/

[root@localhost local]#tar zxvf /path/to/mysql-5.5.41-linux2.6-x86_64.tar.gz

注意:加压后在/usr/local/生成了解压后的文件夹mysql-5.5.41-linux2.6-x86_64,这名字太长,我们为它建立一个符号链接mysql,方便输入。

[root@localhost local]#ln -s mysql-5.5.41-linux2.6-x86_64 mysql

第四步:进入mysql文件夹,也就是mysql所在的目录,并更改所属的组和用户。

[root@localhost local]#cd mysql

[root@localhost mysql]#chown -R mysql . (注意:最后有一个点.)

[root@localhost mysql]#chgrp -R mysql . (注意:最后有一个点.)

第五步: 执行mysql_install_db脚本

[root@localhost mysql]#cd scripts

[root@localhost scripts]# ./mysql_install_db –user=mysql

接着,将mysql/目录下除了data/目录的所有文件,改回root用户所有,mysql用户只需作为mysql/data/目录下所有文件的所有者。

[root@localhost mysql]chown -R root . (注意:最后有一个点.)

[root@localhost mysql]chown -R mysql data

第六步:复制配置文件

[root@localhost mysql]# cd support-files/

[root@localhost support-files]# cp my-medium.cnf /etc/my.cnf

第七步:将mysqld服务加入开机自启动项

首先需要将目录/mysql/support-files/中的mysql.server服务脚本复制到/etc/init.d/,并重命名为mysqld,即

[root@localhost mysql]# cd support-files/

[root@localhost support-files]# cp mysql.server /etc/init.d/mysqld

注意:这里需要通过chkconfig命令将mysqld服务加入到自启动服务项中

[root@localhost mysql]# chkconfig –add mysqld

注意:服务名称mysqld就是我们将mysql.server复制到/etc/init.d/时重命名的名称

然后,查看是否添加成功

[root@localhost mysql]# chkconfig –list mysqld 显示如下即可:

mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off

第八步:检查是否启动

[root@localhost mysql]# netstat -anp |grep mysqld 显示如下:

tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 8164/mysqld

tcp 0 0 127.0.0.1:3306 127.0.0.1:51698 ESTABLISHED 8164/mysqld

tcp 0 0 127.0.0.1:3306 127.0.0.1:51700 ESTABLISHED 8164/mysqld

unix 2 [ ACC ] STREAM LISTENING 1205787 8164/mysqld

另外:如果不想重新启动,那可以直接手动启动

[root@localhost mysql]# service mysqld start 显示如下说明启动成功

Starting MySQL.. SUCCESS

第九步: 运行客户端程序mysql,在mysql/bin目录中,测试能否连接到mysqld

[root@localhost mysql]# cd bin

[root@localhost bin]# ./mysql

此时会看到如下信息:

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 1

Server version: 5.5.41-log MySQL Community Server (GPL)

Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.

mysql>

这就说明客户端能连接到mysqld

说明:如果想要退出连接,使用quit或者exit,即

mysql> quit 或者 mysql> exit

到此,服务器上安装MySQL工作结束

安装过程中遇到一个问题:在第八步启动的时候遇到如下ERROR

[root@localhost mysql]# service mysqld start

Starting MySQL… ERROR! The server quit without updating PID file (/usr/local/mysql/data/localhost.idc.pplive.cn.pid).

该问题的解决方法参考网页:http://www.111cn.net/database/mysql/47258.htm

我解决这个问题是用这个网页中的第2个方法解决的

[root@localhost mysql]# ps -ef|grep mysqld

mysql 8164 1 0 Sep29 ? 00:11:04 /usr/local/mysql/bin/mysqld –basedir=/usr/local/mysql –datadir=/usr/local//usr/local/mysql/data/localhost.idc.pplive.cn.err –pid-file=/usr/local/mysql/data/localhost.idc.pplive.cn.pid –socket=/tmp

root 11158 23307 0 14:30 pts/0 00:00:00 grep mysqld

[root@localhost mysql]# kill -9 8164

[root@localhost mysql]# ps -ef|grep mysqld

root 11163 23307 0 14:31 pts/0 00:00:00 grep mysqld

[root@localhost mysql]# service mysqld start

Starting MySQL.. SUCCESS!

下面进行可视化工具SQLyog来远程连接该服务器上安装的MySQL

在进行可视化连接时也遇到一个问题:ERROR 1130: Host ‘10.200.21.155’ is not allowed to connect to thisMySQL server

这个问题的根本原因是:MySQL默认所有帐号不允许从远程登陆,只能在localhost

解决方法:

第一种:修改user表

./mysql -uroot –p

mysql>use mysql;

mysql>update user set host = ‘%’ where user =’root’;

mysql>flush privileges;

(注意:这里sql语句后面一定要加上分号;,否则语句无法执行)

第二种:指定授权

./mysql -uroot –p

mysql>use mysql;

mysql>GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION;

mysql>flush privileges;

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql