共计 2363 个字符,预计需要花费 6 分钟才能阅读完成。
说明:
从 MySQL5.7.4 起,以 RPM 包的方式安装后的 MySQL 的部署,默认是安全的,并且有这些特点:
1. 在大多数情况下,你只需要安装 MySQL-server 和 MySQL-client 安装包就可以安装上一个标准功能的 MySQL。对于一个标准安装来说,其他的安装包不是必需的。
2. MySQL 的安装程序会创建一个单独的 root 账户:’root’@’localhost’,并自动为这个账户生成一个初始的随机密码,并将此密码标志为已过期。
3. 对于 MySQL5.7.6 和更高的版本来说,初始的随机 root 密码是被写入错误日志的。
对于 MySQL5.7.4 和 5.7.5 版本来说,密码是被写入以 HOME 环境变量命名的目录中的.mysql_secret 文件中的。mysql_secret 文件是以只允许创建它的系统用户访问的 600 模式而创建的。
版本差异的产生,是因为自 5.7.6 版本起,数据目录和 root 账户由 mysqld –initialize 来初始化,5.7.6 以前的版本由 mysql_install_db 来初始化)。
4. 不创建 MySQL 匿名账户。
不创建测试数据库。
作为上述操作所产生的结果,在安装完成后你需要去启动服务,以 root 身份,用初始的随机密码来进行连接,并且在连接后选择一个新的密码。在完成这些操作之前,root 用户无法做其他的任何事情
————————————————————————————————
Linux 系统:CentOS 6.6
1. 创建一个名为 mysql 且没有登录权限的用户和一个名为 mysql 的用户组
groupadd -r mysql
useradd -r -g mysql -s /bin/false -M mysql
2. 卸载掉原有 mysql
# 查看该操作系统上是否已经安装了 mysql 数据库
rpm -qa | grep mysql
# 通过 rpm -e 命令 或者 rpm -e –nodeps 命令卸载
rpm -e mysql // 普通删除模式
rpm -e –nodeps mysql // 强力删除模式 (包括依赖包)
# 如果没有安装,只是有包,则 remove
yum -y remove mysql-libs
# 查看卸载是否成功
rpm -qa | grep mysql
3. 下载 mysql 安装包
http://dev.mysql.com/downloads/mysql/
4. 解压至指定目录
tar xvf mysql-5.7.9-1.el6.x86_64.rpm-bundle.rar -C /usr/local/src
5. 使用 rpm 软件包安装 mysql
# 安装依赖包
rpm -ivh mysql-community-common-5.7.9-1.el6.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.9-1.el6.x86_64.rpm
# 安装客户端
rpm -ivh mysql-community-client-5.7.9-1.el6.x86_64.rpm
# 安装服务端
rpm -ivh mysql-community-server-5.7.9-1.el6.x86_64.rpm
6. 根据 /etc/my.cnf 创建相应的文件,并授权
mkdir -p /var/run/mysql
mkdir -p /var/log/mysql
chown -R mysql:mysql /var/log/mysql
chown -R mysql:mysql /var/run/mysql
注:/etc/my.cnf 中没有 basedir 路径,需要添加
basedir=/usr/local/mysql
7. 初始化数据库
cd /usr/bin
# 会为 root 账户生成一个随机的初始密码 (密码位置:/var/log/mysqld.log)
# 使用命令:mysql -u root -p,然后输入密码来登录 MySQL
mysqld –initialize –user=mysql
# 不会为 root 账户生成一个随机的初始密码
# 使用命令:mysql -u root –skip-password 直接登录 MySQL
mysqld –initialize-insecure –user=mysql
注:初始化时,mysqld 服务会检查数据目录是否存在:
如果数据目录不存在,mysqld 则会创建它。
如果数据目录存在,且不是空目录(即包含有文件或子目录),mysqld 会显示一条错误信息并中止:
[ERROR] –initialize specified but the data
directory exists. Aborting.
解决方案:将数据目录重命名后,重新再初始化一次 mv /var/lib/mysql /var/lib/mysql.bak8.
8. 配置 mysql 服务开机自动启动
# 检查自启动项列表中没有 mysqld 这个,如果没有就添加 mysqld:
chkconfig –list mysqld
chkconfig –add mysqld
# 设置开机启动
chkconfig mysqld on
8. 启动 mysql
# 启动 mysqld 服务
service mysqld start
# 检查 mysqld 是否已经启动
service mysqld status
9. 修改 mysql 用户密码 (初始 root 密码文件在 /var/log/mysqld.log)
mysql -uroot-p
mysql> alter user ‘root’@’localhost’ identified by ‘Mysql.123’;
10. 已 root 用户身份登录
mysql -uroot -pMysql.123
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-02/140203.htm