在Linux上安装mysql

环境:windows7

虚拟机:Oracle VMVirtualBox

Linux: ubuntukylin-14.04.1-amd64.iso

mysql:5.7.12

 

一.环境准备

step1:安装虚拟机

step2:修改宿主机BIOS配置,详细步骤见文章:http://blog.csdn.net/lanonola/article/details/51337234

step3:在虚拟机上安装ubuntu系统。内存设置为4G,硬盘设置为100G,其余均按默认,一直点选下一步。直到系统安装成功。

    

. 安装mysql

step1:给root设置密码

输入sudo passwd root 回车,输入两次密码后,修改完成

step2:切换到root用户

输入su  root回车,输入密码后,切换成功

step3:开始安装mysql

参照官网文档:http://dev.mysql.com/doc/mysql-apt-repo-quick-guide/en/#apt-repo-fresh-install

输入 sudo apt-get install  mysql-server回车,进行安装。系统会提示安装所需磁盘空间,输入"y",安装程序会自动完成。

安装完毕后,系统会创建一个数据库超级用户“root”, 设置密码。

但是默认安装的是5.5版本。

我想要使用最新版本的json属性,该版本是5.7,所以需要执行下面操作

1,在官网获取MySQL的APT仓库
wget http://repo.mysql.com//mysql-apt-config_0.6.0-1_all.deb
2,安装
dpkg -i mysql-apt-config_0.6.0-1_all.deb

回车后出现如下界面:选择最新版本5.7

选择5.7后,选择apply

3,更新下
apt-get update

4,移除原先安装mysql (可能这个时候用upgrade就可以直接升级了,我没有试)

apt-get remove mysql-server

apt-get remove mysql-client

apt-get autoremove

5,安装新的

sudo apt-get install mysql-server

OK,5.7版本的mysql安装成功!

 

常用命令:

一、 启动

1、使用 service 启动:service mysql start
2、使用 mysqld 脚本启动:/etc/inint.d/mysqlstart
3、使用 safe_mysqld 启动:safe_mysql&

二、停止
1、使用 service 启动:service mysqlstop
2、使用 mysqld 脚本启动:/etc/inint.d/mysqlstop
3、mysqladmin shutdown

三、重启
1、使用 service 启动:service mysqlrestart
2、使用 mysqld 脚本启动:/etc/inint.d/mysqlrestart

 

四、查看服务状态

sudo service mysql status


四、在宿主机上连数据库

在本机上安装navicat,连接数据库。


1.报错:2003-can`t connect to mysql server on......

ping的通,telnet 3306不通

因为没有授予远程主机访问本地mysql权限的原因,需修改配置文件

vi /etc/mysql/my.cnf 

将bind-address= 127.0.0.1这一行注释掉,即在该行前加#。


2.报错:1130-Host'192.16.41.121' isnot allowed to connect to this MySql server

两机器间相互ping的通

telnet 192.16.41.121 3306 也是通的

 

解决方法:

是帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"

mysql -u root-pvmwaremysql>use mysql;

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

mysql>selecthost, user from user;


在虚拟机本机输入命令:mysql -uroot -p 输入密码后,登录成功

select host,user from user;  查看权限

3.新建表,执行查询报错:


Table 'performance_schema.session_status' doesn't exist.

 最终在stackoverflw中找到答案,主要产生原因,以前的data是mysql5.5中的.后来装的 mysql是5.7的.之间版本不一致导致.

 1. 执行:mysql_upgrade -u root -p --force

2. 重启mysql

 

 


 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