腾讯云CentOS6.5下安装mysql,并配置好远程访问等权限,途中遇到的问题
2017-05-09 11:19
821 查看
第一种
下载mysql的repo源
此处的密码,改成你自己的数据库管理员密码(你可以为你的数据库配置多个不同权限的用户,此处只涉及到root用户)。
grant all privileges on *.* to 'root'@'%' identified by '密码' with grant option;同理,密码改为自己的,此处是设置以root用户名以及对应密码访问的用户可以远程登录到该数据库上(当然你也可以在此处限制其可以访问的IP)
第二种
mysql 安装 qiuyang 个人多次使用正常
下载mysql的repo源
下载mysql的repo源
$ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm[/code]安装mysql-community-release-el7-5.noarch.rpm包$ sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm
安装这个包后,会获得两个mysql的yum repo源:
/etc/yum.repos.d/mysql-community.repo和/etc/yum.repos.d/mysql-community-source.repo。
3、安装mysql$ sudo yum install mysql-server
进入数据库mysql -u root
在数据库命令操作模式下,修改数据库管理员密码以及设置远程访问(这些都是mysql命令)。
use mysql;
update user set password=password('密码') where user='root';
flush privileges;
此处的密码,改成你自己的数据库管理员密码(你可以为你的数据库配置多个不同权限的用户,此处只涉及到root用户)。
grant all privileges on *.* to 'root'@'%' identified by '密码' with grant option;同理,密码改为自己的,此处是设置以root用户名以及对应密码访问的用户可以远程登录到该数据库上(当然你也可以在此处限制其可以访问的IP)
第二种
mysql 安装 qiuyang 个人多次使用正常
下载mysql的repo源
$ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm[/code]安装mysql-community-release-el7-5.noarch.rpm包$ sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm
安装这个包后,会获得两个mysql的yum repo源:
/etc/yum.repos.d/mysql-community.repo和/etc/yum.repos.d/mysql-community-source.repo。
3、安装mysql$ sudo yum install mysql-server
1.使用yum命令安装mysql[root@bogon ~]# yum -y install mysql-server
2.设置开机启动[root@bogon ~]# chkconfig mysqld on
3.启动MySQL服务[root@bogon ~]# service mysqld start
4.设置MySQL的root用户设置密码[root@bogon ~]# mysql -u root mysql> select user,host,password from mysql.user; +------+-----------+----------+ | user | host | password | +------+-----------+----------+ | root | localhost | | | root | bogon | | | root | 127.0.0.1 | | | | localhost | | | | bogon | | +------+-----------+----------+ 5 rows in set (0.01 sec)
查询用户的密码,都为空,用下面的命令设置root的密码为rootmysql> set password for root@localhost=password('root'); mysql> exit
6.创建mysql新用户test_usermysql> create user 'test_user'@'%' identified by 'test_user'; Query OK, 0 rows affected (0.00 sec)
7.给新用户test_user授权,让他可以从外部登陆和本地登陆
注意:@左边是用户名,右边是域名、IP和%,表示可以访问mysql的域名和IP,%表示外部任何地址都能访问。mysql> grant all privileges on *.* to 'test_user'@'localhost' identified by 'test_user'; Query OK, 0 rows affected (0.00 sec) mysql> grant all privileges on *.* to 'test_user'@'%' identified by 'test_user'; Query OK, 0 rows affected (0.00 sec) mysql> select user,host,password from mysql.user; +----------+-----------+-------------------------------------------+ | user | host | password | +----------+-----------+-------------------------------------------+ | root | localhost | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B | | root | bogon | | | root | 127.0.0.1 | | | | localhost | | | | bogon | | | test_user | % | *3046CF87132BBD4FDDF06F321C6859074843B7D3 | | test_user | localhost | *3046CF87132BBD4FDDF06F321C6859074843B7D3 | +----------+-----------+------------------------------------ 11dc5 -------+ 7 rows in set (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.01 sec)
8.查看mysql5.1的默认存储引擎
从下面的执行结果可以看出,mysql的默认引擎是MyISAM,这个引擎是不支持事务的。mysql> show engines; +------------+---------+------------------------------------------------------------+--------------+------+------------+ | Engine | Support | Comment | Transactions | XA | Savepoints | +------------+---------+------------------------------------------------------------+--------------+------+------------+ | MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO | | CSV | YES | CSV storage engine | NO | NO | NO | | MyISAM | DEFAULT | Default engine as of MySQL 3.23 with great performance | NO | NO | NO | | InnoDB | YES | Supports transactions, row-level locking, and foreign keys | YES | YES | YES | | MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO | +------------+---------+------------------------------------------------------------+--------------+------+------------+ 5 rows in set (0.00 sec)
也可以以下面的方式查看mysql> show variables like 'storage_engine'; +----------------+--------+ | Variable_name | Value | +----------------+--------+ | storage_engine | MyISAM | +----------------+--------+ 1 row in set (0.00 sec)
9.修改mysql的默认引擎为InnoDB
9.1 停止mysqlmysql> exit; [root@bogon ~]# service mysqld stop
9.2 修改/etc/my.cnf
[mysqld] 后加入default-storage-engine=InnoDB
加入后my.cnf的内容为:[root@bogon etc]# more my.cnf [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 default-storage-engine=InnoDB [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid
9.3 启动mysql[root@bogon etc]# service mysqld start Starting mysqld: [ OK ]
9.4 查看mysql默认存储引擎[root@bogon etc]# mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.1.73 Source distribution Copyright (c) 2000, 2013, 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> show variables like 'storage_engine'; +----------------+--------+ | Variable_name | Value | +----------------+--------+ | storage_engine | InnoDB | +----------------+--------+ 1 row in set (0.00 sec)
10.CentOS6.5开放mysql端口3306
CentOS6.5默认是不开放端口的,如果要让外部的系统访问CentOS6.5上的mysql,必须开放mysql的端口3306
10.1 修改/etc/sysconfig/iptables
添加下面一行-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
修改后iptables中的内容是[root@bogon etc]# more /etc/sysconfig/iptables # Firewall configuration written by system-config-firewall # Manual customization of this file is not recommended. *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT #添加配置项 -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 11211 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT -A INPUT -j REJECT --reject-with icmp-host-prohibited -A FORWARD -j REJECT --reject-with icmp-host-prohibited COMMIT
11.重启防火墙[root@bogon etc]# service iptables restart
这样就可以从外部访问mysql了。
至此,mysql在CentOS6.5上的安装过程、用户创建、外部访问的步骤全部完成。
—————————分割线—————————————
上面都是从别人发表的文章中截取的~~~作者要是看到了莫怪,我只是想收藏,怕源文被删就看不到了,谢谢你们这些摘树的前人。
其实这样在云主机上设置mysql并访问是OK的。适用于一切的centos6.5,亦或者其他linux系统。万变不离其宗,系统的改变,无非是命令行语言的改变,其宗旨是不会变的。
LZ第一次用云主机,想试试在本地远程访问一下,结果发现,咦,连接出错了~~~,后来试了很多方法,还是没有能成功。
刚开始,用Navicat连接远程数据库,出现如下错误:应该就是远程不允许访问了。
远程拒绝访问的情况可能有两种:
一、mysql设置中,不允许远程访问.也即你使用的mysql登陆账号没有远程访问的权限。比如root账号,在我们之前看到的use权限列表中,root就没有远程访问的权限。现在来设置root的远程访问权限。
方法一:实现远程连接(授权法)
mysql> use mysql;
Database changed
mysql> grant all privileges on *.* to root@'%' identified by "root";
mysql> select host,user,password from user;
+--------------+------+-------------------------------------------+
| host | user | password |
+--------------+------+-------------------------------------------+
| localhost | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
| 192.168.1.1 | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
| % | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
+--------------+------+-------------------------------------------+
3 rows in set (0.00 sec)
这样机器就可以以用户名root密码root远程访问该机器上的MySql.
方法二:实现远程连接(改表法)
将host字段的值改为%就表示在任何客户端机器上能以root用户登录到mysql服务器,建议在开发时设为%。
mysql> use mysql;
Database changed
mysql> update user set host = '%' where user = 'root';
这时,root将权限改为ALL PRIVILEGES;
这样在远端就可以通过root用户访问Mysql.
二、确定服务器上的防火墙没有阻止 3306 端口。也即服务器上面有没有开放mysql的端口~(我的就是这个问题)
看到上面的第10条中,在端口管理iptables中添加3306端口的开放配置,这样算是硬件的配置。然后看看你的云主机设置里面有没有开放对应的端口,或者说是不是开放了所有端口~我的云主机如下图:
腾讯云主机中,貌似是没有开放所有端口的,所以需要我们自己在这里稍微设置一下,勾选“默认安全组放通全部端口”选项,“确定”。基本上,我们能做的都做了,要不然就是配置文件出错了,再返回去看看。设置好了以后,我去试了一下连接,结果成功了~
哈哈,好高兴~以后遇到这些问题就知道在哪些地方找问题了~~~
相关文章推荐
- 服务器安装mysql后配置远程访问权限
- 腾讯云CentOS7.0使用yum安装mysql及使用遇到的问题
- 腾讯云CentOS7.0使用yum安装mysql及使用遇到的问题
- (转)详解腾讯云CentOS7.0使用yum安装mysql及使用遇到的问题
- centos 6.5下安装、配置并启动SSH远程访问
- 在Linux(CentOS 6.2 64位操作系统)下安装MySQL数据并开启远程访问权限
- 腾讯云服务器CentOS7.0安装JDK+Tomcat+MySQL详细步骤以及自己遇到的一些问题
- 在centos6.5下安装MySQL遇到的些许问题
- CentOS一键完成MySQL安装、配置密码、修改ip访问权限
- 解决mysql的问题安装卸载以及配置外部访问权限的各种问题总结
- centos 6.5下安装、配置并启动SSH远程访问
- centos6.5下安装mysql,远程访问
- CentOS安装mysql并配置远程访问
- 腾讯云ubuntu安装Mysql并配置远程访问
- 腾讯云CentOS7.0使用yum安装mysql及使用遇到的问题
- Centos6.5下rsync文件同步安装及配置当中遇到的问题及解决方法
- 遇到一个问题“安装程序没有访问目录C:\Inetpub\wwwroot的权限”
- 阿里云512M主机(CentOS 6.5)编译安装MySQL 5.6.21遇到的问题
- CentOS6.5下MySQL无法远程连接的问题