centos 7 安装 mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz

本文提供了一个详细的指南,指导用户如何通过下载、解压、建立软链接、创建用户、安装和初始化MySQL数据库的过程。包括了解决可能遇到的错误提示,如安装依赖包libaio和初始化密码等关键步骤。

1.下载和解压mysql数据库

 

wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz

(32位的下载  wget 'http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.16-linux-glibc2.5-i686.tar.gz')

sudo tar -zxvf mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz
sudo cp -r mysql-5.7.11-linux-glibc2.5-x86_64 /usr/local/
cd /usr/local 
sudo mv mysql-5.7.11-linux-glibc2.5-x86_64/ mysql-5.7.11


2.建立软链接
sudo ln -s mysql-5.7.11 mysql


3.创建mysql用户和修改软件的权限(系统的默认配置指定了操作系统必须以mysql用户来运行mysqld进程,所以要创建mysql用户并确保其有相关权限)
   sudo -s
   useradd -r -M -s /sbin/nologin mysql
   chown -R mysql.mysql  /usr/local/mysql-5.7.11
   chown -R mysql.mysql /usr/local/mysql
   chgrp -R mysql /usr/local/mysql-5.7.11


4.安装和初始化数据库


   cd /usr/local/mysql/

   bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/            --必须在mysql根目录安装mysql,否则出错

(有可能会会报错/usr/local/mysql/bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory  这个时候yum install libaio即可

或者执行bin/mysqld –initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --defaults-file=/etc/my.cnf

)

   sudo rm /etc/my.cnf
   cp -a ./support-files/my-default.cnf  /etc/my.cnf
   sudo rm /etc/init.d/mysqld
   cp -a ./support-files/mysql.server  /etc/init.d/mysqld


   cd bin/
   /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf  &
   mysql   (此时如果出现ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock',请检查my.cnf中socket = /var/lib/mysql/mysql.sock行是否被注释)
   ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)  看第5步


   /etc/init.d/mysqld restart
   Shutting down MySQL..                                      [  OK  ]
   Starting MySQL...                                          [  OK  ]


  #开机启动
  chkconfig --level 35 mysqld on


5.初始化密码


mysql5.7会生成一个初始化密码,而在之前的版本首次登陆不需要登录。


shell> cat /root/.mysql_secret 
***
mysql -uroot -p 
Enter password: ***
ERROR 1862 (HY000): Your password has expired. To log in you must change it using a client that supports expired passwords.


kill mysql pid
/usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf --skip-grant-tables &
mysql
mysql> select user,host,password_expired from mysql.user;
+-----------+-----------+------------------+
| user      | host      | password_expired |
+-----------+-----------+------------------+
| root      | localhost | Y                |
| mysql.sys | localhost | N                |
+-----------+-----------+------------------+
2 rows in set (0.00 sec)


mysql> update mysql.user set password_expired='N' where user='root';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0


mysql> update mysql.user set authentication_string=password('root') where user='root' and Host = 'localhost';
Query OK, 0 rows affected, 1 warning (0.00 sec)
Rows matched: 1  Changed: 0  Warnings: 1


mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)


mysql> exit




mysql -hlocalhost -uroot -proot


哈 大功告成!!

