< 返回技术文档列表

基于 Ubuntu 安装 MySQL数据库、编码的设置和开机自启动设置

发布时间:2021-01-12 22:52:09

本部分主要详情:基于 Ubuntu18.04 安装 MySQL5.7 数据库(还可以源码包安装,但是复杂,分清重点工作)、编码的设置、端口号的修改和开机自启动设置,主要使用通过配置文件 /etc/mysql/mysql.conf.d/mysqld.cnf 进行配置,需要其它配置时,可以阅读 官方说明文档

mac 安装 Mysql

  1. 参考地址

下载安装包

  1. 下载地址

    • 官方下载地址

    • 官方说明文档

  2. 步骤一

    • 如图,使用 APT 的仓库(还有 YUM 的仓库)

      Mysql下载地址1.jpg
  3. 步骤二

    • 查看软件包包含 MySQL 的版本,以及点击下载

      mysql下载地址2.jpg
  4. 步骤三

    • 获取 MySQL 的 setup 包,或者者获取此包的下载地址,使用 curl/wget 命令下载 软件包下载地址

      mysql下载地址3.jpg
  5. 下载软件包

    • 执行 wget https://dev.mysql.com/get/mysql-apt-config_0.8.15-1_all.deb ,下载到当前地址

使用 MySQL 的 setup 包,选择 MySQL 的版本及配置

  1. 安装 MySQL 的 setup 包

    • 执行 sudo dpkg -i mysql-apt-config_0.8.15-1_all.deb
  2. 选择 MySQL 的版本

    • 设置版本选择

      mysql软件包设置.jpg
    • 选择 5.7 版本

      mysq版本设置.jpg
    • 确定 MySQL 的版本设置

      mysql设置确定.jpg
  3. 设置 MySQL 的密码

    • 输入密码,以及确认密码

      mysql密码设置.jpg

安装 MySQL

  1. 升级源

    • 执行 sudo apt update
  2. 安装 MySQL

    • 执行 sudo apt-get install mysql-server
      shen@shen-Ubuntu:~$ sudo apt-get install mysql-server正在读取软件包列表... 完成正在分析软件包的依赖关系树 正在读取状态信息... 完成 下列软件包是自动安装的并且现在不需要了: linux-headers-4.15.0-96 linux-headers-4.15.0-96-generic linux-image-4.15.0-96-generic linux-modules-4.15.0-96-generic linux-modules-extra-4.15.0-96-generic使用'sudo apt autoremove'来卸载它(它们)。将会同时安装下列软件: libaio1 libmecab2 mysql-client mysql-community-client mysql-community-server下列【新】软件包将被安装: libaio1 libmecab2 mysql-client mysql-community-client mysql-community-server mysql-server更新了 0 个软件包,新安装了 6 个软件包,要卸载 0 个软件包,有 1 个软件包未被更新。需要下载 51.1 MB 的归档。解压缩后会消耗 314 MB 的额外空间。您希望继续执行吗? [Y/n] y
  3. 查看 MySQL 状态

    • 执行 systemctl status mysql

       shen@shen-Ubuntu:~$ systemctl status mysql● mysql.service - MySQL Community Server Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: en Active: active (running) since Tue 2020-05-26 11:02:03 CST; 1min 18s ago Process: 1062 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysql Process: 944 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exite Main PID: 1068 (mysqld) Tasks: 27 (limit: 2234) CGroup: /system.slice/mysql.service └─1068 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld​5月 26 11:02:00 shen-Ubuntu systemd[1]: Starting MySQL Community Server...5月 26 11:02:03 shen-Ubuntu systemd[1]: Started MySQL Community Server...
    • 状态 Active: active (running) since Tue 2020-05-26 11:02:03 CST; 1min 18s ago

  4. Mysql 的普通命令

    • 开启服务 systemctl start mysql

    • 关闭服务 systemctl stop mysql

    • 重启服务 systemctl restart mysql

    • 连接 MySQL 服务

      1. 官方给出命令

        mysql --host=localhost --user=myname --password=password mydbmysql -h localhost -u myname -ppassword mydb
      2. 一般连接命令(本机连接,端口号 3306)

        • mysql -u root -p

设置编码格式及端口号

说明:MySQL 的配置文件位置 /etc/mysql/mysql.conf.d/mysqld.cnf

  1. 查看数据库的编码格式

    • 连接服务 mysql -u root -p123

    • 查看 MySQL 的编码格式 show variables like 'character%';

      mysql> show variables like 'character%';+--------------------------+----------------------------+| Variable_name            | Value                      |+--------------------------+----------------------------+| character_set_client     | utf8                       || character_set_connection | utf8                       || character_set_database   | latin1                     || character_set_filesystem | binary                     || character_set_results    | utf8                       || character_set_server     | latin1                     || character_set_system     | utf8                       || character_sets_dir       | /usr/share/mysql/charsets/ |+--------------------------+----------------------------+8 rows in set (0.01 sec)
    • 将编码格式为 latin1 设置为 utf8 。这里只有 character_set_servercharacter_set_database 编码为 latin1 ,而 database 编码跟随 server 编码,所以修改 server 编码就可(在配置文件中修改)。

  2. 修改配置文件

    • MySQL 的配置文件位置 /etc/mysql/mysql.conf.d/mysqld.cnf

    • 配置文件内容

      29 [mysqld]30 pid-file    = /var/run/mysqld/mysqld.pid31 socket      = /var/run/mysqld/mysqld.sock32 datadir     = /var/lib/mysql      # 数据库数据存放位置33 log-error   = /var/log/mysql/error.log34 # By default we only accept connections from localhost35 bind-address    = 127.0.0.136 # Disabling symbolic-links is recommended to prevent assorted security risks37 symbolic-links=0
    • 向配置文件增加内容,要在服务器启动时选择字符集和排序规则 。官方参考地址

      [mysqld]                      # 指定选项character-set-server=utf8       # 服务器编码collation-server=utf8_general_ci   # 排序规则
    • 假如用户端 character_set_client 的编码 latian1 ,增加内容。官方参考地址

      [client]default-character-set=utf8
  3. 查看端口号(默认端口号为 3306)

    • 执行 show variables like "port";
      mysql> show variables like "port";+---------------+-------+| Variable_name | Value |+---------------+-------+| port          | 3307  |+---------------+-------+1 row in set (0.00 sec)
  4. 修改端口号

    • 增加内容
      [client]port=3307

MySQL 开机自启动设置

说明:参考地址

  1. 使用 systemd 管理 MySQL 服务

    • 禁止开机自启

      sudo systemctl disable mysql
    • 开启开机自启

       sudo systemctl enable mysql
  2. 使用 systemd 管理服务,前提是使用 APT 安装的 MySQL


/template/Home/Zkeys/PC/Static