##一 安装mysql

1
2
3
apt install mysql-server
apt isntall mysql-client
apt install libmysqlclient-dev

##二 配置mysql

  1. 支持远程登录

    • 编辑 配置文件:

      1
      vi /etc/mysql/mysql.conf.d/mysqld.cnf
    • 注释掉bind-address = 127.0.0.1:

      1
      2
      3
      4
      5
      6
      7
      #
      # Instead of skip-networking the default is now to listen only on
      # localhost which is more compatible and is not less secure.
      # bind-address = 127.0.0.1 // 注释掉这里
      #
      # * Fine Tuning
      #
    1. 支持中文字符以及emoji表情
    • 编辑配置文件
      1
      vi /etc/mysql/my.cnf
    • 添加一些参数
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      [client]
      default-character-set=utf8mb4

      [mysqld]
      character-set-client-handshake = FALSE
      character-set-server = utf8mb4
      collation-server = utf8mb4_unicode_ci
      init_connect=’SET NAMES utf8mb4'

      [mysql]
      default-character-set=utf8mb4
  2. 重启mysql

    1
    service mysql restart

##三 创建数据库, 表

  1. 创建数据库

    • 登录mysql

      1
      mysql -u root -p
    • 输入密码(在安装mysql的时候会有提示让你输入默认密码的)

    • 创建一个数据库

      1
      create database db_test; #db_test 为数据库名
    • 进入db_test数据库

      1
      use db_test;
  2. 创建表

    • 创建一个名为t_test_2的表,

      1
      create table if not exists t_test_2 (id int unsigned, text varchar(100));
    • 插入一个带有emoji的中文字符

      1
      INSERT INTO t_test_2 (text) VALUES ('中文👀');
  3. 查看表

    1
    SELECT * FROM t_test_2;
    • 这是后会发现id为null, 因为 在之前创建表的时候并没有让id自增, 这时候可以这样解决

      1
      ALTER TABLE t_test_2 MODIFY id int unsigned auto_increment primary key;
    • 也可以在一开始创建表的时候加上auto_increment primary key;

      1
      create table if not exists t_test_2 (id int unsigned auto_increment primary key, text varchar(100));

四 解决中文乱码

  1. 登陆 mysql

    1
    mysql -u root -p
  2. 修改database的字符集:

    ALTER DATABASE 数据库名 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;

  3. 修改table的字符集:

    ALTER TABLE 表名 CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

  4. 修改column的字符集:

    ALTER TABLE 表名 CHANGE 字段名 字段名 该字段原来的数据类型 CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;