linux系统中启动mysql方式已经客户端如和连接mysql服务器

零点间的记录    

一、启动方式
1、使用linux命令service 启动:
service mysqld start
2、使用 mysqld 脚本启动:
/etc/inint.d/mysqld start
3、使用 safe_mysqld 启动:
safe_mysqld&

二、停止
1、使用 service 启动:
service mysqld stop
2、使用 mysqld 脚本启动:
/etc/inint.d/mysqld stop
3、 mysqladmin shutdown

三、重启
1、使用 service 启动:
service mysqld restart
2、使用 mysqld 脚本启动:
/etc/inint.d/mysqld restart

备注:查看mysql端口是否已经使用,使用netstat -anp 命令查看服务器端口使用情况。

第二部分,linux下重启mysql数据库的各种方法 

1、通过rpm包安装的MySQL

代码示例:

service mysqld restart
/etc/inint.d/mysqld start

2、从源码包安装的MySQL 
代码示例:
// linux关闭MySQL的命令
$mysql_dir/bin/mysqladmin -uroot -p shutdown
// linux启动MySQL的命令
$mysql_dir/bin/mysqld_safe &

其中mysql_dir为MySQL的安装目录,mysqladmin和mysqld_safe位于MySQL安装目录的bin目录下。

3、以上方法都无效时,通过强行命令:

代码示例:
killall mysqld #关闭mysql

参考文档:https://www.cnblogs.com/ning-blogs/p/5063379.html

-------------------------------------------完美的分割线--------------------------------------------------

使用客户端连接mysql服务器,注意事项:

1.需要关闭linux下的防火墙,一般都是关闭的(也可以不用关闭,只需要配置下即可。具体配置看下面)

2.需要在mysql服务中对连接的用户进行远程授权连接

问题如下图:

但是在linux本地是可以连接数据库的。所以说网络没有问题;通过netstat -nalp | grep "3306"命令发现3306端口也开启着;

通过问度娘发现问题可能出在iptables,查看iptables的运行状态,发现iptables是运行着的,所有通过chkconfig iptables off 关闭了防火墙,通过chkconfig --list,查看如下图:

然后通过命令service iptables stop 停止正在运行的防火墙

注意:

如果不想关闭防火墙也可以通过修改配置文件,将-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT添加到/etc/sysconfig/iptables即可(需重启iptables服务),表示允许3306端口通过防火墙。

在此使用sqlyog进行登录;发现还是无法登录还是提示错误信息,如下图:

根据错误提示,我本地主机的网卡IP远程连接时不允许通过该主机连接到MYSQL服务器;可以初步判断可能是应为缺少权限;

我们需要给用户添加权限

登录mysql,在mysql下输入如下命令:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;  //允许用户root使用密码123456从任何主机连接到MYSQL服务器(这里的用户和密码换成自己的哦,别傻不拉几的

如果需要制定主机,则可以用下面的命令:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'10.1.1.123' IDENTIFIED BY '123456' WITH GRANT OPTION;  //允许用户root从IP为10.1.1.123的主机连接到MYSQL服务器,并使用123456作为登录密码

授权成功之后,再次尝试进行远程连接,可以发现连接成功;如下图:

参考文档:http://blog.itpub.net/31015730/viewspace-2143797/

posted @ 2019-08-22 22:26  goodTOgreat  阅读(7421)  评论(0编辑  收藏  举报