Ubuntu 16.04 安装 mysql 5.7.27

Ubuntu 16.04 安装 mysql 5.7.27

经验文章nimo972025-03-04 11:28:218A+A-

由于默认安装时候的源的地址都是国外地址,要么是被防火墙拦截,要么是速度太慢,要么是有些安装包在上面根本就找不到.

建议使用源码安装

1:下载 省略

2:解压 省略

3:执行升级并安装一些依赖 apt-get upgrade回车

稍等几分钟(大约10分钟)后,即可完成升级

4:libaio 如果系统上尚不存在 该库,则可能需要安装该库

apt-get install libaio1

5:使用以下命令预配置MySQL服务器软件包

dpkg-preconfigure mysql-community-server_*.deb

要求您为MySQL安装的root用户提供密码

6:对于MySQL服务器的基本安装,请安装数据库公用文件包,客户端包,客户端元包,服务器包和服务器元包(按此顺序);您可以使用一个命令来做到这一点

dpkg -i mysql-{common,community-client,client,community-server,server}_*.deb

7:如果dpkg警告您未满足依赖项 ,则可以使用apt-get修复它们

apt-get -f install

8:简单测试MySQL是否安装成功

执行命令:mysql -V

执行命令:mysql -uroot -p

9:遇到ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using passwor:yes)问题

一般这个错误是由密码错误引起,解决的办法自然就是重置密码。

假设我们使用的是root账户。

进入到终端当中,敲入 mysql -u root -p 命令然后回车,当需要输入密码时,直接按enter键,便可以不用密码登录到数据库当中

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码';

mysql> flush privileges;

mysql> quit;

到这里root账户就已经重置成新的密码了

ubuntu的升级机制:

现在Ubuntu启动,关闭服务不能用/etc/rc*.d/init.d/{Service} {start|stop|restart}了,需要用service {Service} {start|stop|restart}。

原因是Ubuntu10.04后引入了upstart来管理自启动服务。旧的系统管理被称作SysV,它通过在代表各个run level的目录里建立脚本来控制服务的自动启动。

比如,/etc/rc0.d目录里以S开头的脚本会被运行在runlevel 0。在这种方式下,如果要屏蔽一个服务,需要把S开头的那个更名为以K开头。而所以在rc*.d下的脚本都链接到/etc/init.d目录里。而Upstart采用了完全不同的方式。它要求所有的启动脚本,其实是配置文件,建立在/etc/init目录下,每个服务一个文件,里面定义脚本启动与关闭的运行级别、条件、事件,等。可以看得出,Upstart要比SysV高明得多,因为SysV启动是线性、顺序的,一个S20的服务必须要等待S19启动完成才能启动,如果一个启动要花很多时间,那么后面的服务就算完全无关,也必须要等。

而在Upstart下,服务的启动基于事件,而且是并行的,只要事件发生,服务可以并发启动。这种方式无疑要优越得多,因为它可以充分利用现在计算机多核的特点,大大减少启动所需的时间。

解决办法:升级系统:sudo apt-get upgrade

之后: service mysql start 启动

service mysql restart 重新启动

service mysql stop 停止

10: 查看数据库的字符集编码 mysql> show variables like '%char%';

vim /etc/mysql/mysql.conf.d/mysqld.cnf

在 [mysqld] 域下加上:

character-set-server=utf8

不要写成utf-8了否则MySQL无法重新启动

再重新启动 MySQL 服务即可

现在设置mysql允许远程访问,首先编辑文件
/etc/mysql/mysql.conf.d/mysqld.cnf:编辑配置文件就输入命令

sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf

进入配置文件后


1: 注释掉bind-address = 127.0.0.1

mysql环境下执行授权命令(授权给远程任何电脑登录数据库)

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的密码' WITH GRANT OPTION;

刷新配置信息

flush privileges;

2:退出mysql服务

然后输入exit命令退出mysql服务

执行如下命令重启mysql:

service mysql restart

最后就可以通过我们电脑的管理数据库可视化软件登录上我们的数据库了。其他的操作就是跟我们之前操作本地数据库一样了。

点击这里复制本文地址 以上内容由nimo97整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

尼墨宝库 © All Rights Reserved.  蜀ICP备2024111239号-7