Ubuntu 18.04 安装 MySQL 5.7.29
安装环境
-
Ubuntu 18.04 x64
-
MySQL 5.7.29
-
apt 1.6.12
安装准备
安装准备,比如更新相关依赖包,下载软件包等等!
sudo apt update
安装步骤
详细的安装步骤
1、安装 mysql-client
jiangzl@ubuntu18:~$ sudo apt install mysql-client
2、安装 mysql-server
jiangzl@ubuntu18:~$ sudo apt install mysql-server
apt 可能会有一个询问是否安装的选项,输入 y 并按 "Enter" 键,其余安装都是全自动的,非常简单,等待安装完成即可。
相关配置
此软件必要的或者常用的一些配置信息。
使用 apt 安装的 mysql server 在安装完成后会自动运行程序,但此时切勿急着开始使用,有以下几项基本的设置需要注意
1、设置 root 密码
这个版本的 mysql server 在安装完成后使用在 Linux 的 root 用户环境可以无密码直接登录进 MySQL 的 root 用户,但从更安全的角度来说还是得设置密码更安全。
使用 sudo mysql -u root -p 在命令行执行即可进入 MySQL 的 root 用户命令行
jiangzl@ubuntu18:~$ sudo mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.7.29-0ubuntu0.18.04.1 (Ubuntu)
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
执行如下命令给 MySQL 的 root 用户设置一个密码
mysql> set password=password('change_me');
Query OK, 0 rows affected, 2 warnings (0.01 sec)
将 change_me 改为你要设置的密码,执行。
2、设置字符集
此步骤非常重要,因为安装的 MySQL 的服务端默认使用的是 latin1 的字符集,这对于国内用到中文的情况来说就会有问题了。此项不设置则中文会乱码甚至写入数据库会报错写不进去等情况。
mysql> show variables like '%char%';
+--------------------------+----------------------------+
| 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)
/etc/mysql/mysql.conf.d/mysqld.conf 文件的 [mysqld] 下增加如下两行
character-set-server=utf8
collation-server=utf8_general_ci
3、设置最大连接数
最大连接数默认 150,如果你使用数据库比较频繁,则建议设置大一些。如下示例:max_connections = 1500
4、设置 MySQL 数据目录
/etc/mysql/mysql.conf.d/mysqld.conf 配置文件中可以看到,MySQL 数据目录默认是在 /var/lib/mysql,
[mysqld]
#
# * Basic Settings
#
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
如果你的服务器是通过外挂硬盘的方式,建议更改到外挂的硬盘目录。或者直接将硬盘挂载到 /var/lib/mysql 也行,不然默认情况下大多数服务器的根目录挂载大小都较小。
创建 mysql data 目录
jiangzl@ubuntu18:~$ sudo mkdir -p /data/mysql/datadir
[sudo] password for jiangzl:
更改归属权
jiangzl@ubuntu18:/data/mysql$ cd /data
jiangzl@ubuntu18:/data$ sudo chown -R mysql.mysql mysql
jiangzl@ubuntu18:/data$ ls -lh
total 4.0K
drwxr-xr-x 3 mysql mysql 4.0K 3月 9 03:34 mysql
更改目录访问权
jiangzl@ubuntu18:/data$ sudo chmod -R 700 mysql/
jiangzl@ubuntu18:/data$ ls -lh
total 4.0K
drwx------ 3 mysql mysql 4.0K 3月 9 03:34 mysql
5、配置绑定 IP
默认绑定到 127.0.0.1,这种情况下如果想要从远程来连接是不可能的。这也是 MySQL 采取的一种安全措施。如果你的 MySQL 只在本机使用此项可不设置。如需要远程连接访问,则需要将 127.0.0.1 改为 0.0.0.0
6、配置一个普通用户
不建议使用 root 用户远程访问,MySQL 默认也不允许 root 远程访问。因此,如果需要远程访问,建议设置。
示例:
grant all privileges on testdb.* to 'new_user'@'%' identified by 'change_me';
上面命令表示创建个名叫 new_user 的用户,密码为 change_me,并给这个用户赋予 testdb 数据库下的所有权限,该用户能够从非本机的远程地址登录 MySQL。
注:上面更改 mysqld.cnf 配置文件内容的修改如需要生效,需要重启 mysql 服务。重启命令见下方步骤。
简单运行
使用 apt 安装完成的 MySQL 会直接运行,下方附上 MySQL 服务常用的几条命令。
service mysql start
service mysql stop
service mysql restart
service mysql status
安装验证
1、查看运行进程
root@ubuntu18:~# ps -ef | grep mysql | grep -v grep
999 80950 80924 0 3月14 ? 00:04:03 mysqld
mysql 85103 1 0 3月14 ? 00:04:05 /usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid
2、查看进程状态
root@ubuntu18:~# service mysql status
● mysql.service - MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2020-03-11 13:26:36 CST; 6 days ago
Main PID: 85103 (mysqld)
Tasks: 30 (limit: 19126)
CGroup: /system.slice/mysql.service
└─85103 /usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid
3月 11 13:26:36 ubuntu18 systemd[1]: Starting MySQL Community Server...
3月 11 13:26:36 ubuntu18 systemd[1]: Started MySQL Community Server.
近期评论