MySQL 初始化

本文最后更新于:2024年3月18日 凌晨

MySQL 初始化

Docker

  1. 生成 Docker Volume
1
2
3
4
5
6
7
# 启动临时容器
$ docker run -d -P --name mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0.32
# 将容器中的 mysql 配置文件复制到宿主机中指定路径下
$ mkdir -p ~/DockerVolumes/mysql/conf/
$ docker cp mysql:/etc/my.cnf ~/DockerVolumes/mysql/conf/my.cnf
# 删除临时容器
$ docker rm -f mysql
  1. 生成并启动容器。
1
2
3
4
5
6
7
8
9
10
$ docker run -d \
-p 3306:3306 \
--name mysql \
--hostname mysql \
--privileged=true \
-v ~/DockerVolumes/mysql/conf/my.cnf:/etc/my.cnf \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:8.0.32 \
--character-set-server=utf8mb4 \
--collation-server=utf8mb4_unicode_ci

yum

安装 MySQL YUM 资源库

1
2
$ wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
$ yum localinstall mysql57-community-release-el7-8.noarch.rpm

安装 MySQL 5.7

1
2
3
$ yum install mysql-community-server
# 如果报错The GPG keys listed for the "MySQL 5.7 Community Server" repository are already installed but they are not correct for this package.则输入以下命令
$ rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

启动 MySQL 服务器和 MySQL 的自动启动

1
2
$ systemctl start mysqld.service
$ systemctl enable mysqld.service

初始化密码

  • 由于 MySQL 从 5.7 开始不允许首次安装后使用空密码进行登录,为了加强安全性,系统会随机生成一个密码以供管理员首次登录使用。这个密码记录在 /var/log/mysqld.log 文件中,使用下面的命令可以查看此密码。
1
2
$ cat /var/log/mysqld.log|grep 'A temporary password'
A temporary password is generated for root@localhost: DOqInortw9/<
  • 使用随机生产的密码登录到服务端后,必须马上修改密码,不然会报如下错误:
1
2
mysql> SHOW DATABASE;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
  • 修改密码。
1
2
3
4
5
6
7
8
9
$ mysql -uroot -p
# 修改默认密码策略
mysql> SET GLOBAL validate_password_policy=0;
mysql> SET GLOBAL validate_password_length=1;
# 修改root密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Aliyun123456';
# 添加远程访问用户
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Aliyun123456' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!