一、Ubuntu安装配置Mysql5.7
(1)下载安装Mysql
sudo apt-get update
sudo apt-get install mysql-server
(2)配置MySql
密码强度这里,如果想设置root的密码为“1234”,就要选择“0”。
(3)测试MySql
如果服务没有运行,可以启动它
systemctl介绍:使用systemctl命令启动和关闭mysql
#服务管理启动:sudo service mysql start
#服务启动:sudo systemctl mysql start
#停止:sudo service mysql stop
#服务状态:sudo service mysql status
#重启Mysql:sudo service mysql restart
#连接数据库:mysql -h 127.0.0.1 -P 3306 -uroot -p123456 #-h为远程IP,-P为端口号,-u为用户名,-p为密码
#退出连接:quit
#测试SQL:show databases;
#登录MySql数据库:mysql -u root -p
连接数据库:
二、基本配置
(1)设置Mysql编码
Ubuntu14.04LTS 看这里 ubuntu14.04下mysql5.5支持utf-8编码格式配置文件修改步骤
以下是Ubuntu16.04 LTS 配置步骤
设置编码前,先查看一下数据库编码,通过apt-get安装的Mysql默认编码如下图所示。可以看到database和server默认编码不是utf8,如果数据库中有中文,将会出现乱码。因此,需要设置编码方式为“utf8”,这里主要修改两个配置文件:
/etc/mysql/mysql.conf.d/mysqld.cnf
/etc/mysql/conf.d/mysql.cnf
首先,输入命令“quit”退出MySQL数据库,然后修改文件 /etc/mysql/mysql.conf.d/mysqld.cnf
sudo gedit /etc/mysql/mysql.conf.d/mysqld.cnf
sudo gedit /etc/mysql/conf.d/mysql.cnf
以上,修改完成后,重启mysql。
sudo service mysql restart
(2)远程访问及用户设置
1. 开启远程访问
注释掉 bind-address
2.删除匿名用户
一开始安装的时候,没有删除匿名用户,选择了“N”。首先root登陆进入,选择mysql数据库。
#查看所有数据库: show databases;
#选择Mysql数据库:use mysql;
#查看mysql数据库所有表:show tables;
#查看mysql数据库所有用户:selct * from user;
3.允许用户远程访问
#授权给root用户
grant all privileges on *.* to 'root'@'%' identified by '1234' with grant option;
注:可以把%替换为主机的IP,指定该用户访问特定主机。该SQL语句将会在user表中增加一条记录。
#刷新权限
flush privileges;
#退出数据库
quit;
#重启mysql服务
sudo service mysql restart
以下,重新设置密码策略以及设置用户root权限
MySQL执行sql文件:
目的:将Mysql数据库移植到Ubuntu系统下。
1.首先,在/mnt/shared文件夹下有一个数据库备份文件daily_report.sql,这里文件位置可以任意。之所以放/mnt/shared文件夹下,是因为这个文件夹是我主机跟虚拟机的共享文件夹。
2.在执行语句source之前,需要在Ubuntu中的Mysql中创建数据库daily_report;
3.创建数据库成功后,执行source命令。
除了这种方式外,也可以借助Navicat Premium的导入导出功能。主要是它的“转储SQL文件”和“运行SQL文件”这两个功能。
转:mysql使用Navicat 导出和导入数据库
source /mnt/shared/数据库/daily_report.sql
下图是Mysql5.7安装后的目录:
下图是Mysql5.5.60的安装目录:
编码设置主要是修改文件/etc/mysql/my.cnf
见ubuntu14.04下mysql5.5支持utf-8编码格式配置文件修改步骤
远程访问设置也是要注释文件/etc/mysql/my.cnf 的bind-address,同时要给root用户授权,步骤跟Mysql5.7一致,如下。
#授权给root用户
grant all privileges on *.* to 'root'@'%' identified by '1234' with grant option;
注:可以把%替换为主机的IP,指定该用户访问特定主机。该SQL语句将会在user表中增加一条记录。
#刷新权限
flush privileges;
#退出数据库
quit;
#重启mysql服务
sudo service mysql restart
注:
MySQL在Windows下都不区分大小写。
MySQL在Linux下,数据库名和表名严格区分大小写。