Linux创建mysql帐号:并设置可以运程连接mysql

技术文档 - 数据库相关

2019-11-24

 暂无演示  

需求场景:

当我们在linux环境装好运行环境后,往往需要创建多个站点多个数据库时,我们就需要创建多个链接mysql帐号来链接不同的数据库:


第一步:肯定需要先防火墙开启3006端口(如果已经开启就不需要了)

        查看是否已经开启3006端口命令:netstat -an | grep 3306

        添加命令:iptables -I INPUT 4 -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT

        保存命令:service iptables save

        重启命令:service iptables restart


第二步:创建mysql帐号,并授权可以操作那些数据库

        1:授权法

                    进入mysql命令:

                        mysql>mysql -u root -p

                    mysql>输入密码回车(输密码时,输入的内容不会显示的哦)

                    创建mysql连接帐号命令:

                            mysql>create user 帐号名@'%' identified by '密码'; 

                    给mysql帐号授权数据库命令:

                            [mysql8.0版本用法]

                            #授权一个数据库(% = 授权所有地址)

                            mysql>grant all privileges on 数据库名.* to 帐号名@'%' with grant option;

                            #授权一个数据库(授权123.123.123.123这一个地址)

                            mysql>grant all privileges on 数据库名.* to 帐号名@'123.123.123.123' with grant option;

                            授权全部数据库(% = 授权所有地址)

                            mysql>grant all privileges on *.* to 帐号名@'%' with grant option;

                            

                            [其他版本用法]

                            #授权一个数据库(% = 授权所有地址)

                            mysql>grant all privileges on 数据库名.* to 帐号名@'%' identified by '密码';

                            #授权全部数据库(授权123.123.123.123这一个地址)

                            mysql>grant all privileges on *.* to 帐号名@'123.123.123.123' identified by '密码';

                            

                    刷新权限并立即生效命令:

                            mysql>flush privileges;

                    退出命令:

                            mysql>exit;


          2:改表法

                    可能是你的帐号不允许从远程登陆,只能在localhost。

                    这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"

                    mysql -u root -p

                    输入密码回车(输密码时,输入的内容不会显示的哦)

                    mysql>use mysql; 

                    mysql>update user set host = '%' where user = 'root'; 

                    mysql>select host, user from user;