下面是详细的“Centos7下安装和配置MySQL5.7.20的详细教程”。
1. 安装MySQL
1.1 下载MySQL软件包
从MySQL官方网站下载MySQL 5.7.20的版本压缩包,下载地址为 https://dev.mysql.com/downloads/mysql/5.7.html 。
建议下载“Generic Linux (Architecture Independent), Compressed TAR Archive”版本,该版本可在绝大多数Linux发行版下使用。
1.2 解压MySQL软件包
下载后解压缩MySQL压缩包到指定目录,例如:
tar -zxvf mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
解压后将得到一个名为mysql-5.7.20-linux-glibc2.12-x86_64
的文件夹。
1.3 创建MySQL数据目录和日志文件
MySQL需要一个数据目录和几个日志文件来工作。在安装前,需要创建这些必要的目录,例如:
mkdir -p /data/mysql/data
mkdir -p /usr/local/mysql/log
touch /usr/local/mysql/log/mysql_error.log
1.4 创建MySQL用户和用户组
创建MySQL用户和用户组,例如:
groupadd mysql
useradd -g mysql mysql
1.5 初始化MySQL
在解压后的MySQL目录下,进行初始化操作,例如:
cd /usr/local/mysql-5.7.20-linux-glibc2.12-x86_64
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql-5.7.20-linux-glibc2.12-x86_64 --datadir=/data/mysql/data
这个过程会生成一个随机密码,该密码可以在日志文件/usr/local/mysql/log/mysql_error.log
中查看。
1.6 启动MySQL
通过命令启动MySQL服务,例如:
./bin/mysqld_safe --user=mysql &
1.7 设置MySQL密码
MySQL初始化完成后,需要修改超级管理员root
的密码,例如:
./bin/mysql -uroot -p
Enter password:
接着执行以下SQL语句来设置密码:
UPDATE mysql.user SET Password=PASSWORD('newpassword') WHERE User='root';
FLUSH PRIVILEGES;
其中newpassword
为新密码,可根据实际情况修改。
至此,MySQL安装和初始化完成。
2. 配置MySQL
2.1 配置MySQL字符集
打开MySQL配置文件/etc/my.cnf
,将[mysqld]
和[client]
两个段下的default-character-set
参数设置为utf8mb4
,例如:
[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
[client]
default-character-set=utf8mb4
保存并退出,重启MySQL服务。
示例:
sudo vi /etc/my.cnf # 进入vi编辑器
# 在[mysqld]和[client]下添加如上内容
:wq # 保存并退出
sudo systemctl restart mysqld # 重启MySQL服务
2.2 配置MySQL远程连接
默认情况下,MySQL只允许本地连接。若需要进行远程连接,则需要在MySQL配置文件中/etc/my.cnf
添加以下内容:
[mysqld]
bind-address=0.0.0.0
在MySQL服务中启用远程访问,可以使用以下SQL语句:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
FLUSH PRIVILEGES;
其中password
为对应的root
用户的密码。
示例:
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
# 在[mysqld]段下添加 bind-address=0.0.0.0
:wq # 保存并退出
sudo mysql -uroot -p
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'newpassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
至此,MySQL的配置完成。
示例
示例1:创建一个新用户并授予全部权限
GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
FLUSH PRIVILEGES;
其中newuser
为要新建的用户名,password
为该用户的密码。
示例2:创建一个新的数据库
登录MySQL后执行以下SQL语句来创建一个新的数据库:
CREATE DATABASE newdatabase;
其中newdatabase
为数据库的名称。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Centos7下安装和配置MySQL5.7.20的详细教程 - Python技术站