【前言】
第一次在Ubuntu上面搭建JDK1.7 + Tomcat + MySQL,部署项目时候出现了各种问题,其中一个就是Ubuntu默认安装的MySQL是5.5,版本比较低,不支持datetime和CURRENT_TIMESTAMP,折腾了很久,最终安装这个文章安装上了MySQL。遇到的问题稍后整理。
1、安装 mysql
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install libaio1
--不要使用下面语句装
(apt-get install mysql-server mysql-client自动安装会装上5.5)
sudo groupadd mysql
sudo useradd -r -g mysql mysql
cd /usr/local/src
sudo chmod +x mysql-server_5.7.10-1ubuntu14.04_amd64.deb-bundle.tar
tar -xf mysql-server_5.7.10-1ubuntu14.04_amd64.deb-bundle.tar
ps:会解压出以下文件
libmysqlclient20_5.7.10-1ubuntu14.04_amd64.deb
libmysqlclient-dev_5.7.10-1ubuntu14.04_amd64.deb
libmysqld-dev_5.7.10-1ubuntu14.04_amd64.deb
mysql-community-client_5.7.10-1ubuntu14.04_amd64.deb
mysql-community-server_5.7.10-1ubuntu14.04_amd64.deb
mysql-community-source_5.7.10-1ubuntu14.04_amd64.deb
mysql-client_5.7.10-1ubuntu14.04_amd64.deb
mysql-community-test_5.7.10-1ubuntu14.04_amd64.deb
mysql-common_5.7.10-1ubuntu14.04_amd64.deb
mysql-server_5.7.10-1ubuntu14.04_amd64.deb
mysql-community_5.7.10-1ubuntu14.04_amd64.changes
mysql-testsuite_5.7.10-1ubuntu14.04_amd64.deb
更新设置到最新系统:
sudo apt-get update
sudo apt-get upgrade
apt-get install libaio1
然后分别安装以下的包:
sudo dpkg -i mysql-common_5.7.10-1ubuntu14.04_amd64.deb
sudo dpkg-preconfigure mysql-community-server_5.7.10-1ubuntu14.04_amd64.deb
此步需要输入数据的root密码
sudo dpkg -i libmysqlclient20_5.7.10-1ubuntu14.04_amd64.deb
sudo dpkg -i libmysqlclient-dev_5.7.10-1ubuntu14.04_amd64.deb
sudo dpkg -i libmysqld-dev_5.7.10-1ubuntu14.04_amd64.deb
sudo dpkg -i mysql-client_5.7.10-1ubuntu14.04_amd64.deb
sudo dpkg -i mysql-community-client_5.7.10-1ubuntu14.04_amd64.deb
sudo dpkg -i mysql-common_5.7.10-1ubuntu14.04_amd64.deb
sudo apt-get -f install
此步为了安装依赖包 libmecab2
sudo dpkg -i mysql-community-server_5.7.10-1ubuntu14.04_amd64.deb
sudo dpkg -i mysql-server_5.7.10-1ubuntu14.04_amd64.deb
这时数据安装完成,并自动启动
查看mysql安装的路径和依赖:
whereis mysql
mysql: /usr/bin/mysql /etc/mysql /usr/lib/mysql /usr/include/mysql /usr/share/mysql /usr/share/man/man1/mysql.1.gz
这时你会发现 mysql以服务形式自启动
这时候在 本机可以通过 mysql -r root -p 登录了
2、开启远程访问访问
默认情况下远程访问会出现 Can’t connect to MySQL server on ‘192.168.10.18′ ( 10061) 错误
是因为,mysql的默认配置为了增强安全性,禁止了非本机的访问,在ubuntu中是这样,debian中也是。禁止的方式以前是在my.cnf中有一句
skip-network
现在则变成了:
# Instead of skip-networking the default is now to listen only on # localhost which is more compatible and is not less secure. bind-address = 127.0.0.1
就是只监听本机地址。所以,如果要开放局域网内的访问,需要注释掉这一句,或者改成:
bind-address = 0.0.0.0
就行了
# vi /etc/mysql/my.cnf
修改
bind-address = 127.0.0.1 为 bind-address = 0.0.0.0
修改完成后重启MySQL服务
# sudo /etc/init.d/mysql restart
这样改完3306端口就开始监听了,但是MYSQL的权限还没有打开ROOT远程登陆
Mysql默认是不允许远程连接的,因为有很大的安全隐患。
需要手动增加可以远程访问数据库的用户。
方法一、本地登入mysql,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,将"localhost"改为"%"
#mysql -u root -proot
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
mysql>FLUSH PRIVILEGES;
修改完这些就可以远程访问了。
3、mysql数据库重启命令
启动:sudo /etc/init.d/mysql start
停止:sudo /etc/init.d/mysql stop
重启:sudo /etc/init.d/mysql restart