1
2
#安装MySQL服务器端
~ sudo apt-get install mysql-server
  • 安装过程会弹出提示框,输入 root 用户的密码
  • 安装完成后,MySQL 服务器会自动启动

检查 MySQL 服务器程序状态:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 检查MySQL服务器系统进程
~ ps -aux|grep mysql
mysql 3205 2.0 0.5 549896 44092 ? Ssl 20:10 0:00 /usr/sbin/mysqld
conan 3360 0.0 0.0 11064 928 pts/0 S+ 20:10 0:00 grep --color=auto mysql

# 检查MySQL服务器占用端口
~ netstat -nlt|grep 3306
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN

# 通过启动命令检查MySQL服务器状态
~ sudo /etc/init.d/mysql status
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service mysql status

Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the status(8) utility, e.g. status mysql
mysql start/running, process 3205

# 通过系统服务命令检查MySQL服务器状态
~ service mysql status
mysql start/running, process 3205

命令行访问 MySQL

安装 MySQL 服务器,会自动地一起安装 MySQL 命令行客户端程序,使用用户名和密码登录服务器:

1
2
3
4
5
~$ mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 20
Server version: 5.7.12-0ubuntu1 (Ubuntu)

MySQL 的一些简单的命令操作:

1
2
3
4
5
6
7
8
9
10
11
# 查看所有的数据库
mysql> show databases;

# 切换到information_schema库
mysql> use information_schema

# 查看information_schema库中所有的表
mysql> show tables;

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

修改 MySQL 服务器的配置

  1. 将字符编码设置为 UTF-8

默认情况下,MySQL 的字符集是 latin1,因此在存储中文的时候,会出现乱码的情况,所以我们需要把字符集统一改成 UTF-8。

修改配置文件 my.cnf:

1
2
3
4
5
6
7
8
9
10
~ sudo vi /etc/mysql/my.cnf

#在[client]标签下,增加客户端的字符编码
[client]
default-character-set=utf8

#在[mysqld]标签下,增加服务器端的字符编码
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
  1. 让 MySQL 服务器被远程访问

默认情况下,MySQL 服务器不允许远程访问,只允许本机访问,所以我们需要设置打开远程访问的功能。

  • 方法 1

    修改配置文件 my.cnf:

    1
    2
    3
    4
    5
    ~ sudo vi /etc/mysql/my.cnf
    ~ sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf //mysql5.7.17

    #注释bind-address
    #bind-address = 127.0.0.1
  • 方法 2

    1. 将 3306 端口加入防火墙(可不操作)
    1
    2
    3
    /sbin/iptables -I INPUT -p tcp --dport 3306-j ACCEPT  #添加端口3306
    /etc/rc.d/init.d/iptables save #保存设置
    /etc/rc.d/init.d/iptables status #查看防火墙状态
    1. 编辑 root 用户 host 权限
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    mysql -u root -ppassword    //进入mysql控制台

    mysql>use mysql;

    mysql>update user set host = '%' where user = 'root'; //这个命令执行错误时可略过

    mysql>flush privileges;

    mysql>select host, user from user; //检查‘%’ 是否插入到数据库中

    mysql>quit

    修改后,别忘记重启 MySQL 服务器:

1
2
3
4
~$ sudo /etc/init.d/mysql restart
or
~$ sudo /etc/init.d/mysql stop
~$ sudo /etc/init.d/mysql start

卸载 MySQL

1
2
3
4
5
6
7
8
9
10
#卸载
~ sudo apt autoremove --purge mysql-server-5.7

#删除卸载MySQL的数据文件
sudo rm -r /var/lib/mysql
sudo rm -r /var/lib/mysql-files
sudo rm -r /var/lib/mysql-keyring

#删除MySQL的配置文件
sudo rm -r /etc/mysql