1. 安装

  • 查看apt list中MySQL版本信息

  1. apt list | grep mysql-server

Ubuntu MySQL安装、卸载以及远程连接 - 图1

  • 安装mysql
  1. # 会提示让你输入密码(两次)
  2. sudo apt-get install -y mysql-server
  • 操作MySQL服务
  1. #启动
  2. sudo service mysql start
  3. #停止
  4. sudo service mysql stop
  5. #重启
  6. sudo service mysql restart

2. 卸载

  • dpkg --list|grep mysql 查看自己的mysql有哪些依赖

Ubuntu MySQL安装、卸载以及远程连接 - 图2

  1. # 逐个卸载
  2. sudo apt-get remove mysql-common
  3. sudo apt-get autoremove --purge mysql-server-5.7
  4. #再用dpkg --list|grep mysql查看,还剩什么就卸载什么
  5. #最后清楚残留数据:
  6. dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P

一定要卸载干净,不然重新安装会不成功

3. 远程连接

  1. # 登录MySQL
  2. mysql -uroot -p
  3. show databases;
  4. use mysql
  5. select host from user where user='root';
  6. # Host设置为通配符%。
  7. update user set host = '%' where user ='root';
  • 修改配置文件
  1. sudo /etc/mysql/mysql.conf.d/mysqld.cnf
  2. # 将bind_address=127.0.0.1注释掉.
  3. # 并添加一行
  4. bind_address=0.0.0.0
  5. # 然后重启服务
  6. /etc/init.d/mysql restart

Ubuntu MySQL安装、卸载以及远程连接 - 图3

  • 修改配置文件设置数据写入格式utf-8

  1. #打开配置文件
  2. vi /et/mysql/my.cnf
  1. 将下面的加入配置
  1. [client]
  2. default_character_set=utf8
  3. [mysql]
  4. default_character_set=utf8
  5. [mysqld]
  6. character_set_server=utf8

重启mysql,重启mysql,重启mysql

  • 确保防火墙允许 3306 端口开启
  1. 1. 开启防火墙 PS:某些情况下 Ubuntu 可能默认的防火墙没有开启,这样的话就不用关心防火墙造成的影响,但是云服务器在生产环境下,我们为了安全通常是开启防火墙的,这时候我们需要知晓该如何配置】
  2. `sudo ufw enable/disable` # 开启或者关闭防火墙
  3. # 更多操作大家可以使用 ufw --help 查看
  4. # 添加允许规则
  5. > sudo ufw allow 3306/tcp
  6. # 查看已添加规则
  7. sudo ufw status
  8. # debian 系列的防火墙软件为 ufw, Ubuntu 是基于 debian 的,Centos 属于红帽系列,防火墙软件不是 ufw,具体可以自行搜素哦

4. 无法登录:’root’@’localhost’

ubuntu下,ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: yes)的解决方案

1.命令行输入:sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf

在[mysqld]后面任意一行添加 “skip-grant-tables” 用来跳过密码验证的过程

保存文档并退出 :wq

2.接下来我们需要重启MySQL:/etc/init.d/mysql restart

显示如下:

  1. [....] Restarting mysql (via systemctl): mysql.serviceFailed to add /run/systemd/ask-password to directory watch: No space left on device
  2. . ok

3.重启之后输入 #mysql 即可进入mysql。

4.接下来就是用sql来修改root的密码

  1. mysql> use mysql;
  2. mysql>update mysql.user set authentication_string=password('123456') where user='root';
  3. mysql> flush privileges;
  4. mysql> quit
  5. # 此时root账户就已经重置成新的密码了。
  1. sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
  2. # 编辑mysqld.cnf,去掉刚才添加的内容,然后重启MySQL,
  3. /etc/init.d/mysql restart 大功告成!