数据库2:超详细的初始化MySQL方法 --图文版_mysql初始化
下载并安装数据库见前一篇文章《数据库1:超详细的下载并安装合适的MySQL版本 --图文版》
1.设置存放数据的目录(可自由选择)
mkdir -p /data/01/data
2.创建专门管理MySQL的用户
useradd mysql
3.改变目录所有者为mysql
chown -R mysql. /data/01/data
4.非安全模式初始化数据库
mysqld --initialize-insecure --user=mysql --basedir=/usr/mysql --datadir=/data/01/data
各字段含义如下
-
mysqld: 核心程序命令。MySQL 的守护进程程序
-
--initialize-insecure: 初始化核心参数(不安全的初始化)。这个选项告诉 MySQL 初始化过程中使用不安全的方式生成 root 密码,通常在测试或开发环境中使用,不会设置安全的密码策略。
-
--user=mysql: 数据库管理用户。指定 MySQL 进程在运行时使用的用户,这里是用户mysql管理数据
-
--basedir=/usr/mysql: 核心程序目录。指定 MySQL 的安装目录根路径,对这个目录下的程序做初始化
-
--datadir=/data/01/data: 数据存储目录。指定 MySQL 存储数据的目录,是数据库实际存储数据的位置,初始化后生成的数据存储在这里
无视警告即可,或者处理也行,没有error就行
5.编写配置文件
vim /etc/my.cnf
模板如下:
#客户端的配置信息
[mysql]
socket=/tmp/mysql.sock
#服务端的配置信息
[mysqld]
user=mysql
basedir=/usr/mysql
datadir=/data/01/data
socket=/tmp/mysql.sock
6.启动运行数据库服务并验证
因为是二进制安装,所以没有systemctl单元文件,但是可以写一个
6.1查看数据库服务默认启动脚本文件
ls -l /usr/mysql/support-files/mysql.server
6.2复制数据库启动脚本文件到/etc/init.d并命名为mysqld
6.3查看是否有可执行权限
/etc/init.d目录在用于存放系统服务的启动脚本,这些脚本负责管理系统启动时哪些服务要被启动,以及如何停止或重启这些服务
6.4启动数据库
/etc/init.d/mysqld start
6.4.1验证
6.4.2查看进程
6.4.3查看端口
33060端口信息主要用于实现mysqlx协议的通讯过程,利用mysqlx协议可以实现利用mysql-shell功能组件,对数据进行key-value操作,即识别json文件信息,进行远程管理,若要关闭,在配置文件中加入mysqlx=0,然后/etc/init.d/mysqld restart即可
6.5设置开机自启
chkconfig命令控制/etc/init.d下的脚本文件开机自启
6.5.1chkconfig --add mysqld
验证开机自启
chkconfig --list
6.5.2或者可以写入启动命令到/etc/rc.local
echo \"/etc/init.d/mysqld start\" >> /etc/rc.local
6.6 systemctl通过脚本间接启动,此方法无法开机自启
systemctl enable mysqld
systemctl start mysqld
systemctl status mysqld
ll /etc/init.d -d
注意Loaded字段与编写systemctl单元文件启动时的区别
不能多个启动/停止方法混用
7.进入数据库
mysql
7.1设置密码
mysqladmin password \'mysql\'
然后用密码登录
mysql -uroot -pmysql
8.安全模式初始化数据库
先删除之前的非安全模式初始化的数据
rm -rf /data/01/data/
然后安全模式初始化数据库
mysqld --initialize --user=mysql --basedir=/usr/mysql --datadir=/data/01/data
红线出是临时登录密码
9.安全模式初始化数据库后启动并进入数据库
启动后仅是mysql命令无法再登录数据库
/etc/init.d/mysqld start
mysql
需要使用mysql -uroot -p进行root用户的密码登录,密码是之前初始化时系统给出的临时登录密码
临时密码只能用于登录数据库,登录之后需要立即重置密码
10.重置数据库密码
alter user root@\'localhost\' identified by \'123456\';
11.最后退出数据库,再用新密码重新进入数据库
quit
mysql -uroot -p123456
12.后续可以再次修改密码
mysqladmin -uroot -p123456 password \'new123456\'
至此,可以进行操作数据库了
show databases;
不同版本的数据库的各种方法略有不同,本文使用的是8.0.26版本MySQL