前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Ubuntu下安装MySQL

Ubuntu下安装MySQL

作者头像
墨文
发布2020-02-28 12:39:10
5.6K0
发布2020-02-28 12:39:10
举报
文章被收录于专栏:m0w3nm0w3n

需要搭建一个网站,除了web就是数据库了,而LAMP套件就是“Linux+Apache+Mysql+PHP这四款软件组成了一个可以使网站运行的套装工具软件。

1、MySQL安装

代码语言:javascript
复制
sudo apt-get install mysql-server mysql-client

 输入root用户的密码:123456,回车

输入:

代码语言:javascript
复制
sudo apt install libmysqlclient-dev 

完成了MySQL的安装!

2、测试是否安装成功

代码语言:javascript
复制
sudo netstat -tap | grep mysql 

输入:

代码语言:javascript
复制
mysql -uroot -p

查看数据库:

代码语言:javascript
复制
show databases;

选择mysql数据库:

代码语言:javascript
复制
use mysql;

检查数据库“mysql”的“user”表,看看root对应的host是否设置正确:

代码语言:javascript
复制
select user, host from user;

host是localhost说明是不允许远程访问;需要更改为%表示可远程访问。

其中%的意思是允许所有的ip远程访问,如果需要指定具体的某个ip就写上具体的ip即可

更新用户表:

代码语言:javascript
复制
update user set host = '%' where user = 'root' limit 1;

 强制刷新权限

代码语言:javascript
复制
flush privileges;

3、连接MySQL

我们在Windows7下使用Navicat来连接Ubuntu下的MySQL

使用# sudo ifconfig 获取Ubuntu的ip地址(确保Ubuntu和Windows在同一网段下!)

Ubuntu的ip为192.168.1.127,记住!

Windows下开启Navicat,连接,MySQL,

 输入ip和root的密码,点击测试连接

提示不能够连接到Ubuntu的MySQL,一般连接远程服务器的mysql,如果出现问题,很大问题会出在服务器的端口和授权问题

解决办法:

首先我们通过

①:

代码语言:javascript
复制
netstat -an|grep 3306

来查看mysql默认的端口3306是否开启,允许哪个ip使用,如果你发现,前面有127.0.0.1,就说明,3306端口只能本机ip使用

所以,我们需要

②:打开mysql配置文件

代码语言:javascript
复制
vim /etc/mysql/mysql.conf.d/mysqld.cnf

如果安装成了mariadb,mysql的配置文件在:

代码语言:javascript
复制
vim /etc/mysql/mariadb.conf.d/50-server.cnf

将bind-address = 127.0.0.1 注释掉

③:进入mysql,对远程用户进行授权,

代码语言:javascript
复制
grant all privileges on *.* to 'root'@'%' identified by 'xxxxxx';

这里的root 是你远程登录的用户,xxxxxx是你登录使用的密码,然后可以在mysql数据 表中查看到你这个用户已经被添加到user表中

然后重启mysql:

代码语言:javascript
复制
service mysql restart

或者:

代码语言:javascript
复制
/etc/init.d/mysql stop

/etc/init.d/mysql start

再进入Navicat重新连接测试下,这回Ok!

点击确定,确定。

4、MySQL的操作

登陆数据库:

代码语言:javascript
复制
mysql -u root -p

用户授权:

代码语言:javascript
复制
grant all privileges on *.* to root@"%" identified by "root" with grant option;

第一行命令解释如下,*.*:第一个*代表数据库名;第二个*代表表名。这里的意思是所有数据库里的所有表都授权给用户。root:授予root账号。

“%”:表示授权的用户IP可以指定,这里代表任意的IP地址都能访问MySQL数据库。“password”:分配账号对应的密码,这里密码自己替换成你的mysql root帐号密码。

刷新权限信息:

代码语言:javascript
复制
flush privileges;

启动MySQL服务:

代码语言:javascript
复制
 sudo start mysql

停止MySQL服务: 

代码语言:javascript
复制
sudo stop mysql

修改 MySQL 的管理员密码:

代码语言:javascript
复制
sudo mysqladmin -u root password newpassword

设置远程访问(正常情况下,mysql占用的3306端口只是在IP 127.0.0.1上监听,拒绝了其他IP的访问(通过netstat可以查看到)。取消本地监

听需要修改 my.cnf 文件:):

代码语言:javascript
复制
sudo vim /etc/mysql/my.cnf

bind-address = 127.0.0.1 //找到此内容并且注释

MySQL安装后的目录结构分析(此结构只针对于使用apt-get install 在线安装情况):

数据库存放目录: /var/lib/mysql/

相关配置文件存放目录: /usr/share/mysql

相关命令存放目录: /usr/bin(mysqladmin mysqldump等命令)

启动脚步存放目录: /etc/rc.d/init.d/

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-08-03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档