服务器安装mysql

  • 1、下载mysql的repo源
$ wget http://repo .mysql .com /mysql-community-release-el7- 5. noarch .rpm
  • 2、安装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的软件包存在:
[root@VM _47_ 56 _centos ~]# sudo yum install mysql-server
已加载插件:fastestmirror, langpacks                  
| 2.5 kB  00:00:00    
mysql-tools-community                                                                  | 2.5 kB  00:00:00    
mysql56-community                                                                         | 2.5 kB  00:00:00    
(1/3): mysql-connectors-community/x86_ 64/primary _db                                       | 8.6 kB  00:00:00    
(2/3): mysql-tools-community/x86_ 64/primary _db                                            |  22 kB  00:00:00    
(3/3): mysql56-community/x86_ 64/primary _db                                                | 109 kB  00:00:01    
Loading mirror speeds from cached hostfile
* base: mirrors.sina.cn
* extras: mirrors.sina.cn
* updates: mirrors.sina.cn
正在解决依赖关系
--> 正在检查事务

省略内容。。。

依赖关系解决
=================================================================================================================
Package                           架构             版本                       源                           大小
=================================================================================================================
正在安装:
mysql-community-libs              x86_64           5.6.27-2.el7               mysql56-community           2.0 M
      替换  mariadb-libs.x86_64 1:5.5.44-1.el7_1
mysql-community-server            x86_64           5.6.27-2.el7               mysql56-community            58 M
为依赖而安装:
mysql-community-client            x86_64           5.6.27-2.el7               mysql56-community            19 M
mysql-community-common            x86_64           5.6.27-2.el7               mysql56-community           256 k
numactl-libs                      x86_64           2.0.9-5.el7_1             

事务概要
=================================================================================================================
安装  2 软件包 (+9 依赖软件包)

总下载量:80 M
Is this ok [y/d/N]: y

下边的安装和其他安装一样,
根据步骤安装就可以了,不过安装完成后,没有密码,需要重置密码。
  • 4、重置密码
重置密码前,首先要登录
$ mysql -u root
1
登录时有可能报这样的错:ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘ (2),原因是/var/lib/mysql的访问权限问题。下面的命令把/var/lib/mysql的拥有者改为当前用户:
$ sudo chown -R mysql:mysql /var/lib/mysql #这里的mysql是用户名(需要设置用户组合用户)
然后,重启服务:
$ service mysqld restart
接下来登录重置密码:
$ mysql -u root
mysql > use mysql ;
mysql > update user set password=password( 'xu827928' ) where user= 'root' ;
mysql > exit ;
  • 5、开放3306端口(可以不用设置)
$ sudo vim /etc/sysconfig/iptables
添加以下内容:
-A INPUT -p tcp -m state -- state NEW -m tcp -- dport 3306 -j ACCEPT
保存后重启防火墙:
$ sudo service iptables restart
这样从其它客户机也可以连接上mysql服务了。
  • 6、修改权限可以使其他机器登录:
mysql > mysql -h localhost -u root  //这样应该可以进入MySQL服务器
mysql > GRANT ALL PRIVILEGES ON * . * TO 'root' @ '%' WITH GRANT OPTION  //赋予任何主机访问数据的权限
mysql > FLUSH PRIVILEGES //修改生效
mysql > EXIT //退出MySQL服务器

使用时遇到的问题

(1)java.sql.SQLException: Access denied for user ‘root’@’localhost’ (using password:YES)
java.sql.SQLException: Access denied for user 'root' @ 'localhost' ( using password: YES)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java: 946 )
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java: 2870 )
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java: 812 )
at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java: 3269 )
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java: 1182 )
问题的场景是:在命令行模式下用户名和密码都是正确的但是就是出现登陆不了授权失败的问题。
解决方法:
进入MySQL命令台: mysql> select user,password,host from mysql.user;

可以看出该表显示的倒数第二行为:
+--------+ ------------------------------------------- +--------------------+
| user   | password                                  | host               |
+--------+-------------------------------------------+--------------------+
| root   |                                           | %                  |

可以看出在root用户下的任何主机是没有password的,因此可以采取两种方式,在远端使用的时候没有密码,显然是不安全的,然后就是为其在远端访问的时候设置密码。步骤如下:
mysql > grant all privileges on * . * to root@ "%" identified by "your password" ;
Query OK, 0 rows affected ( 0.00 sec)

mysql > flush privileges;
Query OK, 0 rows affected ( 0.00 sec)

这相当于是给IP-xxx.xxx.xxx.xxx赋予了所有的权限,包括远程访问权限。 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值