MySQL 目前的最新版本是 5.7.11,在 Linux 下提供特定发行版安装包(如 .rpm)以及二进制通用版安装包(.tar.gz)。一般情况下,很多项目都倾向于采用二进制通用安装包形式来进行安装配置,自定义非常方便。但在安装过程中发现,其实官方提供的安装说明文件太过简单,而且里面的参数还有问题,依照执行后,mysql 服务启动报错,查找了一些资料并反复试验后,自己总结出一套切实可行的安装配置流程,具体如下:
1、下载 MySQL for Linux Generic 二进制版本安装包(.tar.gz),这里以 5.7.11 版本为例。
2、我一般习惯于将 MySQL 安装到 /opt 目录下,所以我将 MySQL 安装包文件复制到 /opt 目录下,切换为 root 账号后执行以下命令:
# tar -zxvf mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz # ln -s mysql-5.7.11-linux-glibc2.5-x86_64 mysql # cd mysql
建立一个 mysql 的软连接,是为了以后方便配置与操作。
3、5.7.11 版本的通用二进制安装包经解压后得到的 MySQL 目录,内部并未包含数据文件存放的目录,所以需要单独再创建一个子目录用于存放数据文件,比如取名为 data,在第二步命令后(确保在 /opt/mysql 目录下),继续执行如下命令:
# groupadd mysql # useradd -r -g mysql -s /bin/false mysql # mkdir data # chown -R root:root . # bin/mysqld --initialize --user=mysql --basedir=/opt/mysql --datadir=/opt/mysql/data # bin/mysql_ssl_rsa_setup --datadir=/opt/mysql/data
这里特别说明一下,根据官方文档说法,从 5.7.6 版本开始,MySQL 初始化使用 mysqld --initialize 命令,不再使用 mysql_install_db 命令了。但是官方文档给出的 mysqld --initialize 命令并没有给出 --basedir 以及 --datadir 参数,因为它默认使用 /etc/my.cnf 配置文件。有些 Linux 发行版在安装过程中可能会默认生成这个 mysql 配置文件并保存在 /etc 目录下,而默认配置文件中的 basedir、datadir 是被注释的,没有实际内容,这样 mysqld 实际上还是不知道当前的 basedir、datadir 具体是哪个目录。所以这里就通过命令行参数指定我们的自定义目录。包括 mysql_ssl_rsa_setup 命令也要指定 datadir 目录,因为数据库需要的密钥文件也都和数据文件保存在一起,都位于 datadir 目录内。
4、上述工作完成后,先不慌启动数据库服务,这时还要创建 MySQL 服务的配置文件 my.cnf。这个文件可以从 /opt/mysql/support-files 子目录下找到一个叫 my-default.cnf 的配置样例文件,然后复制一个出来,改名为 my.cnf 并放到 /opt/mysql 下即可。根据 MySQL 的规则,它的配置文件必须以 my.cnf 命名,读取的顺序是先尝试读取 /etc/my.cnf,如果不存在则再读取 basedir 目录下的 my.cnf,如果系统环境变量没有 basedir,则尝试读取服务启动所在当前目录下的 my.cnf,这里就是 /opt/mysql/my.cnf 这种情况,如果还是不存在,则读取当前用户家目录下的 .mysql/my.cnf(需要看官方文档确认一下,记不清了)。所以,我们这里只需保证在 /opt/mysql 下有一个 my.cnf,修改其中的内容为如下:
basedir = /opt/mysql datadir = /opt/mysql/data log-error = /var/log/mysql-error.log
其余的不变。根据官方文档,log-error 用来指定服务启动后的运行信息日志文件路径,运行信息包括 Notice、Error 等类型的日志。
5、配置文件修改保存好后,就可以启动服务了,确保当前目录为 /opt/mysql,然后运行以下命令:
# bin/msyqld_safe --user=mysql &
这时服务就可以正常启动了。你还可以通过命令 netstat -na -t 查看 MySQL 服务的端口 3306 是否已经处在监听状态,如果是,则表示服务启动正常。当然,你也可以查看日志文件的内容来确定,我们这里因为在已在配置文件中指定日志文件为 /var/log/mysql-error.log,所以查看该文件即可。
6、在本机登录 MySQL 服务,从 5.7.10 版本开始不允许 root 空密码登录了。其实在执行 mysqld --initialize 后系统就会为 root 生成一个初始化密码,并在屏幕标准输出时显示出来,这个要记住!用这个密码第一次登录后,才能再修改密码,这里假定系统生成的初始化密码为 xxxxxx,命令如下:
# bin/mysql --user=root --password=xxxxxx
这样就可以登录 MySQL 服务器了。
7、登录以后,系统要求必须修改 root 账号的密码,MySQL 命令如下:
mysql> set password=password('1234');
这样就可以把 root 账号改为 1234 了。
8、在 Linux 下为了安全,默认是不允许 MySQL 服务器本机以外的机器访问 MySQL 数据库服务的,因此需要重新授权 root 账号。方便其他机器远程访问 MySQL 服务器,MySQL 命令如下:
mysql> grant all privileges on *.* to root@'%' identified by '1234'; mysql> flush privileges;
这样就可以允许从其他机器用 root 账号远程登录 MySQL 服务器了,可以用下面的 MySQL 命令来验证一下:
mysql> use mysql; mysql> select host,user from user; +-----------+-----------+ | host | user | +-----------+-----------+ | % | root | | localhost | mysql.sys | | localhost | root | +-----------+-----------+ 3 rows in set (0.00 sec)
证明系统表 user 中已经增加了一条关于 root 远程登录的记录。
9、补充一下如何停止 mysql 服务的命令:
# mysqladmin --user=root --password shutdown
这里 root 是 mysql 数据库的 root,并不是操作系统的账号,这点不要搞混了,该命令会提示输入 mysql root 的密码,正确的话就会停止 mysql 服务了。
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新日志
- 炉石传说11月初最强登顶卡组合集 炉石传说11月初登顶卡组分享
- lol炼金龙魂详细属性是什么 2024炼金龙魂详细属性介绍
- 英雄联盟六个龙魂是哪六个 英雄联盟六个龙魂介绍一览
- 《忆蚀》Subliminal:揭秘后室之谜,路知行献声Weplay文化展
- 初始之部制作人气漫画改编游戏《我家大师兄脑子有坑》参展2024WePlay
- 《异环》「奇点测试」定档11.28 超自然都市轻喜剧即将放送!
- 16层乐队.2024-大快朵颐【摩登天空】【FLAC分轨】
- 群星.1988-电视金曲巡礼【EMI百代】【WAV+CUE】
- 群星.1992-电视金曲巡礼VOL.2【EMI百代】【WAV+CUE】
- 廖昌永《情缘HQ》头版限量[低速原抓WAV+CUE]
- 蔡琴《老歌》头版限量编号MQA-24K金碟[低速原抓WAV+CUE]
- 李嘉《国语转调》3CD[WAV+CUE]
- 谭咏麟《爱的根源 MQA-UHQCD》2022头版限量编号 [WAV+CUE][1G]
- 江洋 《江洋原创琵琶作品专辑》[320K/MP3][118.08MB]
- 江洋 《江洋原创琵琶作品专辑》[FLAC/分轨][228.33MB]