解压:将下载的zip包解压到你想要放置的位置,我的是:E:\study\mysql-5.7.15-winx64 新建配置文件my.ini:在E:\study\mysql-5.7.15-winx64路径下有一个my-default.ini文件,该文件是mysql默认的配置文件。我们可以复制一份,并改名为my.ini。打开该文件,在里面添加:skip-grant-tables( 用于跳过密码认证) 安装mysql: 以管理员权限打开cmd,然后进入E:\study\mysql-5.7.15-winx64\bin文件夹输入以下命令:mysqld --initialize (用于初始化mysqlMySQL会帮你自动进行初始化,例如生成data文件夹) 再输入:mysqld install(安装mysql)若安装成功,会提示Service successfully installed 安全模式打开:输入命令:mysqld --skip-grant-tables(跳过认证表),此时光标会跳到下一行一直闪烁。 新窗口启动服务:同样以管理员权限进入bin文件夹,输入命令:mysql -u root -p会提示输入密码,直接回车可以进入。此时就可以成功进入数据库了。 修改密码:输入use mysql;然后更改密码: update user set password=password("123456") where user="root";//旧版本 update user set authentication_string=password("123456") where user="root";//新版本 最后flush privileges;就可以了 重新使用密码登录:先在my.ini配置删除skip-grant-tables,然后在bin文件夹下输入net start mysql(若提示无法启动可能是刚刚的mysql还没有结束,可以打开任务管理器把mysqld.exe关闭),接着输入mysql -u root -p回车,然后输入你刚刚的密码,这里是:123456。可以看到成功登录进去。
### 在 CentOS安装 MySQL 8.0.42 Linux glibc 2.28 x86_64 tar 文件 在 CentOS 系统上安装 MySQL 8.0.42 的二进制分发包,需要按照以下方法进行操作。以下是详细的安装步骤: #### 1. 下载并解压 MySQL 二进制分发包 首先,确保已经下载了 MySQL 8.0.42 的二进制分发包 `mysql-8.0.42-linux-glibc2.28-x86_64.tar.xz`。将其上传到服务器的指定目录(例如 `/opt/software/`),然后执行解压操作: ```bash xz -k mysql-8.0.42-linux-glibc2.28-x86_64.tar.xz tar -xvf mysql-8.0.42-linux-glibc2.28-x86_64.tar -C /usr/local/ ``` 解压后,将文件夹重命名为 `mysql`,以便于后续配置[^1]。 #### 2. 创建 MySQL 用户和组 为了安全性和权限管理,创建一个专门用于运行 MySQL 的用户和组: ```bash groupadd mysql useradd -r -g mysql -s /bin/false mysql ``` #### 3. 设置目录权限 将解压后的 MySQL 目录的所有权设置为 `mysql` 用户和组: ```bash chown -R mysql:mysql /usr/local/mysql ``` #### 4. 初始化 MySQL 数据目录 进入 MySQL 的 `bin` 目录,初始化数据目录,并生成初始密码: ```bash cd /usr/local/mysql/bin ./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data ``` 初始化完成后,系统会输出一个临时密码,记录下来以备后续登录使用[^4]。 #### 5. 配置 MySQL 环境变量 为了方便使用 MySQL 命令,可以将 MySQL 的 `bin` 目录添加到系统的环境变量中: ```bash echo 'export PATH=$PATH:/usr/local/mysql/bin' >> /etc/profile source /etc/profile ``` #### 6. 配置 MySQL 配置文件 创建或编辑 MySQL 的配置文件 `/etc/my.cnf`,添加以下内容: ```ini [mysqld] basedir = /usr/local/mysql datadir = /usr/local/mysql/data socket = /usr/local/mysql/mysql.sock port = 3306 character-set-server=utf8mb4 collation-server=utf8mb4_general_ci ``` 确保 `datadir` 和 `socket` 路径与实际路径一致[^4]。 #### 7. 启动 MySQL 服务 将 MySQL 的启动脚本复制到系统的服务目录中,并启动服务: ```bash cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql systemctl start mysql ``` #### 8. 修改初始密码 首次登录 MySQL 时,需要使用初始化过程中生成的临时密码。登录后,修改密码以增强安全性: ```bash mysql -u root -p ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码'; ``` #### 9. 开机自启设置 如果希望 MySQL 在系统启动时自动运行,可以启用开机自启: ```bash chkconfig --add mysql chkconfig mysql on ``` ### 注意事项 - 确保系统已安装必要的依赖库,例如 `glibc` 版本需满足要求。 - 如果在初始化或启动过程中遇到权限问题,检查 `datadir` 的属主是否正确设置为 `mysql` 用户[^4]。 ```python # 示例:验证 MySQL 是否正常运行 ps aux | grep mysqld ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值