Ubuntu下安装MySQL
需要搭建一个网站,除了web就是数据库了,而LAMP套件就是“Linux+Apache+Mysql+PHP这四款软件组成了一个可以使网站运行的套装工具软件。
1、MySQL安装
sudo apt-get install mysql-server mysql-client
输入root用户的密码:123456,回车
输入:
sudo apt install libmysqlclient-dev
完成了MySQL的安装!
2、测试是否安装成功
sudo netstat -tap | grep mysql
输入:
mysql -uroot -p
查看数据库:
show databases;
选择mysql数据库:
use mysql;
检查数据库“mysql”的“user”表,看看root对应的host是否设置正确:
select user, host from user;
host是localhost说明是不允许远程访问;需要更改为%表示可远程访问。
其中%的意思是允许所有的ip远程访问,如果需要指定具体的某个ip就写上具体的ip即可
更新用户表:
update user set host = '%' where user = 'root' limit 1;
强制刷新权限
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,如果出现问题,很大问题会出在服务器的端口和授权问题
解决办法:
首先我们通过
①:
netstat -an|grep 3306
来查看mysql默认的端口3306是否开启,允许哪个ip使用,如果你发现,前面有127.0.0.1,就说明,3306端口只能本机ip使用
所以,我们需要
②:打开mysql配置文件
vim /etc/mysql/mysql.conf.d/mysqld.cnf
如果安装成了mariadb,mysql的配置文件在:
vim /etc/mysql/mariadb.conf.d/50-server.cnf
将bind-address = 127.0.0.1 注释掉
③:进入mysql,对远程用户进行授权,
grant all privileges on *.* to 'root'@'%' identified by 'xxxxxx';
这里的root 是你远程登录的用户,xxxxxx是你登录使用的密码,然后可以在mysql数据 表中查看到你这个用户已经被添加到user表中
然后重启mysql:
service mysql restart
或者:
/etc/init.d/mysql stop
/etc/init.d/mysql start
再进入Navicat重新连接测试下,这回Ok!
点击确定,确定。
4、MySQL的操作
登陆数据库:
mysql -u root -p
用户授权:
grant all privileges on *.* to root@"%" identified by "root" with grant option;
第一行命令解释如下,*.*:第一个*代表数据库名;第二个*代表表名。这里的意思是所有数据库里的所有表都授权给用户。root:授予root账号。
“%”:表示授权的用户IP可以指定,这里代表任意的IP地址都能访问MySQL数据库。“password”:分配账号对应的密码,这里密码自己替换成你的mysql root帐号密码。
刷新权限信息:
flush privileges;
启动MySQL服务:
sudo start mysql
停止MySQL服务:
sudo stop mysql
修改 MySQL 的管理员密码:
sudo mysqladmin -u root password newpassword
设置远程访问(正常情况下,mysql占用的3306端口只是在IP 127.0.0.1上监听,拒绝了其他IP的访问(通过netstat可以查看到)。取消本地监
听需要修改 my.cnf 文件:):
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/