mysql在centos上安装和远程连接

mysql在centos上安装和远程连接,第1张

首先要确保服务器上安装有MySQL,执行如下命令来检查是否安装了 MySQL(CentOS 7 上是 mariadb-server,CentOS 6 上是 mysql-server,这里以 CentOS 7 为例)

$ rpm -q mariadb-server

如果提示 package mariadb-server is not installed 则说明没有安装 MySQL,需要手动安装。如果出现 mariadb-server-xxx.xxx.xx.el7.x86_64 则说明已经安装。

安装 MySQL 的步骤为:

1.安装 MySQL 和 MySQL 客户端

$ sudo yum -y install mariadb mariadb-server

2.启动 MySQL

$ sudo systemctl start mariadb

3.设置开机启动

$ sudo systemctl enable mariadb

4.设置初始密码

$ sudo mysqladmin -u root password root

这时我们有两种方式来进行修改,这里只用了第一种,就直接将原来的 user='root' and host='localhost' 记录的host修改成%或指定的ip。

1.将host设置为%表示任何ip都能连接mysql

update user set host='%' where user='root' and host='localhost'

2.当然也可以将host指定为某个ip

update user set host='*.*.*.*' where user='root' and host='localhost'

这里将 . . . 换你实际的地址。

3.执行完以上语句,接着执行以下语句 ,刷新权限表,使配置生效

flush privileges

1.检查服务器防火墙3306端口开放了吗,没开放需要去开放

2.检查一下云平台的安全组规则中是否开放了3306端口,如何配置阿里云,这里以阿里云为例( 阿里云添加安全组规则 )

========本地登录远程mysql

mysql -h IP地址 -P 3306 -u root -p

========创建用户

CREATE USER ‘hyeos’@’%’ IDENTIFIED BY ‘hyeosnet’

说明:

%:指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登陆,可以使用通配符%

hyeosnet:该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器

示例:

CREATE USER ‘hyeos’@’localhost’ IDENTIFIED BY ‘hyeosnet’

CREATE USER ‘hyeos’@’192.168.38.110_’ IDENDIFIED BY ‘hyeosnet’

CREATE USER ‘hyeos’@’%’ IDENTIFIED BY ‘hyeosnet’

CREATE USER ‘hyeos’@’%’ IDENTIFIED BY ”

CREATE USER ‘hyeos’@’%’

注意:

创建用户后,该用户只能连接到数据库服务器,但并没有 *** 作该数据库服务器的权限。

========授权

GRANT privilegesxxx ON databasename.tablename TO ‘hyeos‘@’%‘

说明:

privilegesxxx:用户的 *** 作权限,如SELECT,INSERT,UPDATE等,如果要授予所的权限则使用ALL

databasename:数据库名

tablename:表名,如果要授予该用户对所有数据库和表的相应 *** 作权限则可用表示,如.*

示例:

GRANT SELECT, INSERT ON DbXXX.user TO ‘hyeos’@’%’

GRANT ALL ON . TO ‘hyeos’@’%’

GRANT ALL ON Dbname.* TO ‘hyeos’@’%’

//注意:

授权之后需要用户重连MySQL,才能获取相应的权限。

用以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令:

GRANT privilegesxxx ON databasename.tablename TO ‘hyeos’@’%’ WITH GRANT OPTION

设置与更改用户密码

SET PASSWORD FOR ‘hyeos’@’%’ = PASSWORD(‘newhyeosnet’)

如果是当前登陆用户用:

SET PASSWORD = PASSWORD(“newhyeosnet”)

示例:

SET PASSWORD FOR ‘hyeos’@’%’ = PASSWORD(“hyeosnet”)

撤销用户权限

REVOKE privilegexxx ON databasename.tablename FROM ‘hyeos’@’%’

示例:

REVOKE SELECT ON . FROM ‘hyeos’@’%’

注意:

假如你在给用户’hyeos’@’%’授权的时候是这样的(或类似的):GRANT SELECT ON db_name.user TO ‘hyeos’@’%’,则在使用REVOKE SELECT ON . FROM ‘hyeos’@’%’命令并不能撤销该用户对db_name数据库中user表的SELECT *** 作。相反,如果授权使用的是GRANT SELECT ON . TO ‘hyeos’@’%’则REVOKE SELECT ON db_name.user FROM ‘hyeos’@’%’命令也不能撤销该用户对db_name数据库中user表的Select权限。

具体信息可以用命令SHOW GRANTS FOR ‘hyeos’@’%’查看。

=======删除用户

DROP USER ‘hyeos’@’%’

=======刷新系统权限表

flush privileges

=======重设密码及登录主机

alter user ‘root’@’localhost’ identified by ‘XXXXXX’

=======远程导出:

mysqldump -P [端口] -h [IP] -u [用户] -p db_name>db_name.sql

例如:

mysqldump -P 3306 -h 192.168.1.224 -u root -p db_name>db_name.sql

=======远程导入:

mysql -h[IP] -P[端口] -u[用户] -p db_name<db_name.sql p=""></db_name.sql>

例如:

mysql -h 192.168.1.224 -P 3306 -u root -p db_name <db_name.sql

附:

远程导出数据库: mysqldump -h[hosname] -u[user_name] -p[password] –default-character-set=[char_set_name] [db_name] >[save_path]

=======导入数据库时一定要注意字符集是否相同,如果字符集不同会报错,重建数据库改为相同的字符集即可

>mysql -h 远程mysql的IP -P mysql端口 -u 用户名 -p密码

如:

mysql -h 192.168.0.2 -P 3306 -u root -p123

远程数据库(192.168.0.2),端口3306,用户名为:root,密码:123


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6115343.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-15
下一篇 2023-03-15

发表评论

登录后才能评论

评论列表(0条)

保存