本部分主要介绍:基于 Ubuntu18.04 安装 MySQL5.7 数据库(还可以源码包安装,但是复杂,分清重点工作)、编码的设置、端口号的修改和开机自启动设置,主要使用通过配置文件 /etc/mysql/mysql.conf.d/mysqld.cnf
进行配置,需要其它配置时,可以阅读 官方说明文档
mac 安装 Mysql
下载安装包
-
下载地址
-
步骤一
-
如图,使用 APT 的仓库(还有 YUM 的仓库)
-
-
步骤二
-
查看软件包包含 MySQL 的版本,以及点击下载
-
-
步骤三
-
获取 MySQL 的 setup 包,或者获取此包的下载地址,使用
curl/wget
命令下载 软件包下载地址
-
-
下载软件包
- 执行
wget https://dev.mysql.com/get/mysql-apt-config_0.8.15-1_all.deb
,下载到当前地址
- 执行
使用 MySQL 的 setup 包,选择 MySQL 的版本及配置
-
安装 MySQL 的 setup 包
- 执行
sudo dpkg -i mysql-apt-config_0.8.15-1_all.deb
- 执行
-
选择 MySQL 的版本
-
设置版本选择
-
选择 5.7 版本
-
确定 MySQL 的版本设置
-
-
设置 MySQL 的密码
-
输入密码,以及确认密码
-
安装 MySQL
-
更新源
- 执行
sudo apt update
- 执行
-
安装 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
- 执行
-
查看 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
-
-
Mysql 的普通命令
开启服务
systemctl start mysql
关闭服务
systemctl stop mysql
重启服务
systemctl restart mysql
-
连接 MySQL 服务
-
官方给出命令
mysql --host=localhost --user=myname --password=password mydb mysql -h localhost -u myname -ppassword mydb
-
一般连接命令(本机连接,端口号 3306)
mysql -u root -p
-
设置编码格式及端口号
说明:MySQL 的配置文件位置 /etc/mysql/mysql.conf.d/mysqld.cnf
-
查看数据库的编码格式
连接服务
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_server
和character_set_database
编码为latin1
,而database
编码跟随server
编码,所以修改server
编码即可(在配置文件中修改)。
-
修改配置文件
MySQL 的配置文件位置
/etc/mysql/mysql.conf.d/mysqld.cnf
-
配置文件内容
29 [mysqld] 30 pid-file = /var/run/mysqld/mysqld.pid 31 socket = /var/run/mysqld/mysqld.sock 32 datadir = /var/lib/mysql # 数据库数据存放位置 33 log-error = /var/log/mysql/error.log 34 # By default we only accept connections from localhost 35 bind-address = 127.0.0.1 36 # Disabling symbolic-links is recommended to prevent assorted security risks 37 symbolic-links=0
-
向配置文件添加内容,要在服务器启动时选择字符集和排序规则 。官方参考地址
[mysqld] # 指定选项 character-set-server=utf8 # 服务器编码 collation-server=utf8_general_ci # 排序规则
-
如果客户端
character_set_client
的编码latian1
,添加内容。官方参考地址[client] default-character-set=utf8
-
查看端口号(默认端口号为 3306)
- 执行
show variables like "port";
mysql> show variables like "port"; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | port | 3307 | +---------------+-------+ 1 row in set (0.00 sec)
- 执行
-
修改端口号
- 添加内容
[client] port=3307
- 添加内容
MySQL 开机自启动设置
说明:参考地址
-
使用
systemd
管理 MySQL 服务-
禁止开机自启
sudo systemctl disable mysql
-
开启开机自启
sudo systemctl enable mysql
-
使用
systemd
管理服务,前提是使用 APT 安装的 MySQL